Ubuntu HD VDR mittels TechnoTrend S2-6400 - DVB Treiber
Was gibt es zu beachten?
Die TV Karte muss zwingend mit einem S-ATA Stromkabel angeschlossen werden. Auch sollten beide Antennenanschlüsse an die beiden Tuner der TV-Karte angeschlossen werden. Falls Ihr nur einen der beiden Tuner an der TV-Karte nutzen möchtet so muss dies später beim starten des VDR´s berücksichtigt werden.
Prüfen der eingebauten DVB-Karte
Mittels dem unten genannten Befehl kann geprüft werden ob die DVB-Karte vom System erkannt wird. Achtung! Falls die Karte nicht wie unten beschrieben angezeigt wird, gegebenfalls mal den PCIe-Slot wechseln und danach nochmals testen.
lspci -v | grep -i '7160' -A 4
02:00.0 Multimedia controller: Philips Semiconductors SAA7160 (rev 02) Subsystem: Technotrend Systemtechnik GmbH Device 300a Flags: bus master, fast devsel, latency 0, IRQ 10 Memory at f9f00000 (64-bit, non-prefetchable) [size=1M] Capabilities: <access denied>
Downloadverzeichnis erstellen
mkdir -p /data/installfiles/dvb
Firmware einspielen
Firmwaredateien herunterladen
cd /data/installfiles/dvb/ wget http://www.aregel.de/file_download/14/dvb-ttpremium-fpga-01_v1_09.zip wget http://www.aregel.de/file_download/7/dvb-ttpremium-loader-01_v1_03.zip wget http://www.aregel.de/file_download/23/dvb-ttpremium-st7109-01_v0_4_0.zip
Firmwaredateien einspielen
cd /lib/firmware/ sudo unzip /data/installfiles/dvb/dvb-ttpremium-fpga-01_v1_09.zip sudo unzip /data/installfiles/dvb/dvb-ttpremium-loader-01_v1_03.zip sudo unzip /data/installfiles/dvb/dvb-ttpremium-st7109-01_v0_4_0.zip
Firmwaredateien prüfen
Achtung! Dir Firmwaredateien müssen wie unten angezeigt werden.
ls -l /lib/firmware/dvb-ttp*.*
-rw-r--r-- 1 root root 372182 Aug 21 2011 /lib/firmware/dvb-ttpremium-fpga-01.fw -rw-r--r-- 1 root root 15784 Apr 27 2011 /lib/firmware/dvb-ttpremium-loader-01.fw -rw-r--r-- 1 root root 2083425 Mär 2 19:29 /lib/firmware/dvb-ttpremium-st7109-01.fw
Firmwareversion anzeigen lassen
Achtung! Die Firmwareversionen werden erst nach dem Neustart angezeigt.
dmesg |grep SAA716x |grep version SAA716x FF FPGA version 1.09 SAA716x FF loader version 1.03 SAA716x FF firmware version 0.4.0
Was gibt´s neues?
Die Firmwaredateien können hier eingesehen werden:
http://www.aregel.de/
Installation der DVB-Treiber
Mit dieser hier beschriebenen Vorgehensweise werden die vorhandenen DVB-Kernelmodule durch die neuen ersetzt.
DVB-Treiber herunterladen
cd /data/installfiles/dvb/ hg clone http://linuxtv.org/hg/~endriss/media_build_experimental cd media_build_experimental/ make distclean make download make untar cd /data/installfiles/dvb/ tar -czf media_build_experimental-cvs-07082013.tar.gz media_build_experimental/
Was hat sich geändert?
Hier kann das DVB Repository eingesehen werden.
https://bitbucket.org/powARman/v4l-dvb-saa716x/overview http://linuxtv.org/hg/~endriss/media_build_experimental
DVB Treiber vorbereiten und installieren
Die DVB Treiber müssen als Benutzer root vorbereitet und installiert werden. Mit folgendem Befehl wechselt man in den Benutzer root:
sudo su -
DVB Treiber vorbereiten
cd /usr/local/src/ cp -a /data/installfiles/dvb/media_build_experimental . ln -s media_build_experimental/ dvb
Nicht benötigte Treiber Module deaktivieren
cd /usr/local/src/dvb make distclean make menuconfig
Multimedia support -> DVB/ATSC adapters -> < > FireDTV and FloppyDTV (mit der Leertaste das "<M>" abwählen)
Exit -> Exit -> Yes (Konfiguration speichern)
Fehlermeldungen beim Compilieren umgehen
Fehlermeldungen umgeht man, wenn vor der Kompilierung:
cpan Proc::ProcessTable
eingibt.
DVB Treiber installieren
cd /usr/local/src/dvb make && make install init 6
Link auf compiler.h setzen
Achtung! Dieser Link ist wichtig, da sonst der VDR nicht übersetzt werden kann.
cd /usr/local/src/dvb/linux/include/linux sudo ln -s /usr/src/linux-headers-$(uname -r)/include/linux/compiler.h compiler.h
Prüfen der DVB Treiber Installation
Im Modulverzeichnis des Kernels kann das Datum und Uhrzeit der DVB Module betrachtet werden.
Hier sieht man, dass der DVB-Treiber am 15.10.2013 um 22:00 Uhr installiert wurde. Wenn am gleichen Tag das OS installiert wurde, sollte die Uhrzeit betrachtet werden.
cd /lib/modules/$(uname -r)/kernel/drivers/media/pci/ttpci ls -l
-rw-r--r-- 1 root root 50096 Okt 15 22:00 budget-av.ko -rw-r--r-- 1 root root 44680 Okt 15 22:00 budget-ci.ko -rw-r--r-- 1 root root 22352 Okt 15 22:00 budget-core.ko -rw-r--r-- 1 root root 36896 Okt 15 22:00 budget.ko -rw-r--r-- 1 root root 20216 Okt 15 22:00 budget-patch.ko -rw-r--r-- 1 root root 201656 Okt 15 22:00 dvb-ttpci.ko -rw-r--r-- 1 root root 6504 Okt 15 22:00 ttpci-eeprom.ko
Die Treiber Module für die TT S2-6400 finden sich dann hier:
cd /lib/modules/$(uname -r)/kernel/drivers/media/pci/saa716x ls -l
-rw-r--r-- 1 root root 24728 Okt 15 22:00 saa716x_budget.ko -rw-r--r-- 1 root root 117296 Okt 15 22:00 saa716x_core.ko -rw-r--r-- 1 root root 60616 Okt 15 22:00 saa716x_ff.ko -rw-r--r-- 1 root root 25512 Okt 15 22:00 saa716x_hybrid.ko
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /sbin/modprobe
DVB Module manuell laden
Um euch Modulparameter anzeigen zu lassen könnt Ihr folgenden Befehl verwenden:
sudo modinfo saa716x_ff
filename: /lib/modules/3.2.0-35-generic/kernel/drivers/media/pci/saa716x/saa716x_ff.ko license: GPL author: Manu Abraham description: SAA716x FF driver srcversion: 904DE1ED5D6573D4AE01E89 alias: pci:v00001131d00007160sv000013C2sd0000300Abc*sc*i* alias: pci:v00001131d00007160sv000013C2sd00003009bc*sc*i* depends: dvb-core,saa716x_core vermagic: 3.2.0-35-generic SMP mod_unload modversions parm: verbose:verbose startup messages, default is 1 (yes) (int) parm: int_type:force Interrupt Handler type: 0=INT-A, 1=MSI, 2=MSI-X. default INT-A mode (int) parm: int_count_enable:enable counting of interrupts (int) parm: video_capture:capture digital video coming from STi7109: 0=off, 1=one-shot. default off (int)
Hier werden die DVB-Treibermodule geladen:
sudo modprobe saa716x_ff
Nachdem die DVB-Treibermodule geladen wurden, sollte der Aufruf 'dmesg' folgendes Anzeigen:
dmesg
[ 2804.317930] ACPI: PCI Interrupt Link [LN0A] enabled at IRQ 18 [ 2804.317986] SAA716x FF 0000:02:00.0: PCI INT A -> Link[LN0A] -> GSI 18 (level, low) -> IRQ 18 [ 2804.318009] SAA716x FF 0000:02:00.0: setting latency timer to 64 [ 2805.450111] SAA716x FF FPGA version 1.09 [ 2805.515714] SAA716x FF loader version 1.03 [ 2806.191089] DVB: registering new adapter (SAA716x dvb adapter) [ 2806.342408] stv6110x_attach: Attaching STV6110x [ 2806.348871] DVB: registering adapter 0 frontend 0 (STV090x Multistandard)... [ 2806.349488] DVB: registering new adapter (SAA716x dvb adapter) [ 2806.351530] stv6110x_attach: Attaching STV6110x [ 2806.388518] DVB: registering adapter 1 frontend 0 (STV090x Multistandard)... [ 2807.178544] SAA716x FF firmware version 0.3.8 [ 2807.178773] input: TT6400 DVB IR receiver as /devices/pci0000:00/0000:00:0c.0/0000:02:00.0/input/input5
Die Treibermodule können folgendermaßen wieder gestoppt werden:
sudo modprobe -r saa716x_ff
OS neu starten
sudo init 6
Aktualisieren der DVB Treiber
Hier wird das DVB Treiberverzeichnis auf den aktuellen Stand gebracht. Nach dem Update kann der DVB Treiber wie oben beschrieben installiert werden.
Treiberarchiv aktualisieren
cd /data/installfiles/dvb/media_build_experimental hg pull -u http://linuxtv.org/hg/~endriss/media_build_experimental make distclean make download make untar
DVB Treiber installieren
Die DVB Treiber müssen als User root vorbereitet und installiert werden. Mit folgendem Befehl wechselt man in den User root:
sudo su -
DVB Treiber vorbereiten
cd /usr/local/src/ cp -a /data/installfiles/dvb/media_build_experimental . ln -s media_build_experimental/ dvb
DVB Treiber installieren
cd /usr/local/src/dvb make distclean && make && make install init 6