Ubuntu HD VDR mittels SoftHDDevice und VDPAU/TV-Karte

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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

Linksammlung

  1. Digital Devices
  2. LinuxTV
  3. UFO DVB Repository