Ubuntu HD VDR mittels TechnoTrend S2-6400 - DVB Treiber

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(DVB-Treiber herunterladen)
(Firmwaredateien herunterladen)
Zeile 21: Zeile 21:
 
  wget http://www.aregel.de/file_download/14/dvb-ttpremium-fpga-01_v1_09.zip
 
  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/7/dvb-ttpremium-loader-01_v1_03.zip
  wget http://www.aregel.de/file_download/17/dvb-ttpremium-st7109-01_v0_3_5.zip
+
  wget http://www.aregel.de/file_download/19/dvb-ttpremium-st7109-01_v0_3_7.zip
  
 
===Firmwaredateien einspielen===
 
===Firmwaredateien einspielen===

Version vom 6. Februar 2012, 22:22 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 | 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/19/dvb-ttpremium-st7109-01_v0_3_7.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_3_5.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 2011-08-21 18:29 /lib/firmware/dvb-ttpremium-fpga-01.fw
-rw-r--r-- 1 root root   15784 2011-04-27 19:17 /lib/firmware/dvb-ttpremium-loader-01.fw
-rw-r--r-- 1 root root 2118571 2011-12-23 15:25 /lib/firmware/dvb-ttpremium-st7109-01.fw

Firmwareversion anzeigen lassen

Achtung! Die Firmwareversionen werden erst nach dem Neustart angezeigt.

dmesg|grep SAA716x|grep version

[    6.260929] SAA716x FF FPGA version 1.09
[    6.325025] SAA716x FF loader version 1.03
[    7.962106] SAA716x FF firmware version 0.3.5

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-29012012.tar.gz media_build_experimental/

Was hat sich geändert?

Hier kann das DVB Repository eingesehen werden.

http://powarman.dyndns.org/hgwebdir.cgi/v4l-dvb-saa716x/
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

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/media_build_experimental/v4l/firedtv-fw.c: In function 'handle_iso':
/usr/local/src/media_build_experimental/v4l/firedtv-fw.c:128:2: error: implicit declaration of function  'fw_iso_context_queue_flush'
make[3]: *** [/usr/local/src/media_build_experimental/v4l/firedtv-fw.o] Fehler 1
make[2]: *** [_module_/usr/local/src/media_build_experimental/v4l] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.38-8-generic'
make[1]: *** [default] Fehler 2
make[1]: Verlasse Verzeichnis '/usr/local/src/media_build_experimental/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

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 13.10.2011 um 17:05 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  49104 2011-12-06 19:03 budget-av.ko
-rw-r--r-- 1 root root  44616 2011-12-06 19:03 budget-ci.ko
-rw-r--r-- 1 root root  22352 2011-12-06 19:03 budget-core.ko
-rw-r--r-- 1 root root  33920 2011-12-06 19:03 budget.ko
-rw-r--r-- 1 root root  20216 2011-12-06 19:03 budget-patch.ko
-rw-r--r-- 1 root root 197792 2011-12-06 19:03 dvb-ttpci.ko
-rw-r--r-- 1 root root   6504 2011-12-06 19:03 ttpci-eeprom.ko

Die Treiber Module für die TT S2-6400 finden sich dann hier:

cd /lib/modules/$(uname -r)/kernel/drivers/media/common/saa716x 
ls -l
-rw-r--r-- 1 root root  23816 2011-12-06 19:03 saa716x_budget.ko
-rw-r--r-- 1 root root 105640 2011-12-06 19:03 saa716x_core.ko
-rw-r--r-- 1 root root  51760 2011-12-06 19:03 saa716x_ff.ko
-rw-r--r-- 1 root root  25264 2011-12-06 19:03 saa716x_hybrid.ko

sudoers erweitern

Damit der später der Benutzer vdruser die DVB Module als Benutzer 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

DVB Module manuell laden

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

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

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.4
[ 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

Links

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