Home » Howtos

Terratec Cinergy T USB XS unter Linux in Betrieb nehmen [2. Update]

12 August 2006 42 Comments

Als ich mir die Terratec Cinergy T USB XS kaufte, ließ ich mir vom Verkäufer versichern, dass sie Linux-Kompatibel ist. Nach seiner Aussage liege sogar ein Treiber auf der CD - diese Aussage ist schlicht falsch. Es gibt aber ein Kernel-Modul, dass neben der Cinergy T XS auch noch eine Reihe weiterer Modelle unterstützt (u.a. Hauppauge WinTV HVR 900 und Pinnacle PCTV, eine vollständige Liste ist hier einzusehen). Das Kernel-Modul wird jedoch (noch) nicht von den Distributionen mitgeliefert, sodass man nicht um das Selbstkompilieren herumkommt.

Um die Sourcen zu laden, benötigt man Mercurial (zu installieren per apt-get install mercurial oder per yast). Danach befördert ein

hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel

die Sourcen im Unterverzeichnis v4l-dvb-kernel auf die Platte.

Danach lädt man noch hier die für seine Karte passende Firmware herunter (für die Terratec Cinergy T USB XS ist dies die “Version 1″ (firmware. tgz). Diese entpackt man noch nach /lib/firmware (manchmal auch /lib/firmware/$(uname -r):

tar xvzf firmware.tgz -C /lib/firmware/

Bevor man das Kernel-Modul kompilieren kann, müssen folgende Pakete installiert sein:

  • Kernel-Header (bei Ubuntu linux-header, bei Debian Etch linux-header-2.6.18-4-686, bei Suse kernel-headers)
  • gcc, autoconf, automake (bei Ubuntu build-essential, bei Suse und Debian gcc und automake)

Das Kompilieren startet man nun mit

cd v4l-dvb-kernel
make
make install

Nach einem Neustart kann man mittels

modprobe em28xx
modprobe em2880-dvb

die Kernel-Module laden. Ein erster Test z.B. mit Kaffeine sollte erfolgreich verlaufen. Läuft alles wie gewünscht, kann man die Module an die /etc/modules anhängen, sodass sie beim Start geladen werden.

Nun kann man entweder mit Kaffeine fernsehen schauen, oder gleich den VDR installieren.

42 Comments »

  • floyd said:

    Das untere Modul sollte em2880-dvb heißen, oder?

    Danke für das howto, hat mir viel Zeit erspart.

  • Stefan said:

    Oh ja, kleiner Fehler. Ist korrigiert.

  • Claus said:

    Ich habe diesbezüglich nun schon mehrere HowTos durchgearbeitet.
    Es läuft auch alles fehlerfrei durch, aber weder dvbscan (ich verwende gentoo) noch kaffeine finden einen Sender. Bei kaffeine habe ich lediglich einen Ausschlag auf SNR von ca. 80%, was auch immer das ist. Das ist mir in sofern ein Rätsel als das ich unter Verwendung eines Laptops (unter XP in einer VMware) ein Signal bekomme, bzw. DVB-T Empfang habe. Bei diesem Versuch wurde die Antennte auf dem gleichen Platz belassen. Ich habe die Firmware in verdacht. Wie verhält es sich damit, wird die Firmware aus /lib/firmware zum Kernel-Modul bau verwendet. bzw. gibt es eine Möglichkeit zu kontrollieren ob die (richtige) Firmware geladen wurde ?
    Ich habe bezüglich der Firmware die auf dieser Seite beschriebene Variante mit emBDA.sys als auch die auf linuxtv beschriebene Variante mit dem Download des firmware.tgz Paketes probiert. Leider alles ohne Erfolg. Was bleibt mir noch, bzw. welche Stellen kann ich überprüfen ?

  • Stefan said:

    Hast du dir schon diese Seite angesehen?
    http://www.linuxtv.org/v4lwiki/index.php/Talk:Em2880

  • Claus said:

    Die habe ich auch schon mal durchstöbert, mich aber dort nicht wirklich wieder gefunden. Ich bin noch mal durchgegangen und das einzige was mir aufgefallen ist, dass ich den Stick an einem USB1.1 Port betreibe. Kann das schon die Ursache sein ?
    In dem Zusammenhang mit diesem Stick habe ich noch eine Frage bezüglich der Treiber. Nach meinem Verständnis muss es doch reichen das Modul em2880-dvb zu laden, oder ? Man liest auch häufig von em28xx, welches doch nur für die Hybrid Version interessant ist um dort den analogen Teil anzusprechen, oder ?

  • Claus said:

    Ja, daran lag es, habe mir eine USB 2.0 Erweiterungskarte
    eingebaut und nun werden auch Sender gefunden.
    Danke für den Tipp !
    Schöne Feiertage wünsche ich.

  • Jan said:

    Ich haenge bei dem Befehl:

    gcc convert.c -o convert

    Ich habe keine “convert.c” und wenn ich sie mir irgendwo aus dem Netz hole fehlen mir die ganzen Bibliotheken im Kopteil jener convert.c

    Wie kann man das Problem lösen?

    Grüße
    Jan

  • Stefan said:

    Die convert.c findest du im Ordner v4l-dvb/v4l_experimental/xc3028, den du nach dem oben genannten “hg clone…”-Befehl erhälst.

    Grüße
    Stefan

  • Christoph said:

    Ich bekam nach dem Aufruf von gcc convert.c -o convert folgende Meldungen:

    convert.c:1:19: error: stdio.h: No such file or directory
    convert.c:2:20: error: unistd.h: No such file or directory
    convert.c:3:20: error: string.h: No such file or directory
    convert.c:4:20: error: stdlib.h: No such file or directory
    [...]

    Abhilfe schafft:

    apt-get install build-essential

  • Stefan said:

    Steht auch im Text - allerdings für das Kernel-Modul. Wer sich jedoch an das Kompilieren von Kernel-Modulen wagt, kann in der Regel auch den Compiler bedienen ;-)

  • Paul said:

    Vielen, vielen Dank für diese Einleitung!!!
    Alles läuft prima, auch wenn der Adapter unter einem anderen Namen erkannt wird. Das Einzige womit ich noch zu kämpfen habe, ist Kaffeine zu einer Soundausgabe zu zwingen, denn ich kann soviele Codecs installieren, wie ich will, es geht einfach nicht :(

  • Stefan said:

    Ich denke nicht, dass es an fehlenden Codecs liegt. Überprüf mal die Einstellungen von deinem Mixer (Ich finde gamix am übersichtlichsten, zu installieren via sudo aptitude install gamix bei Ubuntu). Um dennoch auszuschließen, dass es an einem Fehlenden Codec liegt, kannst du noch Easybuntu versuchen, sofern du Ubuntu nutzt.
    http://easyubuntu.freecontrib.org/
    Vielleicht brauchst du auch eine andere Firmware, siehe
    http://wiki.ubuntuusers.de/em28xx, Abschnitt “Firmware herunterladen”

  • Paul said:

    Danke für die Vorschläge, die werde ich gleich abarbeiten.
    Die Codecs habe ich mittlerweile nach installiert und zwar alle, die ich nur für xine finden konnte auch die w32codecs.
    Wenn ich bei Pro7 auf den Audiokanal AC3 umstelle, habe ich Sound, bei anderen Audiokanälen nicht.

  • Paul said:

    Leider hat es auch nicht geholfen, ich habe die Firmware 1 und 3 ausprobiert und immer noch kein Sound.
    Ich denke Xine macht mir da Ärger

  • Paul said:

    Es läuft! :)))
    Wie ich es vermutet hatte, hat mir Xine Probleme gemacht, weil er die Codecs nicht erkannte, was vll. an einer fehlerhaften Installation lag, denn ich habe mir eine Source.list mit http://www.ubuntu-nl.org/source-o-matic/ erstellt und alle Xine-Pakete wollten aktualisiert werden, was ich auch gemacht habe und ab da, gar keine Probleme! :)

  • Paul said:

    Hallo! Ich bin’s wieder :).
    Hab ein kleines “lustiges” Problem mit dem DVB-T-Stick. Und zwar brauche ich 2(!) USB-Anschlüsse dafür! :D Ich versuche das mal verständlich zu beschreiben: Ich habe einen USB-Anschluss links und einen rechts am Laptop. Wenn ich den Stick rechts reinstecke ,der erkannt wird und ich TV gucke, ist alles okay, dann mache ich den PC aus, wieder an und der Stick klappt an dem Anschluss, wo der drin war nicht, auch nicht wenn ich ihn mehrmals raus und reinstecke. Damit der wieder erkannt wird und funktioniert, muss ich den Anschluss links nehmen, dann läuft alles problemlos. Beim nächsten PC-Start muss ich den Anschluss wieder rechts nehmen usw.
    Woran könnte das liegen und wie könnte ich das “reparieren”?

  • Stefan said:

    Poste mal die Ausgabe von dmesg |tail beim Einstecken des Sticks.

  • Paul said:

    Habe das Problem gelöst. :)
    Lag wirklich an dem em2880_dvb Modul. Hab dieses in /etc/modules eingetragen, damit es beim Booten geladen wird und siehe da, auch nach einem Reboot wird der Adapter erkannt und läuft sorgenlos, ohne Umzustecken.

  • andrew said:

    ich arbeite mit ubuntu 6.10 edgy und habe beim ./convert schritt folgenden fehler:

    bash: /lib/firmware/2.6.17-11-generic/xceive_xc_3028.fw: Permission denied

    was soll ich machen ? sudo geht auch nicht.

  • Stefan said:

    Wie im Artikel steht, sind dazu root-Rechte nötig. Der Aufruf lautet also
    sudo ./convert emBDA.sys > /lib/firmware/$(uname -r)/xceive_xc_3028.fw

    Falls dies nicht funktionieren sollte, versuche zuerst mit
    sudo -s
    in eine root-Shell zu wechseln und danach convert wie im Artikel beschrieben aufzurufen.

  • computerviper said:

    hallo,
    habe ein problem mit der anleitung ich hänge bei dem make befehl, habe eine suse 10.2,
    es wird in ein verzeichnis v4l gewechselt, wo ist das und welches verzeichnis ist damit gemeint.
    danke für eure hilfe im voraus

  • Markus said:

    Dieses Howto ist ziemlich alt, der aktuelle Treiber ist sehr viel weiter entwickelt.

    Also entweder dieses Howto bitte updaten oder entfernen.

    Siehe em2880:
    http://mcentral.de

    Gruß,
    Markus

  • Stefan said:

    Ist aktualisiert.

  • Matthias said:

    Hallo Stefan!

    Schönes howto, allerdings bekomme ich bei der ausführung von make folgenden Fehler:
    File not found: /lib/modules/2.6.18.2-34-default/build/include/linux/netdevice.h at scripts/make_config_compat.pl line 15.

    Ich nutze OpenSuSe 10.2 und bin relativ neu dabei, also bitte nicht schimpfen wenns ne dumme Frage ist ;-)

    Gruß,
    Matthias

  • Marc said:

    Habe dasselbe Problem wie Matthias!

    v4l-dvb-kernel> make
    make -C /privat/home/marc/tmp/v4l-dvb-kernel/v4l
    make[1]: Entering directory `/privat/home/marc/tmp/v4l-dvb-kernel/v4l’
    perl scripts/make_config_compat.pl /lib/modules/2.6.18.8-0.3-default/build ./.myconfig ./config-compat.h
    File not found: /lib/modules/2.6.18.8-0.3-default/build/include/linux/netdevice.h at scripts/make_config_compat.pl line 15.
    make[1]: *** [config-compat.h] Fehler 2
    make[1]: Leaving directory `/privat/home/marc/tmp/v4l-dvb-kernel/v4l’
    make: *** [all] Fehler 2

    Erbitte ebenfalls dringend Hilfe.

    Vielen Dank, Gruss
    Marc

  • Marc said:

    Hallo zusammen,

    eine Frage in die Runde, heute (16.02.2008) erreiche ich Markus’ Seite immer noch nicht… hat noch jemand die sourcen von mcentral.de (Markus) fuer mich?

    Entschuldigt diese seltsame anfrage, aber ich habe kein gutes Forum seither gefunden in dem ich posten konnte…

    Liebe Gruesse

    Marc

    P.S. ich bin ein andere Marc als oben;-)

  • lodi said:

    Hab seit dem letzten Kernel-upgrade auf 2.6.18.8-0.9-default
    ein compilier-Problem:

    CC [M] /home/rainer/bin-work/v4l-dvb-experimental/v4l/ivtv-udma.o
    /home/rainer/bin-work/v4l-dvb-experimental/v4l/ivtv-udma.c: In function ‘ivtv_udma_fill_sg_list’:
    /home/rainer/bin-work/v4l-dvb-experimental/v4l/ivtv-udma.c:54: error: implicit declaration of function ’sg_set_page’
    make[5]: *** [/home/rainer/bin-work/v4l-dvb-experimental/v4l/ivtv-udma.o] Error 1
    make[4]: *** [_module_/home/rainer/bin-work/v4l-dvb-experimental/v4l] Error 2
    make[3]: *** [modules] Error 2
    make[2]: *** [modules] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.18.8-0.9-obj/i386/default’
    make[1]: *** [default] Fehler 2
    make[1]: Leaving directory `/home/rainer/bin-work/v4l-dvb-experimental/v4l’
    make: *** [all] Fehler 2

    Weiß Jemand woher das kommt bzw. wie das zu beseitigen ist?

  • Maurice said:

    sg_set_page gibts im Kernel 2.6.24, hab aber noch nicht probiert obs damit dann klappt. Mit 2.6.23 bekomm ich den Fehler auch (sowohl mit v4l-dvb-kernel als auch mit v4l-dvb-experimental).

  • lodi said:

    Komisch ist nur, dass es unter dem alten Kernel 2.6.18.8-0.8 funktioniert hat und die v4l-dvb-Module von linux-tv (ohne em2880 Modul) auch kompiliert werden können…

  • lodi said:

    Die Lösung:
    Das Problem liegt in der Anpassung der sourcen an den 2.6.24er
    Kernel.
    Matt Adams hatte die ursprünglichen sourcen nicht backwardskompatibel gepatcht…dieser Patch muss rückgängig gemacht werden.

    Hat bei mir wunderbar geklappt.

    Man muss den patch runterladen und auf die sourcen anwenden.
    Den patch findet man unter dem Eintrag in die mailing liste:

    http://mcentral.de/pipermail/em28xx/2008-February/001210.html

    oder direkt hier:

    http://mcentral.de/pipermail/em28xx/attachments/20080220/c262d436/v4l-dvb-kernel-2.6.24.bin

    Befehl:

    patch -p1 -R < v4l-dvb-kernel-2.6.24.bin

    Man kopiert die o.a. Datei in den v4l-dvb-kernel Ordner und führt den patch Befehl aus.

  • sebastian said:

    hallo

    ich bekomme noch immer folgende fehler, wenn ich versuche “make” zu machen:

    oscar@sesamstrasse:~/v4l-dvb-kernel$ sudo make
    make -C /home/oscar/v4l-dvb-kernel/v4l
    make[1]: Betrete Verzeichnis ‘/home/oscar/v4l-dvb-kernel/v4l’
    creating symbolic links…
    make -C /lib/modules/2.6.24-11-generic/build SUBDIRS=/home/oscar/v4l-dvb-kernel/v4l modules
    make[2]: Entering directory `/usr/src/linux-headers-2.6.24-11-generic’
    CC [M] /home/oscar/v4l-dvb-kernel/v4l/flexcop-pci.o
    In file included from /home/oscar/v4l-dvb-kernel/v4l/flexcop-common.h:23,
    from /home/oscar/v4l-dvb-kernel/v4l/flexcop-pci.c:10:
    /home/oscar/v4l-dvb-kernel/v4l/dvb_frontend.h:42:33: error: media/v4l_dvb_tuner.h: No such file or directory
    In file included from /home/oscar/v4l-dvb-kernel/v4l/flexcop-common.h:23,
    from /home/oscar/v4l-dvb-kernel/v4l/flexcop-pci.c:10:
    /home/oscar/v4l-dvb-kernel/v4l/dvb_frontend.h:165: error: field ‘tuner_ops’ has incomplete type
    make[3]: *** [/home/oscar/v4l-dvb-kernel/v4l/flexcop-pci.o] Error 1
    make[2]: *** [_module_/home/oscar/v4l-dvb-kernel/v4l] Error 2
    make[2]: Leaving directory `/usr/src/linux-headers-2.6.24-11-generic’
    make[1]: *** [default] Fehler 2
    make[1]: Verlasse Verzeichnis ‘/home/oscar/v4l-dvb-kernel/v4l’
    make: *** [all] Fehler 2
    oscar@sesamstrasse:~/v4l-dvb-kernel$

    habe es auch schon mit dem patch probiert der spuckt aber leider auch fehler aus …. hat wer ne ahnung woran es liegen koennte??

  • jann said:

    Hallo

    ich kann die Treiber seit Kernel-Upgrade auf 2.6.24.3-12.fc8 nicht mehr erstellen, beim 2.6.23 Kernel hat das noch funktioniert:

    hg clone http://mcentral.de/hg/~mrec/v4l-dvb-experimental
    run ‘hg update 5886′ to downgrade the version => war bei mir notwendig
    make
    make install

    aber beim 2.6.24er kommt:
    ________________________________________
    [user@dell v4l-dvb-experimental]$ make
    make -C /home/user/Desktop/xs/v4l-dvb-experimental/v4l
    make[1]: Entering directory `/home/user/Desktop/xs/v4l-dvb-experimental/v4l’
    scripts/make_makefile.pl
    No version yet.
    Updating/Creating .config
    Preparing to compile for kernel version 2.6.24

    ***WARNING:*** You do not have the full kernel sources installed.
    This does not prevent you from building the v4l-dvb tree if you have the
    kernel headers, but the full kernel source may be required in order to use
    make menuconfig / xconfig / qconfig.

    VIDEO_PLANB: Requires at least kernel 2.6.99
    Created default (all yes) .config file
    ./scripts/make_myconfig.pl
    make[1]: Leaving directory `/home/user/Desktop/xs/v4l-dvb-experimental/v4l’
    make[1]: Entering directory `/home/user/Desktop/xs/v4l-dvb-experimental/v4l’
    perl scripts/make_config_compat.pl /lib/modules/2.6.24.3-12.fc8/build ./.myconfig ./config-compat.h
    creating symbolic links…
    ln -sf . oss
    make -C /lib/modules/2.6.24.3-12.fc8/build SUBDIRS=/home/user/Desktop/xs/v4l-dvb-experimental/v4l modules
    make[2]: Entering directory `/usr/src/kernels/2.6.24.3-12.fc8-i686′
    CC [M] /home/user/Desktop/xs/v4l-dvb-experimental/v4l/flexcop-pci.o
    In file included from /home/user/Desktop/xs/v4l-dvb-experimental/v4l/flexcop-common.h:23,
    from /home/user/Desktop/xs/v4l-dvb-experimental/v4l/flexcop-pci.c:10:
    /home/user/Desktop/xs/v4l-dvb-experimental/v4l/dvb_frontend.h:42:33: error: media/v4l_dvb_tuner.h: No such file or directory
    In file included from /home/user/Desktop/xs/v4l-dvb-experimental/v4l/flexcop-common.h:23,
    from /home/user/Desktop/xs/v4l-dvb-experimental/v4l/flexcop-pci.c:10:
    /home/user/Desktop/xs/v4l-dvb-experimental/v4l/dvb_frontend.h:165: error: field ‘tuner_ops’ has incomplete type
    make[3]: *** [/home/user/Desktop/xs/v4l-dvb-experimental/v4l/flexcop-pci.o] Error 1
    make[2]: *** [_module_/home/user/Desktop/xs/v4l-dvb-experimental/v4l] Error 2
    make[2]: Leaving directory `/usr/src/kernels/2.6.24.3-12.fc8-i686′
    make[1]: *** [default] Fehler 2
    make[1]: Leaving directory `/home/user/Desktop/xs/v4l-dvb-experimental/v4l’
    make: *** [all] Fehler 2
    ________________________________

    hat einer ne Idee was ich machen könnte, so ganz ohne Fernsehen is wirklich nicht schön

    danke

  • uwe said:

    hallo,

    nach langen versuchen wende ich mich mit der bitte um hilfe an euch.
    ich habe openSUSE 10.3 mit 2.6.22.17-0.1-default und den den kernel-headers installiert.

    beim kompilieren bekomme ich nun folgenden fehler:
    In file included from :0:
    ./include/linux/autoconf.h:2750:1: error: /home/uwe/DVBT/v4l-dvb-kernel-f8bb9a80ce46/v4l/config-compat.h: No such file or directory
    make[5]: *** [/home/uwe/DVBT/v4l-dvb-kernel-f8bb9a80ce46/v4l/flexcop-pci.o] Error 1
    make[4]: *** [_module_/home/uwe/DVBT/v4l-dvb-kernel-f8bb9a80ce46/v4l] Error 2
    make[3]: *** [modules] Error 2
    make[2]: *** [modules] Error 2
    make[2]: Leaving directory `/usr/src/linux-2.6.22.17-0.1-obj/i386/default’
    make[1]: *** [default] Fehler 2
    make[1]: Leaving directory `/home/uwe/DVBT/v4l-dvb-kernel-f8bb9a80ce46/v4l’
    make: *** [all] Fehler 2

    eine config-compat.h existiert auch nicht…
    die kernel-header sind da, das habe ich gecheckt.
    gegoogelt habe ich nun schon seit stunden und nichts gefunden.

    kann mir jemand bitte einen tip geben? danke!

  • bolli said:

    Ich kann den selben Fehler unter Archlinux feststellen. Kernel 2.6.24

    Hast du es schon geschafft? hast du ein Fix oder Workaround?

    Gratias

  • uwe said:

    also, folgendes hilft damit der fehler nicht mehr kommt und das ‘make’ dann auch läuft:

    im verzeichnis ~/DVBT/v4l-dvb-kernel-f8bb9a80ce46/v4l/ gibt es eine ‘compat.h’

    darauf einen link für die fehlenede ‘config-compat.h’

    code: ln -s compat.h config-compat.h das machst du im ‘v4l’ verzeichnis.

    so, aber meine karte läuft immer noch nicht. dasmodul ‘em2880-dvb’ wird nicht erzeugt. eventuell hat da jemand einen tip!?

  • Tom said:

    sorry, dass ich hier einen neuen Thread aufmacht. Aber ich schaffe es einfach nicht das em2880-dvb Module zu laden.
    dmesg spuckt immer die folgende Fehlermeldung aus:
    em2880_dvb: Unknown symbol em28xx_i2c_call_clients
    em2880_dvb: Unknown symbol em28xx_unregister_extension
    em2880_dvb: Unknown symbol em28xx_register_extension

    em28xx konnte ich mit modprobe laden, nachdem ich die alten gezippten Mandriva Module aus dem drivers/media Verzeichnis entfernt hatte.
    Ich verwende den Standardkernel von Mandriva 2008 (2.6.22.18) hatte das selbe Problem aber auch auf Mandriva 2007.1.

    Hat irgendwer eine Idee, wie ich das beheben kann.

    Danke

  • HUW said:

    Hallo Stefan,

    gilt die ganz oben gegebene Anleitung noch ?
    Ich habe den Cinergy hybrid T USB XS FM.
    Ubuntu 8.0.4 2.6.24-19-generic

    Danke

  • krza said:

    Würde mich auch interessieren. Gleiche Konfiguration, aber KDE statt Gnome. Es muss doch inzwischen einfacher sein, oder?

    Kristian

  • ph0o said:

    Hallo stefan,

    danke für das howto!
    Auf meinem laptop läuft gentoo mit dem neuen kernel-2.6.29-r5. Ich hab das ebuild v4l-dvb-hg installiert (das ist das repo v4l-dvb) und die firmware dateien ins /lib/firmware verz. kopiert.
    Leider wird die Karte nicht erkannt.. :/ Hättest du einen lösungsansatz?
    hier meinen dmesg: http://www.nopaste.org/p/aJTiBSOaK

    Vielen dank schon mal!
    Mfg

Leave your response!

Add your comment below, or trackback from your own site. You can also subscribe to these comments via RSS.

Be nice. Keep it clean. Stay on topic. No spam.

You can use these tags:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

This is a Gravatar-enabled weblog. To get your own globally-recognized-avatar, please register at Gravatar.