Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Der Stick benötigt unbedingt einen USB-2.0-Port, ein USB-1.1-Anschluss liefert nicht die zur Übertragung notwendige Bandbreite. Also ggf. über den Gerätemanager zunächst die USB-Anschlüsse überprüfen.
Dieser Artikel beschreibt die Installation und Inbetriebnahme von TV-Karten, die mit einem em28xx-Treiber funktionieren. Das Vorgehen wird exemplarisch an einer Terratec Cinergy Hybrid T USB XS (andere Karten siehe unten) gezeigt.
Grundsätzlich lassen sich zwei Methoden verwenden, die sich allerdings gegenseitig ausschließen:
Erstellen und Laden der Module aus em28xx-new;
Verwenden von fertigen Paketen (versions- und kernelabhängig), ab Jaunty.
xc3028-v27.fw-Datei verwenden - seit Kernelversion 2.6.27 ist der Support z.T. in den Kernel bereits integriert, es fehlt nur eine Firmware-Datei
Es gibt Karten, die mit beiden Versionen funktionieren, einige laufen allerdings nur mit der ersten oder der zweiten Methode.
Markus Rechberger hat leider die Entwicklung von em28xx-new komplett eingestellt; sein Repo hat er komplett aus dem Netz genommen. Es existieren einige Anpassugen an neuere Kernelversionen. Diese Daten finden sich auch auf bitbucket.org ; letzte Aktualisierung dort ist allerdings für Kernel 2.6.30. Es existieren Patche bis einschließlich Kernelversion 2.6.37 (zu finden auf opensuse.org )
Alternative: Die Paketversionen funktionieren auch mit Kernelversion ab 2.6.31-14, die letzten erstellten Pakete sind für 2.6.35-28
Folgenden Pakete müssen installiert [1] werden:
build-essential
Um den Stick nutzen zu können, müssen die benötigten Kernel-Module erstellt werden. Dafür muss noch das Paket
linux-source [7]
installiert werden. Außerdem wird das Paket linux-headers passend zur eigenen Kernel-Version und -Architektur (-generic
, -386
, -generic-pae
usw.) benötigt. Dieses Paket lässt sich über den folgenden Befehl installieren:
sudo apt-get install linux-headers-$(uname -r)
Diese Methode, die Kernelmodule für Karten mit einem empiatech-Chip zu installieren (Liste der unterstützten Geräte), besteht seit Hardy Heron (bzw. Kernelversionen ab 2.6.24-16).
Etwas einfacher ist diese Methode; allerdings sind die Pakete ggf. nicht für alle Kernel-Versionen verfügbar. Wer einen anderen Kernel verwendet, ist mit der Methode oben besser bedient. Nach dieser ursprünglich für die Pinnacle Hybrid 320e/330e Karten (320e = USB-ID eb1a:2881; 330e = USB-ID 2304:0226) entwickelten Methode können auch andere em28xx-basierte Karten verwendet werden. PAkete sind bis Kernelversion 2.6.35-28 vorhanden; ggf. kann man das entstehende Verzeichnis /lib/modules/KERNELVERSION/empia, sowie weitere im .deb vorhandene Dateien (in em28xx.35-28 z.B. modules.builtin, modules.devnames, modules.softdep) in das bestehende Verzeichnis /lib/modules/EIGENER_KERNELVERSION verschieben, das funktioniert allerdings leider nicht für alle Versionen. Ggf. den Rechner mit der Kernelversion starten, für die das Paket vorhanden ist.
Fremdpakete können das System gefährden.
Zunächst eine eventuell vorhandene Firmware-Datei xc3028-v27.fw aus /lib/firmware wieder entfernen, oder zumindest umbenennen (Root-Rechte erforderlich!)
Dann von jiemeb.free.fr das für den eigenen Kernel/Architektur passende Paket herunterladen und installieren; und anschließend dieses cleanEm28xxSkript herunterladen, ausführbar machen und im Terminal starten. Das Skript entfernt einige im Konflikt stehende Module aus /lib/modules/"eigene Kernelversion"/kernel/drivers/media/common/tuners; die Nachfragen nach dem Entfernen regulärer *.ko-Dateien also bejahen.
Dadurch werden bisher auftretende Probleme mit einigen Karten (keine Funktion, fehlender Sound, Abstürze etc.) behoben; nach einem Neustart sollten die Karten reibungslos funktionieren. Weitere Informationen finden sich hier bei ubuntu-forum.de; oder hier im französischen Ubuntu-Forum.
Diese Methode greift auch für einige, leider nicht alle, Karten, die mit em28xx-new (s.o.) funktioniert hatten, aber unter Kernelversionen ab 2.6.27-9 mit dem integrierten v4l-dvb-Support Probleme bereiten (z.B. Terratec Cinergy Hybrid T USB XS, USB-ID 0ccd:005e und 0ccd:0042). Die bisher verwendeten Module werden mit diesem Verfahren auch ab dem Kernel 2.6.27-9 nutzbar gemacht.
Diese Methode funktioniert ggf. nicht bei pae-Kerneln für multicore-Rechner! (uname -r
-Ausgabe z.B. 2.6.29-22-generic-pae o.ä.)
In dieser Liste sind die derzeit von em28xx-new unterstützten Geräte verzeichnet, wie sie im Quellcode der Software (in em28xx-cards.c) stehen (Stand 26.02. 2009). Bitte Angaben zu eigenen Karten ergänzen, wenn nicht vorhanden.
Die von den Paketversionen unterstützen Karten können abweichen, da zum Erstellen ggf. andere Versionen von em28xx-new verwendet wurden.
Unterstützte Karten | ||||
USB-ID | Em-Chip | interner Name | Handelsbezeichnung | Hinweise |
eb1a:2800 | EM2800 | GENERIC | ||
eb1a:2820 | EM2820 | GENERIC | ||
eb1a:2821 | EM2821 | GENERIC | Pixelview Prolink PlayTV USB 2.0 (?) | |
eb1a:2750 | EM2750 | GENERIC | ||
eb1a:2860 | EM2860 | GENERIC | ||
eb1a:2861 | EM2861 | GENERIC | ||
eb1a:2881 | EM2881 | GENERIC | BestBuy Easy TV USB hybrid (?) Pinnacle PCTV Hybrid Pro Stick (?) | |
eb1a:2870 | EM2870 | GENERIC | Pinnacle PCTV USB Stick | |
eb1a:e310 | EM2880 | MSI_DIGIVOX_AD | MSI DigiVox A/D | |
eb1a:e320 | EM2880 | MSI_DIGIVOX_AD_II | MSI DigiVox A/D II | |
eb1a:e300 | EM2861 | KWORLD_PVRTV_300U | KWorld PVRTV 300U | |
eb1a:e350 | EM2870 | KWORLD_350U | Kworld 350 U DVB-T | |
eb1a:e355 | EM2870 | KWORLD_355U | Kworld 355 U DVB-T | |
eb1a:e357 | EM2870 | KWORLD_355U | ||
1ae7:0380 | EM2870 | KWORLD_355U | ||
0ccd:0036 | EM2820 | TERRATEC_CINERGY_250 | TerraTec Cinergy 250 USB | Details |
2304:0208 | EM2820 | PINNACLE_USB_2 | Pinnacle PCTV USB 2 | |
2040:4200 | EM2820 | HAUPPAUGE_WINTV_USB_2 | Hauppauge WinTV USB 2 | |
2040:4201 | EM2820 | HAUPPAUGE_WINTV_USB_2_R2 | Hauppauge WinTV USB 2 | |
2040:650a | EM2870 | HAUPPAUGE_WINTV_USB_2_R2 | ||
2304:0207 | EM2820 | PINNACLE_DVC_90 | Pinnacle Dazzle DVC 90 | |
1b80:e302 | EM2820 | PINNACLE_DVC_90 | Kiaser Baas Video to DVD maker | |
2304:021a | EM2820 | PINNACLE_DVC_100 | Pinnacle Dazzle DVC 100 | |
2040:6500 | EM2880 | HAUPPAUGE_WINTV_HVR_900 | Hauppauge WinTV HVR 900 | |
2040:6502 | EM2880 | HAUPPAUGE_WINTV_HVR_900_R2 | Hauppauge WinTV HVR 900 (R2) | |
0ccd:0042 | EM2880 | TERRATEC_HYBRID_XS | TerraTec Cinergy Hybrid T USB XS | Details Achtung: als Chip wird z.T. trotz gleicher USB-ID EM2882 verwendet; em28xx-new kompiliert nicht unter Lucid, daher sollte man besser v4l nutzen, mit dem der Stick funktioniert, wenn man den Quellcode wie hier beschrieben ändert. |
0ccd:004f | EM2860 | TERRATEC_HYBRID_XS | Terratec Cinergy A Hybrid XS | |
0ccd:004c | EM2880 | TERRATEC_HYBRID_XS_FR | Terratec Hybrid XS Secam | |
0ccd:005e | EM2882 | TERRATEC_HYBRID_XS | TerraTec Cinergy Hybrid T USB XS (em2882) | Details |
0ccd:0043 | EM2870 | TERRATEC_XS | TerraTec Cinergy T XS | Details |
0ccd:0047 | EM2880 | TERRATEC_PRODIGY_XS | TerraTec Prodigy Hybrid T XS | Details (Clone/OEM-Version der Cinergy-Hybrid) |
185b:2870 | EM2870 | COMPRO_VIDEOMATE | Compro, VideoMate U3 | |
0413:6023 | EM2800 | LEADTEK_WINFAST_USBII | Leadtek Winfast USB II | |
2001:f112 | EM2820 | DLINK_USB_TV | D-Link DUB-T210 TV Tuner | |
eb1a:2883 | EM2883 | GENERIC | ||
2040:6513 | EM2883 | HAUPPAUGE_WINTV_HVR_950 | HCW HVR-980 | |
2040:6517 | EM2883 | HAUPPAUGE_WINTV_HVR_950 | HP HVR-950 | |
2040:651b | EM2883 | HAUPPAUGE_WINTV_HVR_950 | RP HVR-950 | |
2040:651f | EM2883 | HAUPPAUGE_WINTV_HVR_950 | HCW HVR-850 | Details |
2304:0227 | EM2883 | PINNACLE_PCTV_HD_PRO | Pinnacle PCTV HD Pro Stick | |
2304:0226 | EM2882 | PINNACLE_HYBRID_PRO | Pinnacle Hybrid Pro (2) (330e) | unter jaunty momentan ggf. nur .deb-Methode nutzbar |
eb1a:2751 | EM2751 | EMPIA_SAMPLE | ||
eb1a:e305 | EM2880 | KWORLD_DVB_305U | KWorld DVB-T 305U | |
eb1a:a316 | EM2883 | KWORLD_HYBRID_A316 | Kworld PlusTV HD Hybrid 330 | |
093b:a005 | EM2861 | PLEXTOR_PX_TV100U | Plextor ConvertX PX-TV100U | |
eb1a:50a6 | EM2860 | GADMEI_UTV330 | Gadmei UTV 330 | |
0ccd:0072 | EM2883 | TERRATEC_HYBRID_XS_FM | TerraTec Cinergy Hybrid T USB XS FM | Details ; funktioniert nur em28xx-new, ggf. auch nur mit einem Patch! |
0ccd:0092 | EM2883 | TERRATEC_HYBRID_XS_FM | TerraTec Cinergy Hybrid T USB XS FM | Details ; ggf. nicht unter hardy nutzbar! |
eb1a:2863 | EM2863 | EMPIA_GENERIC | ||
eb1a:f306 | EM2883 | KWORLD_HYBRID_F306 | KWorld PlusTV F306 | |
eb1a:e306 | EM2883 | KWORLD_HYBRID_F306 | development only | |
1b80:e329 | EM2888 | KWORLD_HYBRID_E329 | ||
eb1a:2889 | EM2888 | EMPIA_HYBRID | ||
eb1a:e323 | EM2883 | KWORLD_HYBRID_E323 | Kworld VS-DVB-T 323UR | |
eb1a:a139 | EM2888 | LINCOLN_TV_FM | Lincoln TV FM | |
0438:b002 | EM2883 | ATI_TVWONDER600 | AMD ATI TV Wonder HD 600 | |
eb1a:2875 | EM2875 | SAMPLE_ISDBT | ||
eb1a:2879 | EM2879 | SAMPLE_DMB | ||
eb1a:e301 | EM2860 | KAIOMY_TVNPC_U2 | Kaiomy TVnPC U2 | |
0413:6f02 | EM2882 | LEADTEK_PALMTOP_DTV_200H | ||
185b:2041 | EM2820 | COMPRO_VIDEO_MATE | Compro VideoMate ForYou/Stereo | |
eb1a:e359 | EM2870 | KWORLD_355U | ||
1d2c:1012 | EM2883 | EQUINUX_TUBESTICK_ATSC | Equinux TubeStick Hybrid ATSC | Details |
0ccd:008e | EM2888 | TERRATEC_XS_HTC | TerraTec Cinergy HTC USB XS HD | Details wird nicht unterstützt! (hier) |
eb1a:2885 | EM2885 | EMPIA_DVBC | MSI DigiVox mini Trio | (Unterstützung wird getestet) |
eb1a:8175 | EM28175 | EMPIA_HYBRID |
Die folgende und die oben genannten Methoden schließen sich gegenseitig aus!
Seit der Einführung von Intrepid Ibex werden viele Karten schon direkt vom Kernel unterstützt; es fehlt nur eine Firmware-Datei, um die Karten - spätestens nach einem Neustart - funktionsfähig zu machen. Informationen zu unterstützten Karten, z.T. mit USB-ID finden sich hier auf Linuxtv.org . Nachteil: Die Verwendung der Fernbedienung ist ggf. nicht möglich; sie wird bei dieser Methode momentan oft nicht erkannt.
Die Firmware ist in aktuellen Ubuntuversionen im Paket linux-firmware-nonfree enthalten und kann nach Installation sofort genutzt werden.
Es muss ggf. das Paket
linux-image-x.xx.xx (dem verwendeten Kernel entsprechend)
korrekt installiert sein.
Leider funktioniert diese Methode noch nicht für alle in der Liste oben aufgeführten Karten; es erscheinen in der Ausgabe von dmesg u.A. Fehlermeldungen wie
[ 5985.573727] em28xx #0: The support for this board weren't valid yet. [ 5985.573732] em28xx #0: Please send a report of having this working [ 5985.573736] em28xx #0: not to V4L mailing list (and/or to other addresses)
oder
[ 34.564136] em28xx #0: Your board has no unique USB ID and thus need a hint to be detected. [ 34.564141] em28xx #0: You may try to use card=<n> insmod option to workaround that. [ 34.564144] em28xx #0: Please send an email with this log to: [ 34.564147] em28xx #0: V4L Mailing List <video4linux-list@redhat.com>
Eventuell hilft es dann, mit den Befehlen
sudo rmmod em28xx sudo modprobe em28xx card="xx" # "xx" steht für die Kartennummer aus em28xx.h sudo modprobe em28xx-dvb
ein ggf. geladenes em28xx-Modul zu entfernen und es kartenspezifisch neu zu laden (ggf. es auch mit em28xx-alsa versuchen).
Allerdings funktioniert auch das nicht immer; es kommt z.T. zu Soundproblemen besonders im Analog-Betrieb. Dann hilft es, die oben beschriebene Standard-Methode anzuwenden. Falls auch die Methode nicht greift, bleibt als temporäre Abhilfe die Installation und Verwendung eines "früheren" Kernels.
Ob alles geklappt hat, kann man in einem Terminal [3] mit
dmesg
überprüfen. In der (etwas umfangreicheren) Ausgabe sollten sich dann Einträge wie
1 2 3 4 5 6 7 8 9 10 11 12 | [ 17.752146] em28xx #0: V4L2 VBI device registered as /dev/vbi0 [ 17.769273] em28xx #0: V4L2 device registered as /dev/video0 [ 17.769415] input: em2880/em2870 remote control as /devices/virtual/input/input6 [ 17.800341] em28xx-input.c: remote control handler attached [ 17.800347] em28xx #0: Found Terratec Hybrid XS [ 17.800365] audio device (0ccd:0042): interface 1, class 1 [ 17.800378] audio device (0ccd:0042): interface 2, class 1 [ 17.800411] usbcore: registered new interface driver em28xx [ 17.863041] em2880-dvb.c: DVB Init [ 18.217635] DVB: registering new adapter (em2880 DVB-T) [ 18.217643] DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)... [ 18.218274] Em28xx: Initialized (Em2880 DVB Extension) extension |
finden, die einem anzeigen, dass die Treiber geladen sind, der Stick erkannt ist und alles rund läuft.
Es gibt etliche Programme, welche man für DVB-T nutzen kann, unter anderem Kaffeine, VLC, Totem und XINE. Für die Grundkonfiguration ist unter Umständen die Verwendung von dvb-utils erforderlich. Falls kein Ton wiedergegeben wird, liegt es eventuell daran, dass nicht die richtigen Codecs installiert sind.
Für analogen Empfang empfehlen sich xawtv, die Konfiguration verhält sich ähnlich der für normales Anlog-TV .
Die Fernbedienung funktioniert z.Z. nur teilweise "out-of-the-box" (Zahlentasten, Lautstärke, Up, Down, Left, Right, Delete, Home, Power). In diesem Thread stehen zur Verwendung von Lirc nähere Einzelheiten zur Einrichtung der Terratec-Cinergy-Hybrid-Fernbedienung. Mit der Firmware-Methode ist noch kein Erkennung der IR-Empfänger implementiert; die Fernbedienungen funktionieren daher momentan ggf. nur mit den Modulen aus em28xx-new.
Bei einigen TV-Karten (z. B. Hauppauge HVR 900 Modell 65018, Pinnacle Hybrid Pro Stick (EB1A:2881)), kann es zu Ton-Problemen kommen. Ein Workaround hierzu könnte sein, in einem Terminal Folgendes einzugeben [3] :
arecord -D hw:X,0 -f S16_LE -c2 -r48000 | aplay
Das X steht für die Audiohardware. Wenn nur eine Soundkarte installiert ist, wäre eine 1 einzusetzen. Es wird bei 0 angefangen zu zählen und 0 ist die ursprüngliche Soundkarte. Ggf. ist noch die Angabe einer Puffergröße "--buffer-size
" nötig, z.B.
arecord -D hw:X,0 -f S16_LE -c2 -r48000 --buffer-size 1000 | aplay --buffer-size 1500
Ansonsten kann man sich die Hardware auch mit
arecord -l
anzeigen lassen. Die in Frage kommende Karte hat den Namen "Em28xx Audio
". Wenn kein Ton zu hören ist, hilft es häufig, die Karte vom Rechner zu trennen und wieder zu verbinden.
Zeigt "arecord -l
" kein entsprechendes Gerät an, kann dieses zwei Ursachen haben:
Die TV-Karte hat keine eigene Soundausgabe. Dann sollte es ein Kabel von der TV-Karte zur Soundkarte geben. Als " X
" im obigen Befehl nimmt man dann die Soundkarte.
Der ALSA-Treiber für die Karte ist nicht (richtig) installiert. Vor allem bei einem selbstkompilierten ALSA-Treiber kann es vorkommen, dass man nur den Treiber für die eigene Soundkarte kompiliert hat. Hier empfiehlt sich die Neu-Kompilierung des alsa-Treiberpakets. Statt "--with-cards=x
", gibt man dann "--with-cards=x,y
" an, wobei "y
" für den Audio-Treiber der TV-Karte steht (z.B. usb-audio).
Das Kernelmodul em28xx sollte mit dem folgenden Parameter neu geladen werden:
sudo rmmod em28xx_dvb em28xx sudo modprobe em28xx card=16 sudo modprobe em28xx_dvb
Eine genauere Anleitung hierzu findet sich im Forum.
Wenn der Sound beim analogen Fernsehen nicht funktioniert muss das Modul em28xx aus dem Speicher entfernt und mit dem Parameter card=55 neu geladen werden.
sudo rmmod em28xx_dvb em28xx sudo modprobe em28xx card=55 sudo modprobe em28xx_dvb
Unter Lucid Lynx 10.04 funkioniert diese Methode allerdings nicht, man verwendet besser v4l. Eine genauere Anleitung hierzu findet sich im Forum.
Dieser Stick funktioniert mit den oben angegebenen Vorgehensweisen nicht. Stattdessen geht man wie folgt vor:
Folgenden Pakete müssen installiert [1] werden:
linux-headers-* (der Rechnerarchitektur entsprechend, [7])
perl
unzip
Zunächst lädt man die zwei Firmware-Dateien drxd-a2-1.1.fw und drxd-b1-1.1.fw von kernellabs.com herunter und kopiert sie mit Root-Rechten [8] nach /lib/firmware/.[9] Anschließend benötigt man eine dritte Firmware-Datei, welche von einem Perl-Skript aus der Windows-Treiber-Datei extrahiert wird. Dazu wird dieses Skript zuerst in das persönliche Verzeichnis kopiert und ausführbar gemacht:
cd ~ cp /usr/src/linux-headers-`uname -r`/Documentation/video4linux/extract_xc3028.pl ~/extract_xc3028.pl chmod +x extract_xc3028.pl
Dann wird die Treiber-Datei heruntergeladen und entpackt, denn diese Datei muss sich im selben Verzeichnis befinden wie das Skript:
wget http://www.steventoth.net/linux/xc5000/HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip unzip -j HVR-12x0-14x0-17x0_1_25_25271_WHQL.zip Driver85/hcw85bda.sys
Mit dem folgenden Befehl wird die Firmware schließlich aus der Treiber-Datei extrahiert:
./extract_xc3028.pl
Die erzeugte Datei namens xc3028-v27.fw befindet sich nun im persönlichen Verzeichnis. Auch diese Datei kopiert man nach /lib/firmware/.[9] Damit die Firmware-Dateien geladen werden, muss das Gerät gegebenenfalls abgezogen und wieder angeschlossen werden.
Etliche Karten laufen mit der selben Methode:
BestBuy Easy TV USB hybrid (EB1A:2881) (eventuell ein Pinnacle PCTV Hybrid Pro/320e Clone? selbe ID)
Compro VideoMate U3
DNT DA2 Hybrid
Hauppauge WinTV HVR 900 M/R: 65008/A1C0 Details
Hauppauge WinTV HVR 950 (NTSC/ATSC)
Kworld 310 U
Kworld 350 U DVB-T
Kworld 355 U DVB-T
MSI DigiVox A/D (USB2.0)
Pinnacle HD Pro Stick (US version, NTSC/ATSC)
Pinnacle PCTV Hybrid Pro Stick (für Chip 330e siehe "Sonderfälle" unten)
Terratec Cinergy Hybrid T XS - ZL10353
Terratec Cinergy Hybrid T XS - MT352
Terratec Cinergy Hybrid T XS (french edition)
Terratec Cinergy T XS - xc3028
Terratec Cinergy T XS - mt2060
Terratec Prodigy Hybrid T XS (USB ID=0ccd:0047) Details (Clone/OEM-Version der Cinergy-Hybrid)
Die Terratec Cinergy T USB XE funktioniert mit anderen Treibern, weitere Infos aus ventoso.org , und im Forum!
ATI/AMD TV Wonder 600
Empire USB 2.0 Pen Dual TV Details , funktioniert mit dem derzeitigen Treiber nicht im Analogbetrieb!
Pinnacle PCTV USB Stick
Sinovideo SV DVB-T 3400 USB TV Box
D-Link DUB-T210 TV Tuner
Gadmei UTV 330
Gadmei UTV 310 Details
GrabShow 110
Hauppauge WinTV USB 2 Details
Hercules Smart TV USB 2.0
Kworld PVR TV 2800 RF
Leadtek Winfast USB II deluxe
MSI VOX USB 2.0
MSI Movie Vox
Navtech, mit Empiatech 2860-Chip, wird als USB 2860 Gerät angezeigt, verbreitete und preiswerte USB-TV Karte aus Indien
Pinnacle Dazzle DVC 90 Details
Pinnacle Dazzle DVC 100
Pinnacle Dazzle TV Mobile (läuft als PCTV USB2) Details
Pinnacle PCTV analog USB 150e/55e Pal/Secam
Pinnacle PCTV USB 2
Prolink PlayTV USB 2.0 Details/Test
SIIG AVTuner-PVR
Supertronindia Supercomp TV USB 2.0
Terratec Cinergy 250 USB
Usbgear VD204v9 Details
Diese Revision wurde am 27. Januar 2015 22:01 von cornix erstellt.