linux:dvb-t

DVB-T mit Ubuntu-Linux (am Beispiel von AVerMedia AVerTV DVB-T USB 2.0)

Die „AVerMedia AVerTV DVB-T USB 2.0“ wirbt bereits mit Linux-kompatibilität, was für mich der Grund war das Ding zu kaufen (es hat mal jemand Marketing verstanden). Das Beispiel ist anhand von Ubuntu-Linux 6.06 LTS erstellt.

Tatsächtlich geht die Installation recht einfach

  1. reinstecken
  2. mit dmesg | tail erhält man folgende Meldungen
[17252761.564000] usb 5-7: USB disconnect, address 10
[17252771.884000] usb 5-7: new high speed USB device using ehci_hcd and address 11
[17252772.788000] dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in cold state, will try to load a firmware
[17252772.836000] dvb-usb: did not find the firmware file. (dvb-usb-avertv-a800-02.fw) Please see linux/Documentation/dvb/ for more details on firmware-problems.
[17252772.836000] dvb-usb: AVerMedia AverTV DVB-T USB 2.0 (A800) error while loading driver (-2)
[17252772.836000] dvb_usb_a800: probe of 5-7:1.0 failed with error -2

D.h. es fehlt ihm die passende Firmware für das Gerät, diese findet man unter http://www.linuxtv.org/download/dvb/firmware/ , die genaue URL zur Firmware ist also http://www.linuxtv.org/download/dvb/firmware/dvb-usb-avertv-a800-02.fw . Diese lädt man herunter und kopiert sie (mit root-Rechten) in das Verzeichnis /lib/firmware/„KERNELVERSION“ .

Also

sudo cp dvb-usb-avertv-a800-02.fw /lib/firmware/`uname -r`/

Wenn man alles richtig gemacht hat erscheint nach dem erneuten Anschließen des Gerätes eine Meldung (wieder dmesg | tail eingeben):

[17252990.116000] usb 5-7: new high speed USB device using ehci_hcd and address 12
[17252990.388000] dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in cold state, will try to load a firmware
[17252990.416000] dvb-usb: downloading firmware from file 'dvb-usb-avertv-a800-02.fw' to the 'Cypress FX2'
[17252990.484000] dvb-usb: AVerMedia AverTV DVB-T USB 2.0 (A800) successfully initialized and connected.

Und tatsächlich ergibt

lsmod | grep dvb
dvb_usb_a800            5636  0
dvb_usb_dibusb_common     8068  1 dvb_usb_a800
dib3000mc              15744  1 dvb_usb_dibusb_common
dvb_usb                18952  2 dvb_usb_a800,dvb_usb_dibusb_common
dvb_core               82984  1 dvb_usb
dvb_pll                11012  2 dvb_usb_dibusb_common,dvb_usb
i2c_core               21904  4 dib3000_common,dvb_usb,i2c_acpi_ec,i2c_viapro
usbcore               130820  7 dvb_usb_a800,dvb_usb,usb_storage,usbhid,ehci_hcd,uhci_hcd

d.h. das DiBcom 3000P-Modul (das für diese Hardware zuständig ist) ist geladen.

Dann muss man tatsächliche einmal neustarten.

Dabei trat bei mir das Problem auf, dass kein frontend angelegt wurde: (dmesg)

dvb-usb: no frontend was attached by 'AVerMedia AverTV DVB-T USB 2.0 (A800)'

wenn man normal bootet (und die Box ist von Anfang an dran) geht es :?:.

[17184327.496000] DVB: registering new adapter (AVerMedia AverTV DVB-T USB 2.0 (A800)).
[17184327.496000] dib3000: Found a DiBcom 3000P.
[17184327.496000] DVB: registering frontend 0 (DiBcom 3000P/M-C DVB-T)...
[17184327.496000] input: IR-receiver inside an USB DVB receiver as /class/input/input7
[17184327.496000] dvb-usb: schedule remote query interval to 150 msecs.
[17184327.496000] dvb-usb: AVerMedia AverTV DVB-T USB 2.0 (A800) successfully initialized 

Ab Ubuntu 7.10 wird alles automatisch eingerichtet.

[20404.420000] dvb-usb: found a 'AVerMedia AverTV DVB-T USB 2.0 (A800)' in warm state.
[20404.420000] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[20404.420000] DVB: registering new adapter (AVerMedia AverTV DVB-T USB 2.0 (A800)).
[20405.304000] DVB: registering frontend 0 (DiBcom 3000MC/P)...
[20405.344000] input: IR-receiver inside an USB DVB receiver as /class/input/input8
[20405.344000] dvb-usb: schedule remote query interval to 150 msecs.
[20405.344000] dvb-usb: AVerMedia AverTV DVB-T USB 2.0 (A800) successfully initialized and connected.
[20405.344000] usbcore: registered new interface driver dvb_usb_a800

Kaffeine macht einen ordentlichen Scan und funktioniert auch gut. Falls etwas nicht funktioniert, lässt sich aus der Fehlermeldung erkennen, welches Plugin noch fehlt (z.B. für xvid).

Eine Fehlermeldung wegen fehlendem Demuxer löst dieses Paket:

aptitude install libxine1-all-plugins

Als Viewer geht auch Xine, dazu braucht man noch einige tools (dvb-utils), diese sind im universe enthalten, welches man unter Umständen in Synaptic unter Einstellungen/Paketquellen/Hinzufügen aktivieren muss. Wenn man schon in Synaptic ist, kann man gleich xine-ui und die dvb-tools installieren oder auf der Shell die Zeile

sudo apt-get install xine-ui dvb-utils

eingeben.

Bevor wir überhaupt ein Programm sehen können eine Datei (channels.conf) erstellen:

Ich habe dazu w_scan benutzt. W_scan (VDR-Wiki-Eintrag

Dann ruft man erstmal scan auf

dvbsnoop ist ein DVB / MPEG stream analyzer. Es kann DVB / MPEG / DSM-CC / MHP stream beobachten, analysieren, debuggen, dumpen oder Informationen anzeigen.

femon