Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Hardware => Téma založeno: kapetr 03 Května 2015, 18:59:36
-
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()
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:
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.
-
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.