Fedora 12 e DVB MSI Digivox Mini II 3.0

USB MSI DIGIVOX mini IILa mia macchina utilizza un kernel 2.6.31, ma purtroppo la pen USB della MSI non è supportata.

Dopo avere spulciato di tutto e di più, ecco che mettendo insieme un paio di post separati ottengo quello che voglio.

Il problema consiste nel fatto che i driver della scheda non sono presenti in v4l-dvb, ma li possiamo compilare noi (in definitiva ce lo aspettavamo quando abbiamo installato gli strumenti di sviluppo no?)

Ottenere e patchare il sorgente di v4l-dvb

Ecco la procedura (si tratta di un adattamento di due separati post, il merito va agli autori non a me):

mkdir digivox
cd digivox
hg clone http://linuxtv.org/hg/v4l-dvb
wget http://media.ubuntuusers.de/forum/attachments/2103272/090730_RTL2832U_LINUX_Ver1.1.rar
unrar x -ep 090730_RTL2832U_LINUX_Ver1.1.rar ./v4l-dvb/linux/drivers/media/dvb/dvb-usb
cd v4l-dvb
for i in `find . -name *.pl`; do chmod +x $i ; done
gedit ./linux/drivers/media/dvb/dvb-usb/Makefile

Quasi alla fine del file inseriamo:

dvb-usb-rtl2832u-objs = demod_rtl2832.o dvbt_demod_base.o dvbt_nim_base.o foundation.o math_mpi.o nim_rtl2832_mxl5007t.o nim_rtl2832_fc2580.o nim_rtl2832_mt2266.o rtl2832u.o rtl2832u_fe.o rtl2832u_io.o tuner_mxl5007t.o tuner_fc2580.o tuner_mt2266.o tuner_tua9001.o nim_rtl2832_tua9001.o
obj-$(CONFIG_DVB_USB_RTL2832U) += dvb-usb-rtl2832u.o

Quindi:

gedit ./linux/drivers/media/dvb/dvb-usb/Kconfig

Inserimento alla fine del file

config DVB_USB_RTL2832U
tristate "Realtek RTL2832U DVB-T USB2.0 support"
depends on DVB_USB
help
Realtek RTL2832U DVB-T driver

gedit ./linux/drivers/media/dvb/dvb-usb/rtl2832u.c

(1. Rimuovere il commento// dalla linea 12:)
//DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);

(2. rimpiazzare le linee 61-63 con:)
if ( ( 0== dvb_usb_device_init(intf,&rtl2832u_1st_properties,THIS_MODULE,NULL,adapter_nr) )||
( 0== dvb_usb_device_init(intf,&rtl2832u_2nd_properties,THIS_MODULE,NULL,adapter_nr) ) ||
( 0== dvb_usb_device_init(intf,&rtl2832u_3th_properties,THIS_MODULE,NULL,adapter_nr) ))

occhio al return 0; che deve rimanere

gedit ./linux/drivers/media/dvb/dvb-usb/tuner_tua9001.c

(cercare 19.2 e 20.48 e sostituirli rispettivamente con 19_2 e 20_48:)
#elif defined(CRYSTAL_19.2_MHZ) /* Frequency 19.2 MHz */
#elif defined(CRYSTAL_19_2_MHZ) /* Frequency 19.2 MHz */
#elif defined(CRYSTAL_20.48_MHZ) /* Frequency 20,48 MHz */
#elif defined(CRYSTAL_20_48_MHZ) /* Frequency 20,48 MHz */

make

premere CTRL-C dopo alcuni secondi

gedit ./v4l/.config

(rimpiazzare CONFIG_DVB_FIREDTV=m con CONFIG_DVB_FIREDTV=n:)
CONFIG_DVB_FIREDTV=m
CONFIG_DVB_FIREDTV=n

Disabilitazione di radio per evitare errori di compilazione

gedit v4l-dvb/linux/drivers/media/Makefile

Modificare le righe presenti in questo modo:
#
# Makefile for the kernel multimedia device drivers.
#
obj-y := common/
#obj-y += video/
#obj-$(CONFIG_VIDEO_DEV) += radio/
obj-$(CONFIG_DVB_CORE) += dvb/

make clean
make
make install

Non dovreste avere più errori di cimpilazione (per compilare vi serverà almeno il pacchetto kernel-headers se non volete installare kernel devel) ma alla fine delle procedura la scheda è correttamente riconosciuta:

Test di funzionamento

Inseriamo ora la penna in una qualsiasi porta USB e lanciamo dmesg per averne la prova

dmesg

dvb-usb: found a 'DK DVBT DONGLE' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (DK DVBT DONGLE)
DVB: registering adapter 0 frontend 0 (Realtek RTL2832 DVB-T)...
dvb-usb: DK DVBT DONGLE successfully initialized and connected.
dvb-usb: found a 'DK DVBT DONGLE' in warm state.
dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
DVB: registering new adapter (DK DVBT DONGLE)
DVB: registering adapter 1 frontend 0 (Realtek RTL2832 DVB-T)...
dvb-usb: DK DVBT DONGLE successfully initialized and connected.
usbcore: registered new interface driver dvb_usb_rtl2832u

WOW anche questa è andata!

Nel mio caso la sintonia non identifica alcun canale, ma questo è normale visto che la mia zona ancora non dispone di copertura digitale.

Speriamo presto di potere testare anche le funzioni di visualizzazione e registrazione digitale!