[[Vorlage(Archiviert)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] [:Archiv/Mercurial: Mercurial benutzen] [:Paketquellen_freischalten/PPA: Verwenden eines PPAs] optional [:Editor: Einen Editor öffnen] optional [:sudo: Root-Rechte] optional }}} [[Inhaltsverzeichnis(1)]] [[Bild(/Wiki/Icons/pci.png, 48, left)]] Die [https://www.digital-devices.eu/shop/de/tv-karten/tv-karte-fuer-pcie/285/twin-tuner-tv-karte-dvb-s/s2-pci-express-karte-dd-cine-s2-v7a Digital Device Cine S2] {de} ist eine [:DVB-Karten: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 [https://www.digital-devices.eu/shop/de/tv-karten/tv-karte-fuer-pcie/318/twin-tuner-tv-karte-dvb-c/c2/t/t2/isdb-t-dd-cine-c2/t2i-v7-simplitv-kompatibel-orf Digital Device Cine C2/T2] {de}. = Installation = == Manuelle Installation == Damit die Karte vom System erkannt wird, muss die aktuellste Version des Kernelmoduls '''ddbridge''' für den eigenen Kernel gebaut und installiert werden. === Benötigte Pakete installieren === Zum Erstellen des Kernelmoduls werden folgende Programme benötigt[1]: {{{#!vorlage Paketinstallation build-essential libproc-processtable-perl, universe libncurses5-dev linux-headers-generic mercurial, universe }}} === Arbeitsumgebung erstellen === Als erstes öffnet man ein Terminal[2] und erstellt ein Verzeichnis, indem die benötigten Dateien heruntergeladen werden und das Kernelmodul gebaut wird. {{{#!vorlage Befehl mkdir ~/Download/Build }}} Natürlich kann man auch einen anderen Ordner wählen. Nun wechselt man in das Verzeichnis, welches man gerade erstellt hat. {{{#!vorlage Befehl cd ~/Download/Build }}} === Kopie des Projektes media_build herunterladen === Jetzt lädt man sich eine Kopie des Projekts [http://linuxtv.org/hg/~endriss/media_build_experimental media_build_experimental] {en} mit Hilfe von [:Archiv/Mercurial:] herunter[3]. {{{#!vorlage Befehl hg clone http://linuxtv.org/hg/~endriss/media_build_experimental }}} === Treiberpakete herunterladen und auspacken === Daraufhin wechselt man in das Verzeichnis '''media_build_experimental''' und lädt die noch fehlenden Treiberpakete herunter und entpackt diese. {{{#!vorlage Befehl cd media_build_experimental make download make untar }}} {{{#!vorlage Hinweis Dieser Vorgang kann einige Zeit dauern. }}} === Nicht benötigte Module abwählen === 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. {{{#!vorlage Befehl 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. === Treiber bauen === Nun muss man die ausgewählten Module bauen. {{{#!vorlage Befehl 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: {{{#!vorlage Befehl make -j2 }}} === Module installieren === Wenn das Erstellen der Module ohne Fehler durchgelaufen ist, dann müssen die nur noch installiert werden. {{{#!vorlage Befehl sudo make install }}} Nun muss man den PC nur noch neustarten und schon sollte die Karte vom System erkannt und verwendet werden. {{{#!vorlage Hinweis Die TV-Karte funktioniert nur bis zum nächsten Kernelupdate. Nach einem Kernelupdate muss man die Treiber neu erstellen. }}} === Nach Kernelupdate - Arbeitsumgebung aufräumen === 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: {{{#!vorlage Befehl make clean make distclean }}} Danach kann wieder mit dem Schritt [#Nicht_benoetigte_Module_abwaehlen Nicht benötigte Module abwählen] fortfahren. == Automatische Installation == 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. === Paketquelle hinzufügen === 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. [[Vorlage(PPA, yavdr/unstable-main)]] 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 [:sources.list:/etc/apt/sources.list] öffnen und die folgende Zeile hinzufügen: {{{#!code sourceslist deb http://ppa.launchpad.net/yavdr/unstable-main/ubuntu precise main }}} Jetzt muss man die Paketquellen zwingend mit dem jeweiligen Paketmanager ([:Synaptic:], [:apt/apt-get#apt-get-update:apt-get], [:aptitude:], etc.) neu laden bzw. aktualisieren. Das Neuladen der Paketquellen kann man beispielsweise im Terminal mit folgenden Befehl veranlassen: {{{#!vorlage Befehl sudo apt-get update }}} Danach kann man das Paket wie gewohnt installieren: {{{#!vorlage Paketinstallation dddvb-dkms, ppa }}} {{{#!vorlage Hinweis Nach der Installation sollte man das PPA wieder deaktiviert, da es sich um eine Paketquelle mit Testversionen handelt. }}} = Benutzung = Die Karte kann mit jeder DVB-S-tauglichen Software verwendet werden (siehe [:TV:]). = Problembehebung = == Karte funktioniert nach dem Aufwecken nicht mehr== 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 [:Archiv/pm-utils#Module-vor-SUSPEND-entladen-nach-RESUME-wieder-laden:]. 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" }}} == Karte mithilfe von systemd aufwecken == Seit [:15.10: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: {{{#!vorlage Befehl sudo systemctl enable ddbridge-sleep.service }}} == Karte bei Verwendung von tvheadend aufwecken == Falls man [:Tvheadend: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: {{{#!vorlage Befehl systemctl daemon-reload }}} == Karte bei Verwendung von MythTV aufwecken == Auch [:MythTV:] blockiert wie tvheadend das Abschalten der Module. Daher muss das Backend vor dem Ruhezustand/Tiefschlaf beendet werden. Dies lässt sich bis [:15.04:Ubuntu 15.04] ebenfalls mit einem Script regeln. Unter '''/etc/pm/sleep.d/''' muss eine Datei (z.B. '''10_mythbackend''') angelegt werden: {{{#!code bash #!/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). = Links = * [http://www.vdr-portal.de/board16-video-disk-recorder/board85-hdtv-dvb-s2/113367-aktuelle-treiber-f%C3%BCr-octopus-ddbridge-cines2-ngene-ddbridge-duoflex-s2-duoflex-ct-cinect-sowie-tt-s2-6400-teil-2/ Diskussion im VDR-Portal] {de} zu aktuellen Digital Devices Treiber * [https://www.digital-devices.eu/shop/de/custom/index/sCustom/80 Installationsanleitung] {de} des Herstellers * [:DVB-Karten:] {Übersicht} Übersichtsartikel #tag: Hardware, Multimedia, TV, DVB