ZAPTV-250M
Aus Gentoo Linux Wiki
| 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.
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 :-)

