ForumDVB-T Stick laedt (nur) beim Booten Firmware nicht
thomas daum – Donnerstag, 29. Mai 2008 20:32 Uhr

Hallo miteinander,

ich möchte einen Altpc sinnvoll weiterverwenden und zwar als Digitalen Videorecorder unter Suse 10.3. Das ganze mit einem MSI DIGIVOX mini II (V3.0) usb-DVB-T Stick. Die Aufnahmen selbst erstelle ich mit tzap. Bis hierhin funktionierts wunderbar.

Das Problem ist nun, wenn ich den PC mit eingesteckten DVB-T-Stick boote, wird dieser nicht erkannt. Die Ausgabe dmesg erfolgt am Ende der Prosa. Danach kann ich den Stick entfernen und wieder einstecken – und es tut sich gar nichts. Auch ein ‘modprobe dvb_usb_af9015’ bringt gar nichts.

Boote ich den PC jedoch ohne den Stick und stecke den Stick dann ein wird dieser sofort erkannt und ich kann sowohl mit tzap aufnehmen oder z.B. Mit Kaffeine fernsehen.

Wenn ich mir die Ausgaben dmesg ansehe drängt sich der Verdacht auf, dass der Stick zwar auch beim boot grundsätzlich erkannt wird, aber die Firmware nicht geladen wird, denn mir fehlen dann die Zeilen:

dvb-usb: found a ‘Afatech AF9015 DVB-T USB2.0 stick’ in cold state, will try to load a firmware
dvb-usb: downloading firmware from file ‘dvb-usb-af9015.fw’
usbcore: registered new interface driver dvb_usb_af9015
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.

Bzw. Wenn’s nicht läuft, wird der Stick von vorn herein im ‘warm state’ gefunden… (was heist das und warum ist das so?)

Die Frage ist nun, kann ich ein Laden der Firmware beim boot erzwingen oder besteht die Möglichkeit die Firmware aus einem Script (z.B. .profile oder .bashrc) nachzuladen? Oder sonstige Ideen?

Gruesse,
Thomas

PC mit DVB-T Stick gebootet, Stick ist inaktiv:

dmesg |grep dvb
dvb-usb: found a ‘Afatech AF9015 DVB-T USB2.0 stick’ in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_af9015
saa7146: register extension ‘dvb’.

dmesg |grep af9015
af9015_usb_probe: interface:0
af9015_identify_state: reply:02
af9015_eeprom_dump:
af9015_read_config: xtal:2 set adc_clock:28000 af9015_read_config:
IF1:43000
af9015_read_config: MT2060 IF1:0
af9015_read_config: tuner id1:156
af9015_read_config: spectral inversion:0 af9015_tuner_attach:
af9015_set_gpio: gpio:3 gpioval:03
af9015_init:
af9015_init_endpoint: USB speed:3
af9015_download_ir_table:
usbcore: registered new interface driver dvb_usb_af9015

PC ohne DVB-T Stick booten, dann Stick einstecken – läuft:

dmesg |grep dvb
dvb-usb: found a ‘Afatech AF9015 DVB-T USB2.0 stick’ in cold state, will try to load a firmware
dvb-usb: downloading firmware from file ‘dvb-usb-af9015.fw’
usbcore: registered new interface driver dvb_usb_af9015
dvb-usb: generic DVB-USB module successfully deinitialized and disconnected.
dvb-usb: found a ‘Afatech AF9015 DVB-T USB2.0 stick’ in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
dvb-usb: Afatech AF9015 DVB-T USB2.0 stick successfully initialized and connected.
saa7146: register extension ‘dvb’.

dmesg |grep af9015
af9015_usb_probe: interface:0
af9015_identify_state: reply:01
dvb-usb: downloading firmware from file ‘dvb-usb-af9015.fw’
af9015_download_firmware:
usbcore: registered new interface driver dvb_usb_af9015 af9015_usb_probe:
interface:0
af9015_identify_state: reply:02
af9015_eeprom_dump:
af9015_read_config: xtal:2 set adc_clock:28000 af9015_read_config:
IF1:43000
af9015_read_config: MT2060 IF1:0
af9015_read_config: tuner id1:156
af9015_read_config: spectral inversion:0 af9015_tuner_attach:
af9015_set_gpio: gpio:3 gpioval:03
af9015_init:
af9015_init_endpoint: USB speed:3
af9015_download_ir_table:
af9015_usb_probe: interface:1

1 Antwort
Dieter Drewanz – Donnerstag, 29. Mai 2008 21:58 Uhr

Ein ähnliches Problem hatte ich auf einem Ubuntu Rechner mit einer USB-Soundkarte. Ich habe zur Lösung des Problems das USB-Modul zwangsentladen (die Fehlermeldungen beachten, da ich noch ein paar andere Sachen stoppen mußte, um es entladen zu können). Das Modul neu laden und dann ging es. Das ließe sich auch in ein Shellskript (mit root Rechten) bauen.
Eine andere Möglichkeit, war ein eingesteckter USB Speicherstick (an dem USB Anschluss, der zuerst booten würde. Das probierst Du mit zwei bootfahigen USB-Sticks DSL 3.1 und DSL 3.2 in verschiedenen Kombinationen an allen USB-Anschlüssen). Ich vermute, daß bei der Suche nach den USB-Geräten beim booten, wohl ein paar Bytes an den Stick gesendet wurden, die das ganze dann etwas zum hängen brachten.
Wenn keiner hier eine bessere Lösung hat, könntest Du das noch versuchen.

thomas daum – Samstag, 31. Mai 2008 12:16 Uhr

Hallo,

erst mal danke für die Antwort. Hat mir aber leider nicht weitergeholfen. Intersannterweise kann ich mit modprobe -r dvb_usb_af9015 das Modul wunderbar entladen, wenn der Stick funktioniert, d.h. wenn ich ohne den Stick gebootet habe und den dann eingesteckt habe (danach kann ich auch problemlos das Modul wieder laden – aber wenn ich mit dem Stick boote und dieser nicht funktioniert, funktioniert auch das Entladen mit der Meldung “FATAL: Module dvb_usb_af9015 is in use.” nicht.

Die Ausgaben von lsmod |grep dvb_usb_af9015 sind in beiden Fällen völlig identisch.

Auch der Tip mit den USB-Stick an der anderen Karte hat nix gebracht.

Gruß,
Thomas

Dieter Drewanz – Samstag, 31. Mai 2008 17:46 Uhr

Ich hatte erst mal USB ganz entfernt (d.h. den ganzen usbcore, usb.ohci) und die Module neu gestartet. Im Kofler Buch Linux fand ich noch “rmmod” und “remove” (ab Kernel 2.6), die mir weiterhalfen. Mit “modinfo” kannst Du noch weitere Informationen bekommen. Vielleicht hilft es schon, wenn Du “depmod” einmal laufen läßt.
Zu Deiner Karte müßte etwas in der /etc/modprobe/conf stehen. modprobe ist einer erweiterte Version von insmod und beachtet Modulabhängigkeiten (/lib/modules/n/modules.dep). Für Infos gibt es “lsmod”, “modinfo”, “modprobe -c”. Für eigene Änderungen gibt es bei Suse die “modprobe.conf.local”.

[1] http://tldp.org/HOWTO/Module-HOWTO/
[2] http://tldp.org/LDP/tlk/modules/modules.html
[3] http://www.linux-magazin.de/heft_abo/ausgaben/2004/02/einschlaf_hilfen/(offset)/4