Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Selhání inicializace dosud fungujícího DVB zařízení - DVB: Unable to find symbol  (Přečteno 1680 krát)

kapetr

  • Návštěvník
  • Příspěvků: 94
Zdravím.
Potřebuji poradit - ale asi to nebude jednoduché ...

Kvůli DVB+SDR USB tuneru jsem do U12.04 nainstaloval ofico jádro 3.13.0-51-generic, neboť jsem si ověřil, že v U14.04 zařízení funduje.

A opravdu - fungovalo mi pak i v U12.04 (DVB-T i SDR), ale jen 2 dny !?

Aniž bych nějak sahal do syst. konfigurace (např. udev, modprobe.d, ...) tak najednou při připojení dostanu do dmesg/syslog chybu: kernel: [  736.896056] DVB: Unable to find symbol rtl2832_attach()

Kód: [Vybrat]
May  3 18:07:54 zly-hugo kernel: [  736.717460] usb 2-1.6: new high-speed USB device number 4 using ehci-pci
May  3 18:07:54 zly-hugo kernel: [  736.821863] usb 2-1.6: New USB device found, idVendor=0bda, idProduct=2838
May  3 18:07:54 zly-hugo kernel: [  736.821869] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May  3 18:07:54 zly-hugo kernel: [  736.821872] usb 2-1.6: Product: RTL2838UHIDIR
May  3 18:07:54 zly-hugo kernel: [  736.821874] usb 2-1.6: Manufacturer: Realtek
May  3 18:07:54 zly-hugo kernel: [  736.821877] usb 2-1.6: SerialNumber: 00000001
May  3 18:07:54 zly-hugo kernel: [  736.827413] usb 2-1.6: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
May  3 18:07:54 zly-hugo kernel: [  736.893760] usb 2-1.6: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
May  3 18:07:54 zly-hugo kernel: [  736.893777] DVB: registering new adapter (Realtek RTL2832U reference design)
May  3 18:07:54 zly-hugo kernel: [  736.896056] DVB: Unable to find symbol rtl2832_attach()
May  3 18:07:54 zly-hugo mtp-probe: checking bus 2, device 4: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6"
May  3 18:07:54 zly-hugo mtp-probe: bus: 2, device: 4 was not an MTP device

A tím to zhasne - zařízení se neinicializuje a nefunguje.
Pozn.:  ta hláška mtp-probe sice u dále uvedeného logu úspěšného připojení není, ale myslím, že jsem ji i dříve (při úspěšném připojení) také viděl, takže nevím, zda to souvisí. Nicméně když modul odstraním a zase přidám, tak se už neopakuje, ale "DVB: Unable to find symbol rtl2832_attach()" tam je stále. 

Předtím to po připojení vypadalo asi takto:
Kód: [Vybrat]
May  1 05:52:07 zly-hugo kernel: [    4.150763] usb 2-1.6: New USB device found, idVendor=0bda, idProduct=2838
May  1 05:52:07 zly-hugo kernel: [    4.150768] usb 2-1.6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
May  1 05:52:07 zly-hugo kernel: [    4.150772] usb 2-1.6: Product: RTL2838UHIDIR
May  1 05:52:07 zly-hugo kernel: [    4.150774] usb 2-1.6: Manufacturer: Realtek
May  1 05:52:07 zly-hugo kernel: [    4.150776] usb 2-1.6: SerialNumber: 00000001
May  1 05:52:07 zly-hugo kernel: [   13.923603] usb 2-1.6: dvb_usb_v2: found a 'Realtek RTL2832U reference design' in warm state
May  1 05:52:07 zly-hugo kernel: [   13.975817] nf_conntrack version 0.5.0 (16384 buckets, 65536 max)
May  1 05:52:07 zly-hugo kernel: [   13.988511] usb 2-1.6: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer
May  1 05:52:07 zly-hugo kernel: [   13.988520] DVB: registering new adapter (Realtek RTL2832U reference design)
May  1 05:52:07 zly-hugo kernel: [   14.234958] usb 2-1.6: DVB: registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
May  1 05:52:07 zly-hugo kernel: [   14.378292] r820t 8-001a: creating new instance
May  1 05:52:07 zly-hugo kernel: [   14.389886] r820t 8-001a: Rafael Micro r820t successfully identified
May  1 05:52:07 zly-hugo kernel: [   14.396644] Registered IR keymap rc-empty
May  1 05:52:07 zly-hugo kernel: [   14.396697] input: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/rc/rc0/input17
May  1 05:52:07 zly-hugo kernel: [   14.396822] rc0: Realtek RTL2832U reference design as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/rc/rc0
May  1 05:52:07 zly-hugo kernel: [   14.403697] usb 2-1.6: dvb_usb_v2: schedule remote query interval to 400 msecs
May  1 05:52:07 zly-hugo kernel: [   14.415163] usb 2-1.6: dvb_usb_v2: 'Realtek RTL2832U reference design' successfully initialized and connected
May  1 05:52:07 zly-hugo kernel: [   14.415202] usbcore: registered new interface driver dvb_usb_rtl28xxu
May  1 05:52:07 zly-hugo kernel: [   14.431834] ip6_tables: (C) 2000-2006 Netfilter Core Team
May  1 05:52:07 zly-hugo kernel: [   14.442182] IR JVC protocol handler initialized
May  1 05:52:07 zly-hugo kernel: [   14.451041] IR SANYO protocol handler initialized
May  1 05:52:07 zly-hugo kernel: [   14.456365] input: MCE IR Keyboard/Mouse (dvb_usb_rtl28xxu) as /devices/virtual/input/input18
May  1 05:52:07 zly-hugo kernel: [   14.456429] IR MCE Keyboard/mouse protocol handler initialized
May  1 05:52:07 zly-hugo kernel: [   14.457247] IR RC5(x) protocol handler initialized
May  1 05:52:07 zly-hugo kernel: [   14.460972] IR RC6 protocol handler initialized
May  1 05:52:07 zly-hugo kernel: [   14.461819] lirc_dev: IR Remote Control driver registered, major 250
May  1 05:52:07 zly-hugo kernel: [   14.461925] IR Sony protocol handler initialized
May  1 05:52:07 zly-hugo kernel: [   14.463380] IR NEC protocol handler initialized
May  1 05:52:07 zly-hugo kernel: [   14.534736] rc rc0: lirc_dev: driver ir-lirc-codec (dvb_usb_rtl28xxu) registered at minor = 0

Snažil jsem se zjistit, čím to je:
- HW je OK - když spustím CD obraz s U14.04 (přes GRUB), tak chodí
- moduly se správně natáhnou všechny (dle depmod - je to stejné, jako při spuštění čistého U14.04 z CD)
- v konfigu udev ani depmod jsem nenašel změny - soubory jsou starší než poslední fungující spuštění
- zkusil jsem přeinstalovat balíček jádra a jeho hlaviček - beze změny

Nenapadá někoho, čím by to mohlo být ?

Případně alespoň obecně - jak najednou může kernel hlásit, že se modul odkazuje na neznámý symbol, když se (pokud vím!) nic nezměnilo ?

Co bych ještě měl zkusit?

Přece nebudu dělat kompletní přeinstalaci systému! A upgrade by sotva pomohl, jelikož jádro je stejné a nějaký (asi) pomrvený konfig by se možná zachoval.
« Poslední změna: 03 Května 2015, 20:27:59 od kapetr »

kapetr

  • Návštěvník
  • Příspěvků: 94
Vyřešeno!

Problém vznikl kombinací mé nepozornosti při kontrole /etc/modprobe.d, kdy jsem se omezil jen na modif. časy
a IMHO velmi nešťastného logování kernelu.

Problém vznikl tak, že jsem před osudným rebootem instaloval SDR SW gqrx, který moduly nutné pro DVB blacklisoval.

Nicméně považuji za krajně nevhodné, že:

- kernel místo toho, aby v logu uvedl, že pro symbol (volání)  rtl2832_attach() potřebuje dynamicky natáhnout ještě modul rtl2832 (ale nemůže kvůli blacklistu), jen uvádí neznámý symbol
- a to obzvláště, když toto označení (rtl2832) přitom loguje modul dvb_usb_rtl28xxu (a ne modul rtl2832),
- který navíc v modules.dep není uveden jako nutný pro dvb_usb_rtl28xxu ačkoli bez něj tuner nefunguje.

To je smrtící trojkombinace, která mě stála celý den zuřivého pátrání. A celkem se nedivím, že jsem to nemohl objevit.

Pozn.: také pozor na to, že příkaz modprobe defaultně ignoruje blacklisty. V mém případě navíc karta po ručním natažení modulů nefunguje (nevím proč), tudíž jsem viděl všechny moduly natažené a přitom to stále nefungovalo. (takže dokonce čtyřkombinace spiknutí pekelných  :D )

Pozn. 2: užitečný je také příkaz modprobe -c , který vypíše i "alias symbol:rtl2832_attach rtl2832", z čehož asi plyne to natažení modulu rtl2832

Budiž to pro mě poučení, abych byl pozornější a nespoléhal se na hlášky z logu. Třeba tato zkušenost pomůže i někomu dalšímu.

P.S.: Ještě bych potřeboval zjisti, jak bych mohl využívat kartu chvíli jak SDR zařízení a chvíli jako DVB-T tuner bez nutnosti modifikovat blacklist a odpj/zapoj resp. rebootu.

 

Provoz zaštiťuje spolek OpenAlt.