ZAPTV-250M

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Teil ist Artikel der Hardware Serie.
Laptops Motherboards Servers Eingabegeräte RAID Controller TV Karten Wireless Andere Hardware Andere Architekturen alphabetischer Hardware Index


Inhaltsverzeichnis

[Bearbeiten] Einleitung

ZAPTV-250M ist ein kleiner USB-Stick (Bild) von Club 3D für den Empfang vom digitalen Antennenfernsehen DVB-T. Hier beschreibe ich, wie du den USB-Stick unter Gentoo 2006.0 mit dem Kernel 2.6.17 (vanilla-kernel) nutzen kannst.

Diese Anleitung lässt sich sicher auch auf andere USB-Sticks übertragen, nur müssen dann halt andere Treiber und andere Firmware ausgewählt werden. Welche anderen DVB-T USB-Sticks noch unterstützt werden, kannst du im DVB USB - LinuxTVWIKI nachlesen.

Achso, wenn im Text nichts anderes erwähnt wird, sind alle Befehle hier als root auszuführen.

[Bearbeiten] Kernel anpassen

Zuerst müssem die nötigen Treiber im Kernel aktiviert werden. Dazu musst du einen eigenen Kernel kompilieren. Folgende Punkte müssen ausgewählt werden:

Code: Kernel Version 2.6.15
Device Drivers  --->
  Multimedia devices  --->
    <*> Video For Linux
      Digital Video Broadcasting Devices  --->
        [*] DVB For Linux
        <*>   DVB Core Support
        <*>     Support for various USB DVB devices
        <*>       WideView WT-200U and WT-220U (pen) DVB-T USB2.0 support (Ya
          Customise DVB Frontends  --->
            --- DVB-T (terrestrial) frontends
            <*> Zarlink MT352 based


Falls der Menüpunkt "Support for various USB DVB devices" nicht vorhanden ist, muss im Kernel noch der "I2C Support" unter "Device Drivers" ausgewählt werden. Eventuell werden noch andere Sachen im Kernel benötigt, aber ich habe nichts ausgewählt, was nicht auch so schon im Kernel war. Wenn du es genau wissen willst, biete ich hier meine eigene Kernel-config an. Bloß nicht komplett übernehmen, da du ja vom USB-Stick mal abgesehen sicher andere Hardware hast!

Jetzt muss in den Kernel-Quellen noch eine Zahl geändert werden. Der USB_Stick meldet sich nämlich mit einer anderen USB ID an, als es der Kernel erwartet. Ohne dieser Änderung wird die Firmware nicht geladen.

# nano -w /usr/src/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h

In dieser Datei bitte folgendes ändern:

Datei: Dateiinhalt /usr/src/linux/drivers/media/dvb/dvb-usb/dvb-usb-ids.h
[...]
/* Product IDs */
[...]
#define USB_PID_WT220U_COLD       0x0222
ersetzen durch
#define USB_PID_WT220U_COLD       0x0220
#define USB_PID_WT220U_WARM       0x0221
[...]


Jetzt den Kernel bauen aber noch nicht neu booten, da uns noch die Firmware fehlt.

[Bearbeiten] Firmware installieren

Die Firmware für unseren ZAPTV-250M steckt im Paket media-tv/linuxtv-dvb-firmware.

Wir wollen jedoch nicht sämtliche Firmware installieren, sondern nur die für unseren Stick. Deshalb muss in der Datei /etc/make.conf irgendwo am Ende noch diese Zeile hinzugefügt werden:

Datei: Dateiinhalt /etc/make.conf
[...]
DVB_CARDS="usb-wt220u"
[...]


Jetzt reicht ein ...

# emerge linuxtv-dvb-firmware

... und wir haben die Firmware an der richtigen Stelle. Allerding nur eine Datei /lib/firmware/dvb-usb-wt220u-01.fw. Der Stick benötigt aber die Datei /lib/firmware/dvb-usb-wt220u-02.fw. Es reicht jedoch, wenn wir einfach einen Link dazu setzen:

# ln -s dvb-usb-wt220u-01.fw dvb-usb-wt220u-02.fw

Jetzt kann der Computer einmal neu gebootet werden.

[Bearbeiten] USB-Stick anschließen und überprüfen

Nach einem Neustart kannst du jetzt den DVB-T Empfänger anschließen. Da sollte schon mal die grüne LED blinken. Genauer kannst du den Erfolg deiner vorherigen Bemühungen so überprüfen:

# lsusb

Code: Ergebnis von # lsusb
[...]
Bus 001 Device 006: ID 14aa:0221 AVerMedia (again) or C&E
[...]


# dmesg | grep dvb

Code: Ergebnis von # dmesg | grep dvb
usbcore: registered new driver dvb_usb_dtt200u
dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in cold state, will try to load a firmware
dvb-usb: downloading firmware from file 'dvb-usb-wt220u-01.fw' to the 'Cypress FX2'
dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully initialized and connected.
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
dvb-usb: found a 'WideView WT-220U PenType Receiver (Typhoon/Freecom)' in warm state.
dvb-usb: will use the device's hardware PID filter (table count: 15).
dvb-usb: schedule remote query interval to 300 msecs.
dvb-usb: WideView WT-220U PenType Receiver (Typhoon/Freecom) successfully initialized and connected.
dvb-usb: recv bulk message failed: -110


Sollte das nicht funktionieren kannst du nur folgendes prüfen:

  • Ist die Firmware vorhanden /lib/firmware/dvb-usb-wt220u-01.fw?
  • Ist der Kernel so wie oben beschrieben kompiliert?
  • Funktioniert überhaupt USB? Mal mit anderen Geräten testen (Kartenleser, Maus).
  • Den Stick auch mal an einem andern (Windows)PC testen.

[Bearbeiten] Sender suchen

Um etwas zu sehen muss erst eine Senderliste erstellt werden. Dazu benötigst du das Programm dvbscan aus dem Paket media-tv/linuxtv-dvb-apps.

# emerge linuxtv-dvb-apps

Wenn du im Ruhrgebiet wohnst kannst du jetzt so (als normaler Benutzer) eine Senderliste erstellen:

# dvbscan /usr/share/dvb/scan/dvb-t/de-Ruhrgebiet > channels.conf

Hinweis: Jede Region hat eine andere Kanalbelegung. Du musst den letzten Befehl hier dementsprechend anpassen. Die verfügbaren Regionen kannst du dir so anzeigen lassen:

# ls /usr/share/dvb/scan/dvb-t/de-*

Sollte deine Region nicht vorhanden sein oder die Kanalliste ist veraltet (es werden nicht alle Sender gefunden) musst du eine neue erstellen. Das ist zb. bei der de-Ruhrgebiet der Fall. Die aktuelle Belegung findest du immer bei DVB-T: DasÜberallFernsehen. Dort die Region auswählen und dann auf Downloads gehen. Mit den Frequenzen dort (zb. Ruhrgebiet) kannst du dir eine neue Kanalliste erstellen oder eine vorhandene aktuallisieren. Für das Ruhrgebiet sieht die dann so aus (Stand 25.05.2006):

Datei: Dateiinhalt kanalliste-ruhrgebiet
T 538000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
T 586000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
T 722000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
T 746000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
T 690000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
T 506000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE
T 674000000 8MHz 2/3 NONE QAM16 8k 1/4 NONE
T 778000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE


Der erneute Befehl (als normaler Benutzer) würde dann so aussehen:

# dvbscan kanalliste-ruhrgebiet > channels.conf

Die Ausgabe davon sieht etwa so aus:

Code: Ausgabe von dvbscan kanalliste-ruhrgebiet > channels.conf
scanning senderliste
using '/dev/dvb/adapter0/frontend0' and '/dev/dvb/adapter0/demux0'
initial transponder 538000000 0 2 9 1 1 3 0
initial transponder 586000000 0 2 9 1 1 3 0
initial transponder 722000000 0 2 9 1 1 3 0
initial transponder 746000000 0 2 9 1 1 3 0
initial transponder 690000000 0 2 9 1 1 3 0
initial transponder 506000000 0 2 9 1 1 2 0
initial transponder 674000000 0 2 9 1 1 3 0
initial transponder 778000000 0 2 9 1 1 2 0
>>> tune to:  538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE 
0x0000 0x4015: pmt_pid 0x0000 RTL World -- RTL Television (running)
0x0000 0x4016: pmt_pid 0x0000 RTL World -- RTL2 (running)
0x0000 0x401b: pmt_pid 0x0000 RTL World -- Super RTL (running)
0x0000 0x4022: pmt_pid 0x0000 RTL World -- VOX (running)
Network Name 'T-Systems'
[...]


[Bearbeiten] Sender mit dem mplayer ansehen

Jetzt wollen wir auch endlich was sehen :-) Dazu verwende ich den media-video/mplayer. Auch wenn du den schon hast, muss er eventuell nochmal neu kompiliert werden. Er benötigt nämlich vorher noch das USE-Flag "dvb" in der Datei /etc/make.conf.

# emerge mplayer

Dann ist es notwendig, dass du die gerade erstellte Datei channels.conf dem mplayer zur Verfügung stellst (als normaler Benutzer):

# cp channels.conf ~/.mplayer/

Jetzt kannst du so ein Programm ansehen:

# mplayer dvb://"Das Erste" -vf lavcdeint

Welche Programme zu Verfügung stehen, kannst du dir in deiner Liste ansehen:

# nano .mplayer/channels.conf


Um das Ganze etwas komfortabler zu gestalten, habe ich ein einfaches Script geschrieben. Das zeigt die Senderliste an und man kann per Maus bequem den Sender auswählen.

Bild:Bildschirmfoto-DVB-T-TV.png

Du benötigst dazu gnome-extra/zenity, also eventuell # emerge zenity vorher ausführen. Ich weiß jedoch nicht, was dazu noch an Gnome/GTK Programmen benötigt wird, da ich hier eh Gnome benutze. Da musst du selbst überlegen, ob das für eine einfache Senderwahl nötig ist. Es gibt ja noch Alternativen.

Dann kopierst du das Script nach /usr/local/bin/ und machst es ausführbar (# chmod 775 /usr/local/bin/dvbttv).

Datei: Dateiinhalt /usr/local/bin/dvbttv
#! /bin/bash
## dieses script stellt bisher nur eine einfache senderliste zur verfügung
## vorschläge/verbesserungen sind willkommen:
## http://de.gentoo-wiki.com/index.php?title=Diskussion:ZAPTV-250M&action=edit

if [ -d /dev/dvb ]
  then

cd ~

## eventuell laufende programme beenden, die wir hier benötigen
killall gmplayer mplayer

## kanalliste anzeigen und sender auswählen
cut .mplayer/channels.conf -d":" -f1 | zenity --width=200 --height=500 --list --title="DVB-T TV" --text="Sender auswählen:" --column="Programmliste" > .sender
$KANALNAME=`cut -f1 .sender`

## mit mplayer wiedergeben
mplayer dvb://"$KANALNAME" -vf lavcdeint -quiet
rm .sender

  else
        zenity --error --text="Es ist noch kein DVB-T Gerät angeschlossen!"
fi


Nun noch einen Menüeintrag mit einem netten Icon für Gnome erstellen und fertig ist ein einfaches DVB-T TV "Programm". zb. so als root gleich für alle Benutzer:

Datei: Dateiinhalt /usr/share/applications/dvbttv.desktop
[Desktop Entry]
Encoding=UTF-8
Name=DVB-T TV
Comment=DVB-T Fernsehprogramme am PC ansehen
Exec=dvbttv
Icon=gnome-background.png
StartupNotify=true
Terminal=false
Type=Application
Categories=GNOME;Application;AudioVideo;


Diese Datei gehört nach /usr/share/applications/.

[Bearbeiten] Probleme

Bisher keine. Jedoch habe ich zusätzliche Dinge wie Aufnahme, schnelles zappen, Fernbedienung usw. noch nicht verwendet/eingerichtet.

[Bearbeiten] Fazit

Der ZAPTV-250M ist ein kleiner DVB-t Empfänger, der sich problemlos unter Gentoo benutzen lässt. Mit der mitgelieferten Stummelantenne direkt am USB-Stick hat man in Fensternähe schon einen guten Empfang und draußen sowieso. Das ist jedoch eine rein subjektive Bewertung und lässt sich nicht auf andere Empfangsgebiete übertragen! Aber selbst bei anderen Bedingungen kann man sich mit dem USB-Verlängerungskabel und der zusätzlichen Magnetfußantenne (gehört mit zum Lieferumfang) sicher immer eine günstige Position suchen. Jetzt können WM und Tour de France kommen :-)

'Persönliche Werkzeuge