Ubuntu HD VDR mittels TechnoTrend S2-6400 - DVB Treiber

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(DVB-Treiber herunterladen)
Zeile 42: Zeile 42:
 
  make download
 
  make download
 
  make untar
 
  make untar
  tar -czf media_build_experimental-cvs-rev5.tar.gz media_build_experimental/
+
  tar -czf media_build_experimental-rev5.tar.gz media_build_experimental/
  
 
====Was hat sich geändert?====
 
====Was hat sich geändert?====

Version vom 5. Mai 2011, 11:54 Uhr

Inhaltsverzeichnis

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
02:00.0 Multimedia controller: Philips Semiconductors SAA7160 (rev 02)
        Subsystem: Technotrend Systemtechnik GmbH Device 300a
        Flags: bus master, fast devsel, latency 0, IRQ 18
        Memory at f9f00000 (64-bit, non-prefetchable) [size=1M]
        Capabilities: <access denied>
        Kernel driver in use: SAA716x FF
        Kernel modules: saa716x_ff

Downloadverzeichnis erstellen

mkdir -p /data/installfiles/dvb

Firmware einspielen

cd /data/installfiles/dvb/
wget http://www.aregel.de/file_download/2/dvb-ttpremium-fpga-01_v1_02.zip
wget http://www.aregel.de/file_download/7/dvb-ttpremium-loader-01_v1_03.zip
wget http://www.aregel.de/file_download/8/dvb-ttpremium-st7109-01_v0_2_9.zip

cd /lib/firmware/
sudo unzip /data/installfiles/dvb/dvb-ttpremium-fpga-01_v1_02.zip
sudo unzip /data/installfiles/dvb/dvb-ttpremium-loader-01_v1_03.zip
sudo unzip /data/installfiles/dvb/dvb-ttpremium-st7109-01_v0_2_9.zip

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 download
make untar
tar -czf media_build_experimental-rev5.tar.gz media_build_experimental/

Was hat sich geändert?

Hier kann das DVB Repository eingesehen werden.

http://linuxtv.org/hg/~endriss/media_build_experimental

DVB Treiber vorbereiten

Die DVB Treiber müssen als User root vorbereitet und installiert werden. Mit folgendem Befehl wechselt man in den User root:

sudo su -
cd /usr/local/src
cp -a /data/installfiles/dvb/v4l-dvb-saa716x/ .
ln -s v4l-dvb-saa716x/ dvb

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
ln -s /usr/src/linux-headers-$(uname -r)/include/linux/compiler.h compiler.h

DVB Treiber installieren

cd /usr/local/src/dvb
make distclean && make && make install
init 6

Fehler die bei der Installation auftreten können

Wenn es zu einem Fehler mit FireDTV kommt:

/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-fw.c: In function 'model_name':
/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-fw.c:254: warning: assignment discards qualifiers from pointer target type
/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-fw.c: In function 'node_probe':
/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-fw.c:280: warning: passing argument 1 of 'model_name' discards qualifiers from pointer target type
/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-fw.c:244: note: expected 'u32 *' but argument is of type 'const u32 *'
CC [M]  /usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-1394.o
/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-1394.c:22: fatal error: dma.h: No such file or directory
compilation terminated.
make[3]: *** [/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l/firedtv-1394.o] Fehler 1
make[2]: *** [_module_/usr/local/src/v4l-dvb-saa716x-cvs-05022011/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.35-25-generic'
make[1]: *** [default] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/local/src/v4l-dvb-saa716x-cvs-13032011/v4l'
make: *** [all] Fehler 2

Dann muss der DVB Treiber folgendermaßen übersetzt werden:

cd /usr/local/src/dvb
make menuconfig

Multimedia support -> DVB/ATSC adapters -> FireDTV and FloppyDTV -> mit der Leertaste das (M) abwählen.

Exit -> Exit -> Exit -> Yes (Konfiguration speichern)
cd /usr/local/src/dvb
make && make install
init 6

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 18.04.2011 um 14:47 Uhr installiert wurde. Wenn am gleichen Tag das OS installiert wurde, sollte die Uhrzeit betrachtet werden.

cd /lib/modules/$(uname -r)/kernel/drivers/media/dvb/ttpci
ls -l
-rw-r--r-- 1 root root  49368 2011-04-18 14:47 budget-av.ko
-rw-r--r-- 1 root root  42920 2011-04-18 14:47 budget-ci.ko
-rw-r--r-- 1 root root  21944 2011-04-18 14:47 budget-core.ko
-rw-r--r-- 1 root root  34344 2011-04-18 14:47 budget.ko
-rw-r--r-- 1 root root  20640 2011-04-18 14:47 budget-patch.ko
-rw-r--r-- 1 root root 197792 2011-04-18 14:47 dvb-ttpci.ko
-rw-r--r-- 1 root root   5792 2011-04-18 14:47 ttpci-eeprom.ko

sudoers erweitern

Damit der später der vdruser die DVB Module als User root starten kann muss die sudoers erweitert werden. Achtung! Der untiger Eintrag muss als letzte Zeile hinzugefügt werden.

sudo visudo
vdruser ALL=(ALL) NOPASSWD: /sbin/modprobe

OS neu starten

sudo init 6

DVB Module manuell laden

Um euch Modulparameter anzeigen zu lassen könnt Ihr folgenden Befehl verwenden:

sudo modinfo saa716x_ff
filename:       /lib/modules/2.6.35-28-generic/kernel/drivers/media/common/saa716x/saa716x_ff.ko
license:        GPL
author:         Manu Abraham
description:    SAA716x FF driver
srcversion:     20F28C8A84F40A78712920F
alias:          pci:v00001131d00007160sv000013C2sd0000300Abc*sc*i*
alias:          pci:v00001131d00007160sv000013C2sd00003009bc*sc*i*
depends:        dvb-core,saa716x_core
vermagic:       2.6.35-28-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)

Hier werden die DVB-Treibermodule geladen:

sudo modprobe saa716x_ff

Nachdem die DVB-Treibermodule geladen wurden, sollte der Aufruf 'dmesg' folgendes Anzeigen:

dmesg
[    6.454170] SAA716x FF FPGA version 1.02
[    6.478502] SAA716x FF loader version 1.02
[    7.182387] DVB: registering new adapter (SAA716x dvb adapter)
[    7.342004] stv6110x_attach: Attaching STV6110x
[    7.352433] DVB: registering adapter 0 frontend 0 (STV090x Multistandard)...
[    7.352988] DVB: registering new adapter (SAA716x dvb adapter)
[    7.354589] stv6110x_attach: Attaching STV6110x
[    7.400119] DVB: registering adapter 1 frontend 0 (STV090x Multistandard)...
[    8.172914] SAA716x FF firmware version 0.2.8
[    8.173129] input: TT6400 DVB IR receiver as /devices/pci0000:00/0000:00:0c.0/0000:02:00.0/input/input2
[  481.466431] SAA716x FF 0000:02:00.0: PCI INT A disabled
[  490.341085] SAA716x FF 0000:02:00.0: PCI INT A -> Link[LN0A] -> GSI 18 (level, low) -> IRQ 18
[  490.341108] SAA716x FF 0000:02:00.0: setting latency timer to 64
[  491.480113] SAA716x FF FPGA version 1.02
[  491.485018] SAA716x FF loader version 1.02
[  492.169148] DVB: registering new adapter (SAA716x dvb adapter)
[  492.316466] stv6110x_attach: Attaching STV6110x
[  492.317200] DVB: registering adapter 0 frontend 0 (STV090x Multistandard)...
[  492.317733] DVB: registering new adapter (SAA716x dvb adapter)
[  492.321048] stv6110x_attach: Attaching STV6110x
[  492.368498] DVB: registering adapter 1 frontend 0 (STV090x Multistandard)...
[  493.160744] SAA716x FF firmware version 0.2.8
[  493.160928] input: TT6400 DVB IR receiver as /devices/pci0000:00/0000:00:0c.0/0000:02:00.0/input/input3


Die Treibermodule können folgendermaßen wieder gestoppt werden:

sudo modprobe -r saa716x_ff

Aktualisieren der DVB Treiber

sudo su -
cd /usr/local/src/dvb
hg pull -u http://powarman.dyndns.org/hgwebdir.cgi/v4l-dvb-saa716x/
make && make install
init 6

Links

  1. LinuxTV
  2. powarman DVB Repository
  3. TT Firmware