ubuntuusers.de

Terratex Cinergy T-Stick DUAL rev.2

Status: Gelöst | Ubuntu-Version: Ubuntu 12.04 (Precise Pangolin)
Antworten |

nichdiemama

Anmeldungsdatum:
28. Juni 2012

Beiträge: Zähle...

Hi ! Seit kurzem bin ich auch ein (? stolzer ?) Besitzer eines Cinergy T Stick Dual RC -DVB-T-Sticks, den ich mir nach langem Durchforsten des Netzes aus dem Grund gewählt hab', weil er laut Terratec-Seite ohne weitere Berücksichtigung auf Versionsnummern unter Linux nutzbar sei. Doch scheint es seit Anfang des Jahres auch hierfür eine "Rev.2" zu geben, die wohl mit einem "IT3195BDA" betrieben wird, der im ursprünglichen Treiber (für diesen Stick) nicht berücksichtigt wird. Grund zu dieser Annahme ist der, dass auf der beiliegenden Treiber-CD (für Windows) ein eigener Treiber für die "Rev.2" zu finden ist und in diesem Paket eine Datei namens "it9135bda.sys4" bzw. "it9135bda.sys8" zu finden ist. Ich hab's aber (noch) nicht fertig gebracht mir den Stick von innen anzuschauen. Was mich aber wundert, ist dass die ProductID und die VendorID übereinstimmen...

Moderiert von hefeweiz3n:

Post vom ursprünglichen Thread abgetrennt. Bitte mache für neue Anliegen immer einen eigenen Thread auf (Siehe auch Forenregeln Punkt 4, Themen-Entführungen). Danke!

nichdiemama

(Themenstarter)

Anmeldungsdatum:
28. Juni 2012

Beiträge: 6

Hab noch ein wenig rumprobiert und tatsächlich: es ist wohl ein it9135 verbaut - und es klappt.

Ich musste allerdings die Sources der beiden Treiber (dem ursprünglichen (af9015) und dem für it9135) anpassen, damit das System nicht den einen, sondern den anderen Treiber lädt.

Zuständig sind die beiden Dateien "af9015.c" und "it913x.c" im Verzeichnis "/usr/src/linux-3.4.2/drivers/media/dvb/dvb-usb"

Mit den beiden unten stehenden Patches können diese Dateien angepasst werden. Diese Anpassung stellt keine endgültige Lösung des Problems dar, denn würde nun ein Rev.1-Stick angeschlossen, so würde das System diesen nicht erkennen ...

Außerdem ist noch die Firmware notwendig: - Mir hat dabei das Skript in "/usr/src/linux-3.4.2/Documentation/dvb/get_dvb_firmware" weitergeholfen,

Nach dem Neukompilieren der Module und deren Installation (ggf Neustart) wird der Stick als generisches IT9135-Gerät erkannt - inwieweit der zweite Tuner unterstützt wird, weiss ich nicht.

af9015.patch (238 Bytes)
Download af9015.patch
it913x.patch (216 Bytes)
Download it913x.patch

hamsterbacke

Anmeldungsdatum:
4. Juli 2012

Beiträge: Zähle...

Hi, hab das gleich Problem wie du. Kannst du mir irgendwie helfen den Stick auch zum laufen zu bringen? Der Patch schien bei dem Modul it913x.c hingehauen zu haben.

root@dvbt:/usr/src/linux-source-3.2.0/linux-source-3.2.0/drivers/media/dvb/dvb-usb# patch it913x.c < /home/hamster/it913x.patch patching file it913x.c Hunk #1 succeeded at 584 (offset -236 lines).

Aber schon beim af9015.c gings nicht.

Wie kompiliere ich die Module?

BitPoet

Anmeldungsdatum:
4. Juli 2012

Beiträge: Zähle...

Hi, ich habe hier auch schon mit Kernel 3.2.0 rumgespielt und die Anpassungen händisch vorgenommen, aber der dort enhaltene it913x-Treiber erkennt nur den Infrarot-Empfänger, nicht aber den Tuner, er versucht nicht mal die passende Firmware zu laden.

Ich habe den Stick mal geöffnet, darin sind ein it9137 und ein it9133.

nichdiemama

(Themenstarter)

Anmeldungsdatum:
28. Juni 2012

Beiträge: 6

Hi

Dass der af9015-Patch nicht funktioniert ist nicht soo schlimm (s.o.)

Zuerst: Du benötigst die verschiedenen Entwicklertools: make, gcc etc. Kernelsources (sind bei Dir ja unter "/usr/src/linux-source-3.2.0/linux-source-3.2.0/" vorhanden)

Das folgende sollte theoretisch funktionieren, kann aber keine Garantie dafür übernehmen:

  • Stelle sicher, dass die Kernelversion des Systems, für das Du die Module erstellen willst mit der der Quellen übereinstimmt (bei Dir also 3.2.0) - Der Befehl "uname -r" sollte Dir darüber Auskunft erteilen.

  • solltest Du vorher schon einmal einen Kernel kompiliert haben, so solltest Du:

1.) Mittels "cd /usr/src/linux-source-3.2.0/linux-source-3.2.0/" ins Quellverzeichnis springen und die dort befindliche ".config"-Datei irgendwo speichern, wenn Du diese noch benötigst.

2.) Nun ein "make clean" eingeben, was alte kompilierte Module im Quellverzeichnis (nicht die installierten) löscht.

  • nun das Kernelmodul "it913x.c" patchen ("af9015.c" kann so bleiben (s.u.))

  • jetzt kopiere die Datei aus /boot/config-<kernelversion> unter dem Namen ".config" ins Quellverzeichnis:

z.B. cp /boot/config-3.2.0 /usr/src/linux-source-3.2.0/linux-source-3.2.0/.config

  • als nächstes ein "make modules". (Sollte der "make"-Befehl hier meckern, kann es sein, dass Du zuvor "make all" aufrufen musst; wenn ja, dann kannst Du Deinen Hund (sofern Du einen besitzt) schon einmal die Leine holen lassen und Dich auf einen längeren "Gassi"-Spaziergang vorbereiten, denn das Kompilieren des gesamten Kernels dauert in der Regel etwas.

  • Ist "make modules" durchgelaufen, würde ich nur das eine Modul "it913x.ko" manuell nach "/lib/modules/<kernelversion>/drivers/media/dvb/dvb-usb" kopieren.

  • jetzt das dort (/lib/modules/<kernelversion>/drivers/media/dvb/dvb-usb) befindliche Modul "af9015.ko" löschen (weil der Patch hierfür ja nicht funktioniert)

  • Nun noch ein "depmod"

  • ... und um alles abzurunden: ein Neustart (um im Speicher befindliche Module zu entladen)

Erläuterung: Eigentlich würde nach dem "make modules" ein "make modules_install" folgen, aber unter Umständen können dadurch auch Module proprietärer Treiber überschrieben werden (z.B. Nvidia etc). Deshalb dieser manuelle Umweg.

Außerdem : Dies ist ein reiner Blindflug für mich - ich hab es selbst so noch nicht ausprobiert, auch ob der Stick mit dieser Kernelversion schon funktioniert, weiß ich nicht.

Unter Kernel 3.4.2 funktioniert die Fernbedienung nicht (ist zwar in /dev/input zu finden, aber ohne Funktion), dafür aber beide Receiver.

hamsterbacke

Anmeldungsdatum:
4. Juli 2012

Beiträge: 4

Danke für die ausführliche Antwort. Jetzt weiß ich auch endlich wie man das macht ☺ Leider hat das Ganze nicht so recht funktioniert. Nach dem "make modules" sind in dem Ordner *.o Dateien gewesen die ich dann in den Ordner vom aktuell laufenden Kernel kopiert habe. Da du meintest es geht mit dem 3.4.2 habe ich die stabile Kernerversion 3.4.4 von kernel.org runtergeladen und das gleiche nocheinmal durchgegangen. Als Meldung kam wenn ich das Modul einsteckt:

[ 165.848017] usb 1-6: new high-speed USB device number 3 using ehci_hcd [ 165.987099] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/pci0000:00/0000:00:1a.7/usb1/1-6/1-6:1.1/input/input11 [ 165.987209] generic-usb 0003:0CCD:0099.0003: input,hidraw0: USB HID v1.01 Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-0000:00:1a.7-6/input1 [ 165.989371] dvb_usb: no symbol version for module_layout [ 165.991504] dvb_usb: no symbol version for module_layout

Selbst mit Ubuntu 12.10 mit 3.5.0-4 kernel geht der Stick nicht...

nichdiemama

(Themenstarter)

Anmeldungsdatum:
28. Juni 2012

Beiträge: 6

Upps, das generierte Modul lautet: "dvb-usb-it913x.ko". Achte auf die ".ko"-Erweiterung - Die ".o"-Dateien stellen nur Teile des eigentlichen Moduls dar, aus denen es zusammengesetzt wird (brauchen nicht kopiert zu werden).

nichdiemama

(Themenstarter)

Anmeldungsdatum:
28. Juni 2012

Beiträge: 6

... entsprechendes gilt auch für das zu löschende "dvb-usb-af9015.ko"-Modul.

hamsterbacke

Anmeldungsdatum:
4. Juli 2012

Beiträge: 4

Habe trotzdem keinen Erfolg :/

[ 95.992014] usb 1-5: new high-speed USB device number 3 using ehci_hcd

[ 96.131212] input: ITE Technologies, Inc. DVB-T TV Stick as /devices/pci0000:00/0000:00:1a.7/usb1/1-5/1-5:1.1/input/input10

[ 96.131308] hid-generic 0003:0CCD:0099.0002: input,hidraw0: USB HID v1.01 Keyboard [ITE Technologies, Inc. DVB-T TV Stick] on usb-0000:00:1a.7-5/input1

nichdiemama

(Themenstarter)

Anmeldungsdatum:
28. Juni 2012

Beiträge: 6

Vermute mal, dass es mit dem Einbinden der "neuen" Module ins System zusammenhängt. Wie ist denn die Ausgabe von "lsmod" ?

Wie bereits erwähnt, habe ich die manuelle Nachinstallation der Module auf diese Art noch nicht selbst ausprobiert. Ich wollte mir vielmehr einen "Watchstick" bauen: einen USB-Stick, welcher eigens zum Fernsehgucken eingestöpselt wird und dann das Programm des ebenfalls angeschlossenen DVB-T-Sticks darstellt - Sozusagen ein "Fernseher-Emulator" Dieser funktioniert auch (...bis auf die Fernbedienung).

Für dieses System habe ich den Kernel 3.4.2 verwendet, da der zu dieser Zeit der aktuelle stabile war, und der immer noch auf den FTP-Servern (nicht der Website) von kernel.org zu finden ist. Allerdings habe ich für diesen Bootstick den KOMPLETTEN Kernel mitsamt Modulen (inkl. den beiden gepatchten) kompiliert und installiert. Hier liegt auch - glaube ich - das Problem: In Deinem System werden wohl die nachträglich kompilierten Module nicht vom Kernel anerkannt - zumindest legt die Meldung "dvb_usb: no symbol version for module_layout" dies nahe...

Um den Bootstick zu erstellen, bin ich folgendermaßen vorgegangen:

  • Minimalsystem inkl. Devel-Tools auf einem USB-Stick installiert

  • Kernelsource auf den Stick gezogen und entpackt.

  • af9015.c und it913x.c angepasst (→ patch).

  • Reboot von diesem Stick

  • ".config" wie vorher beschrieben aus "/boot" ins Kernelverzeichnis kopiert und umbenannt

  • im Kernelverzeichnis /usr/src/linux-3.4.2: "make menuconfig" (kann ggf. entfallen).

  • in "/usr/src/linux-3.4.2/.config": die Zeile CONFIG_LOCALVERSION in CONFIG_LOCALVERSION="-DVBT" mit einem Texteditor geändert

  • im Kernelverzeichnis /usr/src/linux-3.4.2: "make all", dann "make modules_install" und "make install"

  • "mkinitramfs -k -o /boot/initrd.img-3.4.2-DVBT 3.4.2-DVBT"

  • "update-grub" (ab grub 1.98)

  • Firmware wie vorher beschrieben besorgt und installiert.

  • Reboot

Hiernach existierte ein neuer Punkt im Bootmenü des Sticks: "3.4.2-DVBT", von dem aus gebootet werden konnte, und bei dem der Cinergy-Stick erkannt wurde.

hamsterbacke

Anmeldungsdatum:
4. Juli 2012

Beiträge: 4

lsmod sagte vor dem neuen Kernel: dvb_usb 24222 1 dvb_usb_af9015 dvb_core 110323 1 dvb_usb rc_core 22330 2 dvb_usb_af9015,dvb_usb

Mit der Anleitung die du jetzt gemacht hast funktioniert der Stick. Vielen Dank ☺ Hab jetzt einen 3.5.0-rc6 Kernel und damit geht's auch. Die Fernbedienung brauch ich nicht... keine Ahnung ob diese auch geht. Den patch für af9015 musste ich manuell vornehmen weil die Zeilen die bei deinem Patch dabei sind nicht mehr stimmten.

Ein_Eike

Anmeldungsdatum:
7. August 2012

Beiträge: Zähle...

Hallo!

Ich hab mich extra hier angemeldet, um mich für die Tipps zu bedanken. Und sie zu ergänzen.

Ich hab mir gestern denselben Stick gekauft. Unter anderem, weil Terratec Linux unterstützt. Denkste.

Dein "Blindflug" hat mich erstmal zum selben Ergebnis gebracht wie die Hamsterbacke. Das Problem (und die Lösung) wird hier beschrieben: http://askubuntu.com/questions/14627/no-symbol-version-for-module-layout-when-trying-to-load-usbhid-ko Damit dauert auch das Kompilieren - auf meinem Fernseh-Celeron hätte ich schon während des Module Kompilierens den nicht vorhandenen Hund ausführlich rausbringen können - auch bei weitem nicht mehr so lang. Also... Statt "make modules" /usr/src/linux-headers-$YourKernelVersion/Module.symvers ins Kernel-Verzeichnis kopieren, danach vielleicht noch make prepare und make scripts, und statt des großen Module-Make nur make M=drivers/media/dvb/dvb-usb

Nachtrag: Ich hab hier nochmal zusammengeschrieben, was man alles machen muss:

http://ein-eike.de/2012/08/07/terratec-cinergy-t-stick-dual-rc-revision-2/

Danke nochmal, Eike

Antworten |