Ubuntu HD VDR mittels SoftHDDevice und VDPAU/TV-Karte
Inbetriebnahme TV Karte
Die TV Karte muss zwingend an ein Floppy Stromkabel angeschlossen werden. Wichtig ist das an allen Tunern der TV-Karte auch Antennenkabel angeschlossen sind. Falls nicht an allen Tunern ein Antennenkabel angeschlossen ist muss dies später beim starten vom VDR 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
03:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter Subsystem: Digital Devices GmbH Cine S2 V6.5 DVB adapter Flags: bus master, fast devsel, latency 0, IRQ 17 Memory at f7100000 (64-bit, non-prefetchable) [size=64K] Capabilities: <access denied> Kernel driver in use: DDBridge
Installation DVB-Treiber
Es gibt zwei Varianten wie der DVB Treiber installiert werden kann. Mit der ersten Variante wird der DVB Treiber manuell installiert und dadurch werden die vorhandenen DVB-Kernelmodule durch die neuen ersetzt. Der Vorteil ist man kann sich selbst den DVB Treiber zusammenstellen und kann immer auf den aktuellsten Stand vom DVB-Treiber setzen. Achtung! Bei dieser Variante muss nach einem Kernelupdate der DVB Treiber erneut installiert werden.
Mit der zweiten Variante kann das fertige DVB-Treiberpaket über ein Repository installiert werden. Hier liegt der Vorteil darin das dies sehr schnell geht und nach einem Kernelupdate das DVB-Treibermodul automatisch wieder in den Kernel integriert wird.
Variante 1 - manuelle DVB Treiber Installation
Achtung! Bei dieser Variante muss nach einem Kernelupdate der DVB Treiber erneut installiert werden.
Downloadverzeichnis erstellen
mkdir -p /data/installfiles/dvb
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-rev434.tar.gz media_build_experimental/
Welche Neuerungen gibt es im DVB-Treiber?
Hier können die Neuerungen im Repository eingesehen werden:
http://linuxtv.org/hg/~endriss/media_build_experimental
DVB Treiber vorbereiten
sudo cp -a /data/installfiles/dvb/media_build_experimental/ /usr/local/src/ cd /usr/local/src sudo ln -s media_build_experimental/ dvb
Benötigte Treiber Module aktivieren
cd /usr/local/src/dvb sudo make distclean && sudo make menuconfig
Die folgende Objekte müssen angewählt werden:
- Multimedia support
- Digital TV support
- Digital Devices bridge support
- Cypress firmware helper routines
- Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
<M> Multimedia support --->
<M> Multimedia support ---> [*] Digital TV support
<M> Multimedia support ---> [*] Media PCI Adapters ---> <M> Digital Devices bridge support
<M> Multimedia support ---> <M> Cypress firmware helper routines
<M> Multimedia support ---> [*] Autoselect ancillary drivers (tuners, sensors, i2c, frontends)
Die benötigten Tuner werden dann automatisch angewählt. Außerdem muss noch kontrolliert werden, dass:
- Staging drivers
- Media staging drivers
- CXD2099AR Common Interface driver
[*] Staging drivers --->
[*] Staging drivers ---> Media devices in staging ---> [*] Media staging drivers --->
[*] Staging drivers ---> Media devices in staging ---> [*] Media staging drivers ---> -M- CXD2099AR Common Interface driver
angewählt sind. Alle anderen Objekte können abgewählt werden.
Zum Schluss mit Exit das Tool verlassen und die Konfiguration abspeichern.
Exit -> Do you wish to save your new configuration? -> Yes
DVB Treiber Installation starten
- sudo make -jX && sudo make -jX install
Das X ersetzt man durch die Anzahl der Kerne, die der Prozessor hat. Bei einem Dualcore-Prozessor müsste der Befehl also lauten:
cd /usr/local/src/dvb sudo make -j2 && sudo make -j2 install
Link auf compiler.h setzen
Achtung! Dieser Link ist wichtig, da sonst der VDR im späteren Verlauf nicht installiert 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 ist ersichtlich dass der DVB-Treiber am 20.02.2015 um 16:39 Uhr installiert wurde. Wenn am gleichen Tag das OS installiert wurde, sollte die Uhrzeit betrachtet werden.
cd /lib/modules/$(uname -r)/updates/media/ ls -l |grep dd* -rw-r--r-- 1 root root 132328 Feb 20 16:39 ddbridge.ko
Variante 2 - automatische DVB Treiber Installation
Repository hinzufügen
sudo add-apt-repository ppa:yavdr/unstable-main sudo apt-get update
DVB Treiber installieren
sudo apt-get install dddvb-dkms
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/modinfo,/sbin/modprobe
DVB Module - Info, Starten und Stoppen
modinfo
Um euch Modulparameter anzeigen zu lassen könnt Ihr folgenden Befehl verwenden:
sudo modinfo ddbridge
filename: /lib/modules/3.13.0-45-generic/updates/media/ddbridge.ko version: 0.9.16 license: GPL author: Ralph Metzler, Metzler Brothers Systementwicklung GbR description: Digital Devices PCIe Bridge srcversion: 80861CE40D688702D175EDB alias: pci:v0000DD01d00000201sv*sd*bc*sc*i* alias: pci:v0000DD01d00000011sv*sd*bc*sc*i* alias: pci:v0000DD01d00000003sv*sd*bc*sc*i* alias: pci:v0000DD01d00000320sv*sd*bc*sc*i* alias: pci:v0000DD01d00000201sv0000DD01sd00000001bc*sc*i* alias: pci:v0000DD01d00000013sv0000DD01sd00000043bc*sc*i* alias: pci:v0000DD01d00000011sv0000DD01sd00000041bc*sc*i* alias: pci:v0000DD01d00000011sv0000DD01sd00000040bc*sc*i* alias: pci:v0000DD01d00000007sv0000DD01sd00000023bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000033bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000032bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000031bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd0000DB03bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000030bc*sc*i* alias: pci:v0000DD01d00000006sv0000DD01sd00000022bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000021bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000020bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000010bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000003bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000002bc*sc*i* alias: pci:v0000DD01d00000005sv0000DD01sd00000004bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000001bc*sc*i* alias: pci:v0000DD01d00000002sv0000DD01sd00000001bc*sc*i* depends: cxd2099,dvb-core vermagic: 3.13.0-45-generic SMP mod_unload modversions parm: adapter_alloc:0-one adapter per io, 1-one per tab with io, 2-one per tab, 3-one for all (int) parm: msi: Control MSI interrupts: 0-disable, 1-enable (default) (int) parm: ci_bitrate: Bitrate for output to CI. (int) parm: ts_loop:TS in/out test loop on port ts_loop (int) parm: vlan:VLAN and QoS IDs enabled (int) parm: tt: (int) parm: fmode:frontend emulation mode (int) parm: adapter_nr:DVB adapter numbers (array of short)
modprobe
Hiermit werden die DVB-Treibermodule geladen:
sudo modprobe ddbridge
Nachdem die DVB-Treibermodule geladen wurden, sollte der Aufruf 'dmesg' folgendes Anzeigen:
dmesg |grep ddbridge
[ 4.059263] ddbridge 0000:03:00.0: irq 45 for MSI/MSI-X [ 4.337809] ddbridge 0000:03:00.0: DVB: registering adapter 0 frontend 0 (STV090x Multistandard)... [ 4.379940] ddbridge 0000:03:00.0: DVB: registering adapter 1 frontend 0 (STV090x Multistandard)... [ 4.671500] ddbridge 0000:03:00.0: DVB: registering adapter 2 frontend 0 (STV090x Multistandard)... [ 4.707372] ddbridge 0000:03:00.0: DVB: registering adapter 3 frontend 0 (STV090x Multistandard)...
dmesg |grep Digital
[ 611.949805] Digital Devices PCIE bridge driver 0.9.16, Copyright (C) 2010-14 Digital Devices GmbH [ 611.949948] DDBridge driver detected: Digital Devices Cine S2 V6.5 DVB adapter
Die DVB-Treibermodule können folgendermaßen wieder gestoppt werden:
sudo modprobe -r ddbridge