Ubuntu 16.04 Xenial Xerus
Ubuntu 14.04 Trusty Tahr
Ubuntu 12.04 Precise Pangolin
Verwenden eines PPAs, optional
Einen Editor öffnen, optional
Root-Rechte, optional
Die Digital Device Cine S2 ist eine DVB-Karte für den PCIexpress-Bus vom deutschen Hersteller Digital Device und wird mit Linux-Unterstützung angeboten. Alle Cine-S2-Karten bis zur Version 6.0 werden vom Kernel automatisch erkannt und können direkt verwendet werden.
Alle Versionen aktueller 6.0 werden erst ab Ubuntu 16.04 automatisch erkannt!
Aktuell wird nur noch die Version 6.5 dieser Karte verkauft, die erst ab Ubuntu 16.04 automatisch erkannt wird. Falls man diese Karte erstanden hat und eine ältere Ubuntu Version nutzt, dann muss man den Treiber von Hand nachinstallieren. Dieser Artikel beschäftigt sich mit der manuellen Installation als auch mit der Möglichkeit einer automatischen Installation des fehlenden Kernelmoduls ddbridge.
Diese Anleitung funktioniert auch (eventuell nur teilweise) für die Digital Device Cine C2/T2 .
Damit die Karte vom System erkannt wird, muss die aktuellste Version des Kernelmoduls ddbridge für den eigenen Kernel gebaut und installiert werden.
Zum Erstellen des Kernelmoduls werden folgende Programme benötigt[1]:
build-essential
libproc-processtable-perl (universe)
libncurses5-dev
linux-headers-generic
mercurial (universe )
mit apturl
Paketliste zum Kopieren:
sudo apt-get install build-essential libproc-processtable-perl libncurses5-dev linux-headers-generic mercurial
sudo aptitude install build-essential libproc-processtable-perl libncurses5-dev linux-headers-generic mercurial
Als erstes öffnet man ein Terminal[2] und erstellt ein Verzeichnis, indem die benötigten Dateien heruntergeladen werden und das Kernelmodul gebaut wird.
mkdir ~/Download/Build
Natürlich kann man auch einen anderen Ordner wählen. Nun wechselt man in das Verzeichnis, welches man gerade erstellt hat.
cd ~/Download/Build
Jetzt lädt man sich eine Kopie des Projekts media_build_experimental mit Hilfe von Mercurial herunter[3].
hg clone http://linuxtv.org/hg/~endriss/media_build_experimental
Daraufhin wechselt man in das Verzeichnis media_build_experimental und lädt die noch fehlenden Treiberpakete herunter und entpackt diese.
cd media_build_experimental make download make untar
Dieser Vorgang kann einige Zeit dauern.
Die heruntergeladenen Treiberpakete beinhalten neben den gesuchten Kernelmodul ddbridge noch sehr viele weitere Treiber, daher ist es sinnvoll nur die benötigten Module auszuwählen und alle anderen abzuschalten.
make menuconfig
Folgende Objekte müssen angewählt werden:
Multimedia support
Digital TV support
Digital Devices bridge support
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
angewählt sind.
Nun muss man die ausgewählten Module bauen.
make -jX
Das X
ersetzt man durch die Anzahl der Kerne, die der Prozessor hat. Bei einem Dualcore-Prozessor müsste der Befehl also lauten:
make -j2
Wenn das Erstellen der Module ohne Fehler durchgelaufen ist, dann müssen die nur noch installiert werden.
sudo make install
Nun muss man den PC nur noch neustarten und schon sollte die Karte vom System erkannt und verwendet werden.
Die TV-Karte funktioniert nur bis zum nächsten Kernelupdate. Nach einem Kernelupdate muss man die Treiber neu erstellen.
Um nach einen Kernelupdate die fehlenden Treiber wieder neu zu installieren, muss man das Arbeitsverzeichnis, welches man bei der ersten Installation angelegt hat, aufräumen:
make clean make distclean
Danach kann wieder mit dem Schritt Nicht benötigte Module abwählen fortfahren.
Wem die manuelle Installation zu kompliziert ist, für den existiert noch eine andere Möglichkeit. Durch die Installation des Pakets dddvb-dkms aus dem nachfolgenden "Personal Package Archiv" (PPA)[4] wird das Kernelmodul ddbridge mithilfe von DKMS für jeden neu installierten Kernel automatisch erstellt und installiert.
Dieses PPA ist zwar neben Ubuntu 12.04 auch für Ubuntu 14.04 verfügbar, leider wurde das benötigte Paket dddvb-dksm nur für Ubuntu 12.04 angeboten.
Adresszeile zum Hinzufügen des PPAs:
ppa:yavdr/unstable-main
Zusätzliche Fremdquellen können das System gefährden.
Ein PPA unterstützt nicht zwangsläufig alle Ubuntu-Versionen. Weitere Informationen sind der PPA-Beschreibung des Eigentümers/Teams yavdr zu entnehmen.
Damit Pakete aus dem PPA genutzt werden können, müssen die Paketquellen neu eingelesen werden.
Das Paket dddvb-dkms funktioniert aber auch bis einschließlich Ubuntu 14.04. Dort kann man das PPA nicht wie normal hinzufügen, sondern muss in einem Editor[5] mit Root-Rechten[6] die Datei /etc/apt/sources.list öffnen und die folgende Zeile hinzufügen:
1 | deb http://ppa.launchpad.net/yavdr/unstable-main/ubuntu precise main |
Jetzt muss man die Paketquellen zwingend mit dem jeweiligen Paketmanager (Synaptic, apt-get, aptitude, etc.) neu laden bzw. aktualisieren. Das Neuladen der Paketquellen kann man beispielsweise im Terminal mit folgenden Befehl veranlassen:
sudo apt-get update
Danach kann man das Paket wie gewohnt installieren:
dddvb-dkms (ppa)
mit apturl
Paketliste zum Kopieren:
sudo apt-get install dddvb-dkms
sudo aptitude install dddvb-dkms
Nach der Installation sollte man das PPA wieder deaktiviert, da es sich um eine Paketquelle mit Testversionen handelt.
Nachdem der PC aus dem Ruhezustand oder Bereitschaftsmodus aufgewacht ist, funktioniert die TV-Karte nicht mehr, da es Probleme mit den Kernel-Modulen gibt. Die effektivste Lösung ist, die drei betroffenen Kernel-Module ddbridge, cxd2099 und dvb_core beim SUSPEND zu entladen und beim RESUME wieder zu laden. Die genaue Anleitung dazu findet man im Artikel pm-utils.
Die Datei /etc/pm/config.d/00sleep_module sieht dann für die Cine S2 folgendermaßen aus:
# USB-Kernelmodule und forcedeth (Netzwerkkarte) machen Aerger bei SUSPEND & RESUME mit pm-utils # daher sollen sie automatisch ent- und geladen werden SUSPEND_MODULES="$SUSPEND_MODULES ddbridge cxd2099 dvb_core"
Ab Ubuntu 15.10 funktioniert die oben beschriebene Methode nicht mehr, da systemd nun für den Wechsel in den Ruhezustand oder Bereitschaftsmodus zuständig ist. Um nun die Module zu entladen, erstellt man die Datei /etc/systemd/system/ddbridge-sleep.service:
[Unit] Description=Restart ddbridge Before=sleep.target StopWhenUnneeded=yes [Service] Type=oneshot RemainAfterExit=yes ExecStart=/sbin/modprobe -r ddbridge cxd2099 dvb_core ExecStop=/sbin/modprobe ddbridge cxd2099 dvb_core [Install] WantedBy=sleep.target
Nun muss diese Datei noch von systemd mit folgendem Befehl eingelesen werden:
sudo systemctl enable ddbridge-sleep.service
Falls man tvheadend mit dieser Karte betreibt, dann blockiert tvheadend das Abschalten der Module während des Ruhezustands, wodurch die Karte nach dem Aufwachen nicht mehr angesprochen werden kann. Um dieses Fehlverhalten zu unterbinden, muss tvheadend beendet werden, bevor die Module entladen werden. Dafür kann man die Datei /etc/systemd/system/ddbridge-sleep.service folgendermaßen erweitern:
[Unit] Description=Restart tvheadend and ddbridge Before=sleep.target StopWhenUnneeded=yes [Service] Type=oneshot RemainAfterExit=yes ExecStart=/bin/systemctl stop tvheadend.service ; /sbin/modprobe -r ddbridge cxd2099 dvb_core ExecStop=/sbin/modprobe ddbridge cxd2099 dvb_core ; /bin/systemctl start tvheadend.service [Install] WantedBy=sleep.target
Anschließend liest man die Service-Datei neu ein und das Aufwecken der Karte funktioniert wieder:
systemctl daemon-reload
Auch MythTV blockiert wie tvheadend das Abschalten der Module. Daher muss das Backend vor dem Ruhezustand/Tiefschlaf beendet werden. Dies lässt sich bis Ubuntu 15.04 ebenfalls mit einem Script regeln. Unter /etc/pm/sleep.d/ muss eine Datei (z.B. 10_mythbackend) angelegt werden:
1 2 3 4 5 6 7 8 9 10 | #!/bin/bash case "$1" in hibernate|suspend) sudo service mythbackend stop;; thaw|resume) sleep 5 sudo service mythbackend start;; *) echo "no parameter given" ;; esac |
Dieses Skript muss als ausführbar markiert werden. Der Neustart des Backends muss verzögert werden, bis die Netzwerkverbindung wieder aufgebaut ist (sleep 5
). Bei einer WLAN-Verbindung können mehr als 5 Sekunden notwendig sein. Ansonsten ist das Backend nach dem Aufwachen nur noch auf localhost
verfügbar (= der Rechner, auf dem es installiert ist).
Diskussion im VDR-Portal zu aktuellen Digital Devices Treiber
Produktbeschreibung auf der Seite des Herstellers
Installationsanleitung des Herstellers
ältere Installationsanleitung des Herstellers
DVB-Karten Übersichtsartikel
Diese Revision wurde am 21. Mai 2016 23:48 von jokerGermany erstellt.