Fedora 16 e il supporto degli stick per il digitale Terrestre basati su chip RTL 2832U

dtvCi sono in giro un sacco di stick USB per l'accesso alla TV digitale terrestre che sono basati sul chip RTL 2832U.

Sono veramente tantissime ed è molto facile imbattersi in questi dannatti affari estremamente economici che una volta connessi alla nostra amata macchina con Fedora non danno purtroppo alcun segno di sè.

Recentemente poi con il passaggio al Kernel 3.0 il "trucco" usato per la compilazione del driver della digivox su Fedora 12-14 non funziona più.

Quindi, visto che sto mettendo a punto un nuovo media center basato stavolta su fedora 16 64 bit dovevo trovare una soluzione.

Ed eccola qui, compreso l'aggiornamento per il kernel 3.3 e 3.4

Il kernel 3.x non supporta il chip RTL2832U

Questo l'avevamo capito altrimenti non serviva scrivere un articolo ed inoltre la compilazione di v4l con la patch da errore con i sorgenti del Kernel serie 3, quindi qualcuno ha messo a punto un bellissimo progetto per la creazione di un modulo driver da caricare nel kernel.

Fine delle patch e fine delle tribolazioni?

Non proprio visto che la messa a punto è avvenuta su Ubuntu e sul mio amato Fedora le cose sono leggermente diverse e quindi la "baracca" non compila, ma niente paura.

Il progetto del driver lo trovate all'indirizzo https://github.com/ambrosa/ e si tratta di un progetto italiano il cui supporto è qui http://openpli.org/forums/topic/20899-rtl2832u-chipset-support-proposal/

La procedura per rendere compilabile il tutto su Fedora è veramente semplice ed eccola qui.

Prelievo del sorgente

git clone https://github.com/ambrosa/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0.git

AGGIORNAMENTO 30-04-2012: ecco il driver per kernel serie 3.3 e 3.4
git clone https://github.com/tmair/DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0.git

Modifica dei parametri del makefile per Fedora 16 con kernel 3.0

cd DVB-Realtek-RTL2832U-2.2.2-10tuner-mod_kernel-3.0.0/RTL2832-2.2.2_kernel-3.0.0

ora editiamo il Makefile ed attiviamo la compilazione per il kernel 3.2 come indicato nelle documentazione del progetto

# kernel 3.0.0 / 3.1.0
#INCLUDE_EXTRA_DVB := include-300
# kernel 3.2.0
INCLUDE_EXTRA_DVB := include-320

Le modifiche al sorgente per Fedora

Per compilare sotto Fedora occorre ancora una piccolissima ma determinante modifica (solo per la versione del driver per kernel 3.0, 3.1 e 3.2), ovvero dobbiamo cambiare il percorso nel quale il Mekefile cercherà gli header del kernel (che avremo installato con yum install kernel-headers)

Verso la linea 38 commentiamo la riga KDIR ed inseriamone una nuova

#KDIR = /usr/src/linux-headers-`uname -r`
KDIR = /usr/src/kernels/`uname -r`

NOTA: questo non è necessario con il driver per kernel 3.3 e 3.4 che presenta già il percorso corretto

A questo punto siamo pronti per compilare:
make clean
make
Terminata la compilazione installiamo il modulo e quindi carichiamolo nel kernel
sudo make install
modprobe dvb_usb_rtl2832u

A questo punto inseriamo il nostro stick e voila, visibile nel dmesg come DVT

Note finali

Dopo avere connesso lo stick il ricevitore viene rilevato correttamente ed è possibile procedere alla sintonizzazione dei canali digitali utilizzando Kaffeine, VLC o MythTv.

Sfortunatamente pure vedendo correttamente i canali e l'EPG non si risce però ad ottenere alcuna immagine, ed a questo non ho ancora trovato soluzione ...

AGGIORNAMENTO: con la patch per il kerne 3.3 tutto funziona perfettamente