DVB-T über USB auf dem EeePC

Diese Seite soll helfen, den Aufwand, der nötig ist, um einen DVB-T Empfänger am EeePC ans Laufen zu kriegen, möglichst gering zu halten. Die Installation der erforderlichen Komponenten wird schrittweise erklärt. Auf dem EeePC, oder wenn man sonst wenig Platz im Browserfenster hat, ist es übrigens ganz angenehm, diese Seite in der Druckansicht (oben rechts, „Drucken”) zu betrachten.

[29.07.2008] In den letzten Monaten sind einige neue Empfänger auf den Markt gekommen, die Treiber dafür habe jetzt mit in das Paket aufgenommen. Gleichzeitig habe ich einige Anregungen aus Zuschriften aufgegriffen, um diese Seite zu verbessern. Die Ergänzungen stehen immer in Absätzen, die mit dem entsprechenden Datum anfangen, wie dieser hier. Ganz neu hinzugekommen ist ein Seite, die erklärt, wie das Paket gebaut wurde.

Kernel-Module (Treiber)

Die Treiber für die verschiedenen Geräte sind unter Linux eigentlich immer Kernel-Module. In dem Kernel (2.6.21.4-eeepc), mit dem der EeePC ausgeliefert wird, fehlen die Module für DVB leider ganz. Wenn sie da wären, würden sie aber auch nicht immer helfen, weil einige moderne DVB-T Empfänger erst ab der Version 2.6.24 des Linux-Kernels unterstützt werden. Zum Glück lassen sich die meisten neuen Module aber mit dem älteren Kernel übersetzen. Dies habe ich getan und das Ergebnis als Debian-Paket gepackt. Um es auf dem EeePC zu installieren sind folgende Schritte erforderlich:

  • Mit der rechten Maustaste auf das Paket dvb-drivers-2.6.21.4-5_eeepc klicken und es mit „Ziel speichern unter...” herunterladen. Als Zielverzeichnis ist hier normalerweise das Heimatverzeichnis von user (/home/user) eingestellt, und dorthin soll das Paket auch.
  • Mit Strg+Alt+T ein Terminal öffnen, ohne das geht es leider nicht.
  • Im Terminal den Befehl
    sudo dpkg -i dvb-drivers-2.6.21.4-5_eeepc.deb” eingeben (1) und damit das Paket installieren.

In diesem Paket sind auch die nötigen Regeln für das udev (dynamic device management) enthalten.

[29.07.2008] Das Paket „Digital-TV (DVBT)”, das man sich seit einiger Zeit von Asus herunterladen kann, unterstützt nur den Empfänger von Asus. Wer einen solchen besitzt, kann mit diesem Paket arbeiten und braucht dann meins nicht. Beide Pakete gleichzeitig zu installieren, kann aber zu Problemen führen.

Firmware

Wenn jetzt der DVB-T Empfänger eingesteckt wird (falls er schon steckt, einfach noch mal raus und wieder rein damit), sollte sich der Treiber melden und nach einer Firmware verlangen. Die Meldungen kann man sich im Terminal mit dem Befehl „dmesg” ansehen. Im Fall des Hauppauge Nova-TD, den ich habe, heißt die Firmware dvb-usb-dib0700-1.10.fw. Diese Firmware muss jetzt heruntergeladen werden, eine gute Quelle dafür ist zum Beispiel LinuxTV.org. Ansonsten hilft es meistens, den Dateinamen in die Suchmaschine des geringsten Misstrauens einzugeben. Die Firmware muss auf dem EeePC in das Verzeichnis /usr/lib/hotplug/firmware/ gelegt werden (2).

Senderliste

[29.07.2008] Die Initialisierungsdateien in den dvb-utils sind mit der Weile so veraltet, dass es besser ist, gleich zu w_scan zu greifen, wie im übernächsten Absatz beschrieben.

Zum Erstellen der Senderliste habe ich das Paket dvb-utils aus der Debian Stable Distribution genommen. Dieses Paket muss so installiert werden, wie es oben bei den Treibern beschrieben wird. Bei der Erzeugung der Senderliste muss darauf geachtet werden, mit der richtigen Initialisierungsdatei zu beginnen. In dem Paket sind eine Menge davon enthalten, für den Köln-Bonner Raum lautet der Befehl zum Beispiel
scan /usr/share/doc/dvb-utils/examples/scan/dvb-t/de-Koeln-Bonn > .mplayer/channels.conf.ter(1).

Eine interessante Alternative dazu ist w_scan. Das ist ein vollwertiger Scanner, der ohne Initialisierungsdatei auskommt. Das fertig compilierte w_scan aus dem Tarball, den man von obiger Seite herunterladen kann, funktioniert auf dem EeePC einwandfrei.

[29.07.2008] Der Link „Download w_scan” befindet sich unten auf der Seite, den Tarball speichert man am besten wieder im Heimatverzeichnis, wie bei dem Treiberpaket beschrieben. Dann geht es im Terminal mit folgenden Befehlen weiter:
tar -xjf w_scan-20080720.tar.bz2 w_scan-20080720/w_scan” und „w_scan-20080720/w_scan -X > .mplayer/channels.conf.ter(1)

Die Versionsnummer von w_scan muss natürlich gegebenenfalls noch angepasst werden. Anschließend kann der Tarball gleich wieder gelöscht werden, falls noch mal ein Sendersuchlauf nötig ist, reicht es, den zweiten Befehl zu wiederholen.

MPlayer

Das einzige standardmäßig auf dem EeePC installierte Programm, mit dem man fernsehen kann, ist mplayer. Wenn soweit alles geklappt hat, kann man ihn im Terminal zum Beispiel mit dem Befehl „mplayer -fs dvb://"Das Erste"(1) starten.

Weil ein normales Fernsehbild mit 576 Punkten schon höher ist als der Bildschirm des EeePCs, ist es sinnvoll, mplayer immer mit der Option „-fs” (fullscreen) zu starten. In obigem Beispiel sind die Anführungszeichen um den Sendernamen notwendig, weil er ein Leerzeichen enthält, die Namen in .mplayer/channels.conf.ter darf man aber nach Belieben ändern.

Bei laufendem mplayer kann man mit den Tasten h und k in der Senderliste vor beziehungsweise zurück gehen. Die Verstellung der Lautstärke von mplayer aus funktioniert dagegen leider nicht mit den Standardeinstellungen, wegen der seltsamen Belegung der Kanäle im Audio-Mixer des EeePCs. Abhilfe schaffen hier die beiden Zeilen „ao=alsa” und „mixer-channel=LineOut” in der Datei .mplayer/config (wie bei den Befehlen ohne die Anführungszeichen).

Mediaplayer

Der Mediaplayer auf dem EeePC ist kein eigenständiges Programm, sondern nur eine grafische Oberfläche für den MPlayer. Um damit bequem die Sender wechseln zu können, braucht der Mediaplayer aber eine Abspielliste im m3u-Format. Ein solche kann mit einem geeigneten Filter aus der oben erzeugten .mplayer/channels.conf.ter werden, zum Beispiel mit mkdvbtm3u.py. Dies wird, wie oben bei dem Treiberpaket beschrieben, in das Heimatverzeichnis gelegt und dann mit dem Befehl „python mkdvbtm3u.py” gestartet. Das Ergebnis ist eine Datei namens dvb-t.m3u, die im Mediaplayer als Abspielliste geladen werden kann.

Und nun viel Spaß beim Fernsehen mit dem EeePC,

Martin


  1. Am einfachsten geht das mit Cut & Paste:

    Mit der linken Maustaste auf den ersten Buchstaben klicken, die Taste gedrückt halten, die Maus zum letzten Buchstaben bewegen und die linke Taste dort loslassen (Vorsicht, die führenden und schließenden Anführungszeichen gehören nicht zum Befehl.)

    Jetzt mit der Maus in das Terminalfenster gehen, dort den ausgeschnittenen Text durch einen Klick mit der mittleren Maustaste einfügen und die Eingabetaste drücken. Viele moderne Mäuse haben statt der mittleren Taste ein Rad, das man genauso drücken kann. Wenn die Taste ganz fehlt, wie auf dem Touchpad des EeePCs, kann sie durch gleichzeitiges Drücken der rechten und linken Maustaste simuliert werden.

    Die hier verwendeten Befehle sind übrigens alle Einzeiler. Auch wenn der Browser sie eventuell irgendwo umbrechen sollte, darf im Terminal an dieser Stelle trotzdem nur ein Leerzeichen stehen. Cut & Paste macht das automatisch richtig.

  2. Wenn der Browser die Datei im Heimatverzeichnis abgelegt hat, kann man sie von dort einfach mit einem Dateimanager, zum Beispiel konqueror, verschieben, oder mit einem Befehl im Terminal, in meinem Fall „mv dvb-usb-dib0700-1.10.fw /usr/lib/hotplug/firmware/”. Für die Firmware muss dabei natürlich der richtige Dateiname eingesetzt werden.