Ubuntu HD VDR mittels TechnoTrend S2-6400 - DVB Treiber

Aus VDR Wiki
Wechseln zu: Navigation, Suche

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/21/dvb-ttpremium-st7109-01_v0_3_9.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_9.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 2079992 Nov 13 21:06 /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.136106] SAA716x FF FPGA version 1.09
[    6.197517] SAA716x FF loader version 1.03
[    7.824355] SAA716x FF firmware version 0.3.9

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-28122012.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
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 -> 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 18.11.2012 um 13:48 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  50192 Nov 18 13:48 budget-av.ko
-rw-r--r-- 1 root root  44680 Nov 18 13:48 budget-ci.ko
-rw-r--r-- 1 root root  22352 Nov 18 13:48 budget-core.ko
-rw-r--r-- 1 root root  36016 Nov 18 13:48 budget.ko
-rw-r--r-- 1 root root  20216 Nov 18 13:48 budget-patch.ko
-rw-r--r-- 1 root root 200816 Nov 18 13:48 dvb-ttpci.ko
-rw-r--r-- 1 root root   6504 Nov 18 13:48 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  24880 Nov 18 13:48 saa716x_budget.ko
-rw-r--r-- 1 root root 109312 Nov 18 13:48 saa716x_core.ko
-rw-r--r-- 1 root root  55912 Nov 18 13:48 saa716x_ff.ko
-rw-r--r-- 1 root root  25600 Nov 18 13:48 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-30-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.2.0-30-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.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

Links

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