Cerca nel blog

09 febbraio, 2012

XBMC e Dongle USB DVB-T con id: 1d19:1101

Problema:
La versione stable di XBMCLive (la 10.1, la prossima è ancora in beta) è basata su Ubuntu Lucid, il quale non supporta il modulo rtl2832u (usato dal DVB-T Dexatek).

Possibili soluzioni:

  1.  Aggiornare i repository ed installare un kernel più nuovo
  2. Aggiornare alla versione beta di XBMCLive
  3. Cambiare DVB-T (visto il costo irrisorio di questi dispositivi)
  4. Patchare il kernel attuale per supportare il modulo rtl2832u




Io ho optato per la 4a.

Versione di XBMC:

mediacenter:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 10.04.2 LTS - XBMCLive Dharma
Release:        10.04
Codename:       lucid

Kernel:
Linux mediacenter 2.6.32-38-generic #83-Ubuntu SMP Wed Jan 4 11:13:04 UTC 2012 i686 GNU/Linux

Sysinfo:
mediacenter:~$ sudo lsusb
Bus 001 Device 004: ID 1d19:1101 Dexatek Technology Ltd. DK DVB-T Dongle

Steps:

1) sudo apt-get install mercurial build-essential linux-headers-`uname -r`
2) hg clone http://linuxtv.org/hg/v4l-dvb
3) cd v4l-dvb
4) wget http://xgazza.altervista.org/Linux/DVB/Drivers/RTL2832U_patch_v4l_dvb.diff
5) patch -p1 < RTL2832U_patch_v4l_dvb.diff
6) make && sudo make install

Riavviare.
A questo punto dovreste trovarvi il dongle DVB-T correttamente riconosciuto dal kernel di linux:

root@mediacenter:/etc# dmesg | grep -i dvb
[   11.762960] dvb-usb: found a 'DK mini DVBT DONGLE' in warm state.
[   11.762970] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[   11.765465] DVB: registering new adapter (DK mini DVBT DONGLE)
[   12.565385] DVB: registering adapter 0 frontend 0 (Realtek DVB-T RTL2832)...
[   12.565580] input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1a.7/usb1/1-4/input/input6
[   12.565652] dvb-usb: schedule remote query interval to 287 msecs.
[   12.565658] dvb-usb: DK mini DVBT DONGLE successfully initialized and connected.
[   12.565703] usbcore: registered new interface driver dvb_usb_rtl2832u


Per fare un pò di sano debug, nel caos qualcosa non funzioni come dovrebbe, si può abilitare il debug del modulo, caricandolo con l'opzione:


modprobe dvb_usb_rtl2832u debug=1
Attenzione: /var/log/messages sarà inondato di notifiche da parte del modulo.

Un'altra cosuccia: forse vi domanderete come si fa a sapere quali parametri un modulo accetta in fase di caricamento. In questo caso è debug, ma ce ne sono altri? Come verificarlo? Con il comando modinfo.


 root@mediacenter:/etc# modinfo dvb_usb_rtl2832u
filename:       /lib/modules/2.6.32-38-generic/kernel/drivers/media/dvb/dvb-usb/dvb-usb-rtl2832u.ko
license:        GPL
version:        2.0.1-3
description:    Driver for the RTL2832U DVB-T / RTL2836 DTMB USB2.0 device
author:         Realtek
srcversion:     543B06529B7C7A9EC2C2D20
alias:          usb:v1554p5020d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1554p5013d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1F4DpD803d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1F4DpC803d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1F4DpB803d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1F4DpA803d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1D19p1104d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1B80pD394d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0BDAp2837d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0BDAp2834d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0BDAp2839d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0BDAp2836d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1F4Dp0837d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1B80pD398d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1B80pD393d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1B80pD397d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v13D3p3282d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v13D3p3234d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1164p6601d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1680pA332d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0BDAp2838d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1D19p1103d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1D19p1102d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1D19p1101d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v1B80pD396d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v13D3p3274d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0CCDp00A9d*dc*dsc*dp*ic*isc*ip*
alias:          usb:v0BDAp2832d*dc*dsc*dp*ic*isc*ip*
depends:        dvb-usb
vermagic:       2.6.32-38-generic SMP mod_unload modversions 586
parm:           debug:Set debugging level (1=info,xfer=2 (or-able)). (int)
parm:           demod:Set default demod type(0=dvb-t, 1=dtmb, 2=dvb-c) (int)
parm:           dtmb_err_discard:Set error packet discard type(0=not discard, 1=discard) (int)
parm:           adapter_nr:DVB adapter numbers (array of short)



In questo caso, il modulo dvb-usb-rtl2832u supporta i parametri "debug", "demod", "dtmb_err_discard", "adapter_nr".
Questi parametri ritornano piuttosto utili quando c'è da abilitare o disabilitare dei componenti delle schede (vedi IR per le schede TV, ad esempio).
A questo punto, installatevi il vostro mediacenter preferito.
Suggerisco XBMC + tvheadend.

Nessun commento: