Ubuntu HD VDR mittels TechnoTrend S2-6400 - DVB Treiber

Aus VDR Wiki
Version vom 28. Oktober 2013, 09:35 Uhr von Sewn4 (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
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/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

Links

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