DVB
Aus NoamikWiki
Inhaltsverzeichnis |
[Bearbeiten] DVB-T unter Linux mit der TerraTec Cinergy T USB XE Rev. 1
[Bearbeiten] Den Kartentreiber installieren
Der folgende Artikel zeigt, wie ich meinen DVB-T-USB-Stick, einen TerraTec Cinergy T USB XE, unter Linux zum Laufen bekommen habe. Grundsätzlich sollte er aber mit jeder DVB-Karte für die eine passende Firmware zur Verfügung steht unter jeder Distribution nachvollziehbar sein. Ich fokussiere mich hier auf Ubuntu/Debian. Insbesondere möchte ich an dieser Stelle explizit vom Kauf dieser Karte abraten. TerraTec unterstützt offiziell mit dieser Karte Linux nicht und die neuere Revision könnte unter Linux eventuell gar nicht laufen. Kauft euch lieber eine Karte, die offiziell unterstützt wird. Ein Liste dieser Karten gibt es hier
Das Wichtigste um diesen DVB-Tuner in Betrieb zu nehmen, ist die Firmware. Diese kann für die Revision 1 dieses Sticks hier heruntergeladen werden. Für die Revision 2 ist mir nicht bekannt, ob diese überhaupt unter Linux genutzt werden kann. Diese Firmware wird jedenfalls nicht funktionieren, da ein anderer Chip verwendet wurde.
Die Datei af9005.fw läd man herunter. Die Datei wird mit root-Rechten in das firmware-Verzeichnis kopiert. In meinem Fall erledigt dies
sudo cp af9005.fw /lib/firmware/$(uname -r)
Je nach eigener Konfiguration muss das Verzeichnis angepasst werden. $(uname -r) ermittelt die Kernelversion, bei Ubuntu finden sich hier die an die jeweilige Kernelversion angepassten Firmwares.
sudo cp af9005.fw /lib/firmware
Zumindest seit Ubuntu 9.04 Jaunty reicht es die Datei in /lib/firmware abzulegen, wie es bei Debian schon immer der Fall war (und evtl. bei Ubuntu auch, ich habe wenig Motivation alte Ubuntuversionen herauszukramen um den Fehler zu finden). Wichtig ist ein Kopie der Firmware aufzubewahren, da man sie aus verschiedenen Gründen nochmals brauchen könnte.
Nun heißt es einiges an Software nachinstallieren:
sudo apt-get install mercurial linux-headers-$(uname -r) build-essential kaffeine kaffeine-xine
installiert uns alles was wir aus dem Repository bekommen können und benötigen. Sollte kaffeine nicht im Repository zu finden sein, heißt es manuell die Pakete besorgen und installieren.
Eigentlich sollte das schon reichen. Um sicher zu gehen, habe ich aber noch Video4Linux in der neuesten Version installiert. Dafür erstellt man sich ein passenden Verzeichniss und gibt:
hg clone http://linuxtv.org/hg/v4l-dvb
ein.
Nun folgt
make sudo make install
Hat man dies fehlerfrei hinter sich gebracht, sollte DVB-T funktionieren. Bei Problemen ist http://linuxtv.org/wiki/ Anlaufstelle der Wahl.
[Bearbeiten] Die Karte in Betrieb nehmen
Was hier stand ist veraltet. Ich suche derzeit nach einer Lösung. Wer noch ein Pre-Karmic-Koala einsetzt (vor Ubuntu 9.10) und also ein 0.8.x kaffeine verwenden möchte, kann unter weiterhin in veraltet nachschauen. Grundsätzlich funktioniert der Sendersuchlauf in Kaffeine, man muss ihn nur mehrmals laufen lassen und übersieht schwache Sender. Für den Anfang lässt man ihn also immer wieder durchlaufen und klickt dann auf "Gefilterte hinzufügen" (wer hat das eigentlich übersetzt?). Außerdem funktioniert immer wieder der Senderwechsel nicht, wenn man andere Medien verwendet hat oder im Senderdurchlauf war. Da hilft nur der Neustart von Kaffeine. Alles in allem eine sehr enttäuschende Vorstellung für eine Version 1.0, aber als pre2 ist ja noch etwas Zeit. Unverständlich nur, dass diese Version es in den Koala geschafft hat ...
Update: Ich habe mir die alte 0.8.7 aus den PPA-Quellen wieder installiert und Ubuntu das Update auf 1.0 verboten. Mir fehlen in dieser Version zu viele Features und auch Grundfunktionen. Die "veraltete" Anleitung funktioniert für Kaffeine 0.8.x weiterhin. Ich schaue mir Kaffeine dann in der Version 1.1 mal wieder an ...
[Bearbeiten] Genießen
Nun sollte man sich zurücklehnen und DVB-T unter Linux genießen. Man sollte nun Fernsehen samt Timeshift nutzen könne, ebenso Radio über DVB-T. Wer den Trick oder meine Channel-Liste verwendet hat, sollte auch EPG nutzen können. Diese Anleitung werde ich vervollständigen, wenn ich weitere Erfahrungen mit DVB-T unter Linux gemacht habe.
[Bearbeiten] Betriebsprobleme
[Bearbeiten] Kaffeine: No plugin found to handle this resource (/home/user/.kaxtv.ts)
No plugin found to handle this resource (/home/user/.kaxtv.ts)
Es fehlen die zum Abspielen benötigten codecs. Das Metapaket "libxine1-plugins" installiert diese unter Ubuntu. Für Hinweise welches Paket genau benötigt wird, wäre ich dankbar.
[Bearbeiten] Can't tune dvb
Hin und wieder scheint der Kanalwechsel fehlzuschlagen. Statt des Wechsels erscheint die Meldung "Can't tune dvb". Ein erneuter Wechsel behebt das Problem.
[Bearbeiten] Kaffeine und ntp
Kaffeine und ntp vertragen sich nicht. Sollte ntp die Systemzeit während des Kaffeinebetriebs mit DVB verändern, hängt sich kaffeine komplett auf. Möchte man kaffeine als Videorekorder nutzen, sollte man ntpdate also deaktivieren.
[Bearbeiten] Karte läuft plötzlich nicht mehr
Dies tritt typischerweise nach einem Kernelupdate auf, das USB-Device wird dann schon laut dmesg nicht richtig initialisiert. Wenn man nicht während der laufenden Session schon wieder einen neuen Kernel eingespielt hat, reicht es, v4l erneut zu kompilieren und zu installieren.
make sudo make install
In einigen Fällen, z.B. bei meiner Ubuntuinstallation kann auch ein sudo vor dem ersten make nötig sein, wenn man als User die Kernelheader nicht lesen darf. Da zur Zeit recht zuverlässig mit jeder Kernelrevision die v4l-module unnütz werden, sollte das neu Bauen bei plötzlich auftretenden Problemen der erste Ansatz sein. Die vorherigen Schritte waren bei meiner TV-Karte schon über mehr als ein Jahr und über mehrere Ubuntuversionen hinweg nicht nötig. Ich lasse den Text nur stehen, falls es für jemand anderen von Interesse sein sollte. Das folgende Einfügen der Firmware in das Firmwareverzeichnis des aktuellen Kernels ist hingegen bei nahezu jedem Kernelupdate von Ubuntu nötig. Wenn jemand einen besseren Trick/Ort kennt, wäre ich sehr interessiert davon zu hören.
Bei größeren Kernelsprüngen, zum Beispiel nach einem Distributionsupgrade, kann es auch vorkommen, dass die Firmwaredatei nicht gefunden wird. In diesem Fall wäre es sinnvoll diese noch vorrätig zu haben und mittels
sudo cp af9005.fw /lib/firmware/$(uname -r)
an die richtige Stelle zu kopieren.Es sollte ausreichen die Datei in /lib/firmware abzulegen. Dann greifen auch alle installierten Kernel auf die Datei zu.
[Bearbeiten] Karte läuft plötzlich nicht mehr und make wirft auf einmal Fehler
Da der Kernel ein "moving target" ist, ändern sich immer wieder wichtige Dinge. In dem Fall sollte man einfach mittels
hg clone http://linuxtv.org/hg/v4l-dvb
die aktuellen Sourcen von v4linux herunterladen, die Alten kann man löschen, einen Updatepfad der auch funktioniert habe ich nicht gefunden, und dann wieder mittels
make sudo make install
bauen und installieren.
[Bearbeiten] Veraltete Anleitung zur Inbetriebnahme
Was nun folgt, ist vermutlich dem geschuldet, dass Video4Linux obige Karte noch nicht offiziell unterstützt (und dies vielleicht niemals wird). Auf meinem Notebook fand ein Scan mit dem dvb-utils-Programm scan jedenfalls nur wenige Frequenzen, mit kaffeine konnte ich gar keine Sender aufspüren. Selbst eine aktive Antenne brachte mich nicht weiter. In verschiedenen Foren hatte ich aber bereits gelesen, dass es grundsätzlich möglich sei, Programme zu empfangen. Ob die für Berlin eingetragenen Frequenzen veraltet waren oder ob der Tuner einfach nicht empfindlich genug ist, kann ich nicht sagen. Ein weiterer Suchlauf auf meinem Desktoprechner föderte immerhin zwei TV-Sender und dutzende Radiosender zu Tage. Darauf komme ich später noch einmal zurück. Mit einem Trick kommt man aber wesentlich besser an eine Kanalliste.
[Bearbeiten] Der Trick
Im Internet sucht man sich die Frequenzen und Sender-IDs der einzelnen Bouquets/Kanäle zusammen. Wichtig sind dabei auch die Daten Bandbreite und FEC eines jeden Bouquets. Zumindest in meinem Fall konnte sonst kein TV-Signal empfangen werden. Für Berlin findet man zum Beispiel diese Liste. Nun nimmt man aus jedem Bouquet irgend einen Sender und trägt diesen manuell unter Channels in Kaffeine ein. Mit New öffnet sich ein Dialog, unter Name wählt man Weg, dann trägt man gewissenhaft Frequency, Transport stream ID, Service ID, FEC low und FEC high sowie Bandwitdh ein. Mit OK bestätigen und mit Done die Kanalliste verlassen. Nun wählt man den Sender durch Doppelklick an, dieser sollte nun von kaffeine abgespielt werden. Nun öffnet man erneut die Kanalliste und klickt auf Start Scan. Wie durch ein Wunder listet binnen Sekunden kaffeine in der Found-Spalte alle Sender aus dem Bouquet. Mit Select All fügt man diese der Channelliste hinzu. Den Sender Weg kann man entfernen. Dies wiederholt man nun für jedes Bouquet.
[Bearbeiten] Für Faule
Für Faule aus Berlin hier meine Channelsdatei aus Berlin Köpenick. Diese gehört auf meinem System in den Ordner
~/.kde/share/apps/kaffeine
Wenn man die Datei öffnet, enthält sie pro Zeile einen Kanal, die Kanalinformationen sind durch Pipes "|" getrennt. Möchte man zwei Dateien mergen, sollte man beachten, dass am Ende eine eindeutige ID mit der Kaffeine die Kanäle referenziert steht. Vereinigt man zwei Dateien, muss man die Einzigartigkeit jeder ID gewährleisten.
[Bearbeiten] Für Glücklose
Findet man im Internet kein Verzeichnis der Frequenzen in der eigenen Region, kann man immer noch dieser Anleitung zur Erstellung einer channels.conf folgen. Angeblich findet scan, in der Anleitung noch dvbscan genannt, bei mehreren Durchläufen immer wieder neue Sender. Die Informationen aus des Scans kann man dann benutzen um kaffeine manuell Sender unterzuschieben und dann der weiteren Anleitung zu Bouquetvervollständigung aus Der Trick zu folgen.
[Bearbeiten] Wenn kaffeine die Kanäle nicht decoded
Wenn man von Ubuntu Jaunty (9.04) auf Karmic Koala (9.10) upgedated hat, kann es außerdem sein, dass kaffeine noch Codecs fehlen. Die Sender können zwar angewählt aber der Stream nicht decoded werden. Dann installiert man schnell:
sudo aptitude install libxine1-plugins libxine1-all-plugins

