• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Probleme mit usb-dvb-t-Stick / Kernel-patch

catweasel

Hacker
Hallo!

Mein neuer usb-dvb-t-Stick funktioniert nicht.

dmesg gab zuerst das aus:
Code:
[18072.714015] usb 1-4: new high speed USB device using ehci_hcd and address 5
[18072.832574] usb 1-4: New USB device found, idVendor=15a4, idProduct=9016
[18072.832584] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[18072.832591] usb 1-4: Product: DVB-T 2
[18072.832597] usb 1-4: Manufacturer: Afatech
[18072.832602] usb 1-4: SerialNumber: xxxxxxxxxxxxxxx
[18072.832719] usb 1-4: configuration #1 chosen from 1 choice
[18072.848698] af9015: tuner id:179 not supported, please report!
[18072.851528] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[18072.851794] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1a.7/usb1/1-4/1-4:1.1/input/input7
[18072.851907] generic-usb 0003:15A4:9016.0003: input,hidraw1: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1a.7-4/input1
darum habe ich das versucht:
Code:
http://de.opensuse.org/HKL/TV-Karten

benötigte Pakete: 'gcc' 'make' 'kernel-source' 'kernel-headers' / das Archiv http://linuxtv.org/hg/~anttip/af9015/archive/tip.tar.gz  herunterladen und entpacken, anschließend mit 'make' und 'make install' installieren, Firmware von http://www.digittrade.de/shop/info/stick_treiber/linux/ubuntu/dvb-usb-af9015.fw  laden und mit: 'cp dvb-usb-af9015.fw /lib/firmware' kopieren, Starten unter Media-Player Kaffeine ( Installation unter Root-Modus

jetzt gibt dmesg das aus:
Code:
...
[   53.587030] af9015: tuner NXP TDA18218 not supported yet
...

Zum Schluss habe ich das gefunden:
Code:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg16118.html


diff -r 0f41fd7df85d linux/drivers/media/common/tuners/Kconfig
--- a/linux/drivers/media/common/tuners/Kconfig	Thu Feb 11 02:33:12 2010 +0200
+++ b/linux/drivers/media/common/tuners/Kconfig	Thu Feb 25 17:21:11 2010 +0100
@@ -179,4 +179,11 @@
 	help
 	  A driver for the silicon tuner MAX2165 from Maxim.
 
+config MEDIA_TUNER_TDA18218
+	tristate "NXP TDA18218 silicon tuner"
+	depends on VIDEO_MEDIA && I2C
+	default m if MEDIA_TUNER_CUSTOMISE
+	help
+	  A driver for the silicon tuner TDA18218 from NXP.
+
 endif # MEDIA_TUNER_CUSTOMISE
diff -r 0f41fd7df85d linux/drivers/media/common/tuners/Makefile
...
...

Kann mir jemand erklären, wie man das anwendet?
 
catweasel schrieb:
Kann mir jemand erklären, wie man das anwendet?
ich versuchs mal..... :???: den Inhalt der Patchdatei mit copy & paste kopieren (ab diff, erste Zeile http...etc. kannste weglassen) und als Datei abspeichern bspw. dvbpatch.diff. Dann brauchst du die installierten Kernelsourcen, wechselst in das Verzeichnis mit den Sourcen und wendest den Patch an:
Code:
patch -p1 < /pfad/zum/Verzeichnis/dvbpatch.diff
Danach war früher klassisches Kernelkompilieren angesagt, vielleicht gibts heute auch ne elegantere Methode unter Opensuse? Hoffe das war soweit alles richtig, habe das auch erst 1-2 mal gemacht....... :/ Wichtig ist allerdings noch der Hinweis, für welche Kernelversionen der Patch geeignet ist.
 
OP
C

catweasel

Hacker
Ich habe die Dateien in af9015/ (http://linuxtv.org/hg/~anttip/af9015/archive/tip.tar.gz) gepatch ( ist das ein Modul ? ) und dann mit "make/make install" installiert.
Jetzt sieht die dmesg-Ausgabe so aus:
Code:
[ 1816.025018] usb 1-4: new high speed USB device using ehci_hcd and address 8
[ 1816.143723] usb 1-4: New USB device found, idVendor=15a4, idProduct=9016
[ 1816.143734] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1816.143742] usb 1-4: Product: DVB-T 2
[ 1816.143747] usb 1-4: Manufacturer: Afatech
[ 1816.143753] usb 1-4: SerialNumber: xxxxxxxxxxxxxxx
[ 1816.143863] usb 1-4: configuration #1 chosen from 1 choice
[ 1816.157345] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
[ 1816.157363] usb 1-4: firmware: requesting dvb-usb-af9015.fw
[ 1816.165180] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[ 1816.219730] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
[ 1816.219788] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[ 1816.220133] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[ 1816.572612] af9013: firmware version:4.65.0
[ 1816.575740] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[ 1816.583644] DVB: Unable to find symbol tda18218_attach()
[ 1816.583656] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[ 1816.593071] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 1816.593482] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1a.7/usb1/1-4/1-4:1.1/input/input8
[ 1816.593592] generic-usb 0003:15A4:9016.0004: input,hidraw0: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1a.7-4/input1
Außerdem habe ich jetzt ein /dev/dvb/adapter0 device. Aber zum Laufen bringe ich es trotzdem nicht. Wahrscheinlich werde ich auf openSUSE 11.3 warten.
 
Ich habe die Dateien in af9015/ (http://linuxtv.org/hg/~anttip/af9015/archive/tip.tar.gz) gepatch ( ist das ein Modul ? ) und dann mit "make/make install" installiert.
jo, hier baust du ein neues Kernelmodul gegen deinen lfd. Kernel (deswegen auch der Hinweis von linuxtv.org das du das ganze Kernelgedöns dazu brauchst.) Aber das sind nur neue Kernelmodule die du hinzufügst und müssen i.d.R. nicht nochmal gepatcht werden! :roll: es sei denn, es steht explizit in der Anleitung.
Zum Schluss habe ich das gefunden:
Code:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg16118.html et cetera pp.....
verfolgt IMHO einen ganz anderen Ansatz, nämlich ein im Kernel vorhandenes Modul entweder zu korrigieren od. um entsprechende Funktionen zu erweitern, als ein echter Kernelpatch! Hattest du diesen mal probiert und könntest, falls du magst, mal den Link dazu hierher kopieren?
 
OP
C

catweasel

Hacker
Den Patch habe ich aus der von dir zitierten html-Seite herauskopiert und ich habe ihn auch ausprobiert ( das habe ich oben versucht zu darzustellen - vielleicht nicht ganz verständlich )
 
catweasel schrieb:
Den Patch habe ich aus der von dir zitierten html-Seite herauskopiert und ich habe ihn auch ausprobiert ( das habe ich oben versucht zu darzustellen - vielleicht nicht ganz verständlich )
Du hast meiner Meinung nach, versucht das Modul zu patchen, das brauchst du nicht oder steht dazu was in der Anleitung? Nochmal: Unterscheide zwischen neuem Kernelmodul bauen wie bspw. das hier:
benötigte Pakete: 'gcc' 'make' 'kernel-source' 'kernel-headers' / das Archiv http://linuxtv.org/hg/~anttip/af9015/archive/tip.tar.gz herunterladen und entpacken, anschließend mit 'make' und 'make install' installieren
und nem Kernelpatch anwenden, das hier:
http://www.mail-archive.com/linux-media@vger.kernel.org/msg16118.html
wenn es denn ein vollständiger Patch ist (scheint ja nur nen Auszug aus irgendeiner Entwicklermailingliste zu sein), sind zwei paar Schuhe. Wie du nen echten Patch anwendest (normalerweise immer aus dem Verzeichnis des zu verändernden Quellcodes) hatte ich ja oben bereits erwähnt.
 

spoensche

Moderator
Teammitglied
Entpacke den Treiber von linuxtv erneut, aber ohne den Patch anzuwenden. Dann führst du

Code:
make && make install

aus und startest den Rechner neu.
 
OP
C

catweasel

Hacker
Habe es noch einmal mit der neuen openSUSE-Version und dieser Anleitung probiert:
http://www2.dealextreme.com/forums/Default.dx/sku.8309~threadid.644198
leider wieder ohne Erfolg.
 

spoensche

Moderator
Teammitglied
Hast du nach der Installation und dem Kopieren der Firmware einen Reboot gemacht? Poste mal die Ausgabe von
Code:
dmesg | tail
wenn du den Stick einsteckst.
 
OP
C

catweasel

Hacker
"make" meldet 2 Fehler:

Code:
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c: In function 'free_firmware':
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c:252:3: error: implicit declaration of function 'kfree'
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c: In function 'load_all_firmwares':
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c:314:2: error: implicit declaration of function 'kzalloc'
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c:314:13: warning: assignment makes pointer from integer without a cast
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c:365:21: warning: assignment makes pointer from integer without a cast
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c: In function 'xc2028_attach':
/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.c:1314:13: warning: assignment makes pointer from integer without a cast
make[5]: *** [/data/green_chili/af9015-932dc08503ed/v4l/tuner-xc2028.o] Fehler 1
make[4]: *** [_module_/data/green_chili/af9015-932dc08503ed/v4l] Fehler 2
make[3]: *** [sub-make] Error 2
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.34-12-obj/x86_64/desktop'
make[1]: *** [default] Fehler 2
make[1]: Leaving directory `/data/green_chili/af9015-932dc08503ed/v4l'
make: *** [all] Fehler 2


dmesg:

Code:
[   33.821135] usb 1-4: new high speed USB device using ehci_hcd and address 4
[   33.939709] usb 1-4: New USB device found, idVendor=15a4, idProduct=9016
[   33.939712] usb 1-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   33.939715] usb 1-4: Product: DVB-T 2
[   33.939717] usb 1-4: Manufacturer: Afatech
[   33.939718] usb 1-4: SerialNumber: 000000000000000
[   33.942777] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[   33.943052] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:1a.7/usb1/1-4/1-4:1.1/input/input5
[   33.943130] generic-usb 0003:15A4:9016.0002: input,hidraw1: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:1a.7-4/input1
[   33.989585] af9015: command failed:170
[   34.354485] af9015: tuner NXP TDA18218 not supported yet
[   34.354518] usbcore: registered new interface driver dvb_usb_af9015

immer noch "tuner NXP TDA18218 not supported yet"
 

spoensche

Moderator
Teammitglied
Du hast den Patch auf die Kernelsourcen angewendet und nicht auf das Modul oder? Anders wird es nicht funktionieren.
 
spoensche schrieb:
Du hast den Patch auf die Kernelsourcen angewendet und nicht auf das Modul oder? Anders wird es nicht funktionieren.
Guten Abend! Ich glaube diesmal ist wirklich das Modul zu patchen (nach dieser Anleitung zumindest) bevor es dann neu gegen den lfd. Kernel gebaut wird, denn:
- The patch can be found here: https://patchwork.kernel.org/patch/101170/
- You can apply it to code from here: http://linuxtv.org/hg/~anttip/af9015/
getestet wurde das ganze offensichtlich mit 2.6.33.4, und zusätzlich ist dann noch die Firmware wichtig:
- You also have to download dvb-usb-af9015.fw firmware file and copy to directory /lib/firmware/
It can be found here: http://www.otit.fi/~crope/v4l-dvb/af9015/af9015_firmware_cutter/firmware_files/4.95.0/
@catweasel kannst du mal kurz beschreiben wie du dabei vorgegangen bist? :???:
 
OP
C

catweasel

Hacker
firmware, patch und af9015 habe ich downgeloadet

die firmware nach /lib/firmware kopiert

af9015 entpackt

cd af9015/../linux # Pfad weiß ich nicht auswendig, bin nicht zuhause

patch -p1 < /pfad/zur/patchdatei

cd af9015

make

sudo make install

reboot
 
OP
C

catweasel

Hacker
patching file drivers/media/common/tuners/Kconfig
patching file drivers/media/common/tuners/Makefile
patching file drivers/media/common/tuners/tda18218.c
patching file drivers/media/common/tuners/tda18218.h
patching file drivers/media/common/tuners/tda18218_priv.h
patching file drivers/media/dvb/dvb-usb/af9015.c
Hunk #1 succeeded at 32 (offset 2 lines).
Hunk #2 succeeded at 1027 (offset 35 lines).
Hunk #3 succeeded at 1039 (offset 35 lines).
Hunk #4 succeeded at 1246 (offset 40 lines).
Hunk #5 succeeded at 1280 (offset 40 lines).
patching file drivers/media/dvb/frontends/af9013.c
Hunk #1 succeeded at 488 (offset 1 line).
Hunk #2 succeeded at 1408 (offset 5 lines).
patching file drivers/media/dvb/frontends/af9013_priv.h
Hunk #1 succeeded at 791 (offset 2 lines).
 

spoensche

Moderator
Teammitglied
Tante G* hat mir gearade folgendes geliefert: http://www.mbergmann.de/faqs/hardware/digittrade-dvb-t-unter-linux.html

Teste das mal und mach mal Meldung ob es klappt.
 

spoensche

Moderator
Teammitglied
catweasel schrieb:
Das hat auch nicht funktioniert.

Poste doch mal bitte genauere Informationen. Wo hängt es? Welche Fehlermeldungen? Dann hat man einen Anhaltspunkt, wo man ansetzen kann.

Wenn ich dieses Wochenende irgendwo Zeit abgreifen kann, werde ich mal versuchen das ganze zu kompilieren.
 

G aus W

Hacker
Hi Catweasel, hi Spoensche,

da ich den selben Stick habe, verfolge ich dies hier mit Interesse.

Kernproblem ist, daß es im Standard v4l-dvb Mercurial Tree bis heute keine Unterstützung für den in diesem Stick verwendeten Tuner TDA18218 gibt.

Ein Anstöpseln des Sticks mit brandaktuellem v4l-dvb und Firmware installiert liefert dieses:

Code:
[ 5697.344046] usb 1-6: new high speed USB device using ehci_hcd and address 5
[ 5697.480600] usb 1-6: New USB device found, idVendor=15a4, idProduct=9016
[ 5697.480609] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 5697.480614] usb 1-6: Product: DVB-T 2
[ 5697.480619] usb 1-6: Manufacturer: Afatech
[ 5697.480622] usb 1-6: SerialNumber: 010101010600001
[ 5697.484602] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[ 5697.485665] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:13.5/usb1/1-6/1-6:1.1/input/input7
[ 5697.485852] generic-usb 0003:15A4:9016.0004: input,hidraw3: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:13.5-6/input1
[ 5697.703872] af9015: command failed:170
[ 5698.068918] af9015: tuner NXP TDA18218 not supported yet
[ 5698.069085] usbcore: registered new interface driver dvb_usb_af9015

Es gibt einen weiteren Mercurial Tree von Antti Palosaari: http://linuxtv.org/hg/~anttip/tda18218/
... doch der funktioniert nicht mit dem in OpenSUSE 11.3 verwendeten, neueren Kernel (habe ihn mit älterem Kernel nicht getestet, sollte da aber wohl gehen). "Funktioniert nicht" heißt, der Versuch des Kompilierens scheitert mit Fehler.

Ich halte einen Blick auf das Geschehen und bin auch mit einem in der dvb-v4l Szene versierten Linuxer in Kontakt. Wenn sich was tut, werde ich es hier melden. Neuen Stick anschaffen würde ich vor diesem Hintergrund z.Zt. zurückstellen, mit etwas Glück könnte es bald klappen.

Beste Grüße,

Greg
 

G aus W

Hacker
Hallo Freunde,

für alle, die es noch interessiert: Mit dem aktuellen Kernel 2.6.37 wird der Stick automatisch erkannt.

Z.Zt. läuft bei mir testweise 2.6.37-rc3-git1-6-default aus dem Repo http://download.opensuse.org/repositories/Kernel:/HEAD/openSUSE_11.3/

Damit funktioniert der Stick problemlos - Fernsehen läuft.

Auszug aus dmesg:

Code:
[  154.992031] usb 1-6: new high speed USB device using ehci_hcd and address 5
[  155.128575] usb 1-6: New USB device found, idVendor=15a4, idProduct=9016
[  155.128583] usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[  155.128590] usb 1-6: Product: DVB-T 2
[  155.128594] usb 1-6: Manufacturer: Afatech
[  155.128599] usb 1-6: SerialNumber: 010101010600001
[  155.133659] Afatech DVB-T 2: Fixing fullspeed to highspeed interval: 10 -> 7
[  155.134013] input: Afatech DVB-T 2 as /devices/pci0000:00/0000:00:13.5/usb1/1-6/1-6:1.1/input/input8
[  155.134237] generic-usb 0003:15A4:9016.0004: input,hidraw3: USB HID v1.01 Keyboard [Afatech DVB-T 2] on usb-0000:00:13.5-6/input1
[  155.240597] IR NEC protocol handler initialized
[  155.290898] IR RC5(x) protocol handler initialized
[  155.310269] IR RC6 protocol handler initialized
[  155.340819] IR JVC protocol handler initialized
[  155.359316] IR Sony protocol handler initialized
[  155.377655] lirc_dev: IR Remote Control driver registered, major 250 
[  155.383101] IR LIRC bridge handler initialized
[  155.695976] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in cold state, will try to load a firmware
[  155.731146] dvb-usb: downloading firmware from file 'dvb-usb-af9015.fw'
[  155.808443] dvb-usb: found a 'Afatech AF9015 DVB-T USB2.0 stick' in warm state.
[  155.808551] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[  155.810124] DVB: registering new adapter (Afatech AF9015 DVB-T USB2.0 stick)
[  155.867770] af9013: firmware version:4.95.0.0
[  155.874212] DVB: registering adapter 0 frontend 0 (Afatech AF9013 DVB-T)...
[  155.980177] tda18218: NXP TDA18218HN successfully identified.
[  155.982060] Registered IR keymap rc-empty
[  155.982246] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.5/usb1/1-6/rc/rc0/input9
[  155.982371] rc0: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:13.5/usb1/1-6/rc/rc0
[  155.982377] dvb-usb: schedule remote query interval to 500 msecs.
[  155.982385] dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
[  155.996245] usbcore: registered new interface driver dvb_usb_af9015

Beste Grüße,

Greg
 
Oben