Nota: lascio libero chiunque di copiare modificare e riutilizzare il seguente articolo, che rilascio nel pubblico dominio. E' probabile che sul sito del produttore (www.empiremedia.it) si trovino ulteriori informazioni.
La usb pen mi funziona subito come analogico, dopo un po' funziona anche la parte digitale. Presumo sia una questione di caricare il firmware piu' adatto (v. sotto) o di aspettare che il driver maturi.
Per avere a disposizione la usb pen sotto linux bisogna compilarsi i moduli relativi. Quello disponibile con il kernel di etch non la riconosce.
Ho seguito le istruzioni in inglese su
http://www.marcushellberg.com/pages/projects/digital-tv-in-linux.php
Se non lo si sa, scoprire con
uname -r
quale versione del kernel si sta usando, nel mio caso
2.6.18-4-686
Usare questa informazione per scaricare la versione giusta degli headers:
aptitude install mercurial linux-headers-2.6.18-4-686 build-essential
Fare copia di sicurezza dei moduli attualmente installati, casomai qualcosa andasse storto
tar zcvf modulesbackup.tgz -C /lib/modules/ 2.6.18-4-686/
Scaricarsi e installare i moduli aggiornati usando mercurial
mkdir dvbdriver
cd dvbdriver/
hg clone http://mcentral.de/hg/~mrec/v4l-dvb-kernel
cd v4l-dvb-kernel/v4l/
make
sudo make install
Scaricarsi il firmware dal sito http://konstantin.filtschew.de/v4l-firmware/ (non va aggiornato il firmware della penna, va solo scaricato, viene usato dal modulo), a me va anche la versione 4, teoricamente andrebbe la versione 3.
una volta scaricato, scompattarlo in /lib/firmware, es:
tar xvzf firmware_v4.tgz -C /lib/firmware/
a questo punto riavviare il PC inserendo la usb pen: i messaggi, ottenibili anche col comando dmsg, dovrebbero annunciare che la penna e' riconosciuta ed i moduli relativi caricati, ad esempio:
(...)
em28xx v4l2 driver version 0.0.1 loaded
em28xx new video device (eb1a:e310): interface 0, class 255
em28xx: device is attached to a USB 2.0 bus
em28xx: you're using the experimental/unstable tree from mcentral.de
em28xx: there's also a stable tree available but which is limited to
em28xx: linux =2.6.19.2
em28xx: it's fine to use this driver but keep in mind that it will move
em28xx: to http://mcentral.de/hg/~mrec/v4l-dvb-kernel as soon as it's
em28xx: proved to be stable
em28xx #0: Alternate settings: 8
(...)
EEPROM ID= 0x9567eb1a
Vendor/Product ID= eb1a:e310
AC97 audio (5 sample rates)
500mA max power
Table at 0x04, strings=0x226a, 0x0000, 0x0000
tuner 0-0061: chip found @ 0xc2 (em28xx #0)
attach inform (default): detected I2C address c2 /root/dvbdriver/v4l-dvb-kernel/v4l/tuner-core.c: setting tuner callback
tuner 0x61: Configuration acknowledged /root/dvbdriver/v4l-dvb-kernel/v4l/tuner-core.c: setting tuner callback /root/dvbdriver/v4l-dvb-kernel/v4l/xc3028-tuner.c: attach request! /root/dvbdriver/v4l-dvb-kernel/v4l/tuner-core.c: xc3028 tuner successfully loaded
attach_inform: tvp5150 detected.
cs: IO port probe 0x100-0x3af: clean.
cs: IO port probe 0x3e0-0x4ff: clean.
cs: IO port probe 0x820-0x8ff: clean.
cs: IO port probe 0xc00-0xcf7: clean.
cs: IO port probe 0xa00-0xaff: clean.
tvp5150 0-005c: tvp5150am1 detected.
Loading base firmware: xc3028_init0.i2c.fw
Loading default analogue TV settings: xc3028_BG_PAL_A2_A.i2c.fw
xc3028-tuner.c: firmware 2.7
ANALOG TV REQUEST
em28xx #0: V4L2 VBI device registered as /dev/vbi0
em28xx #0: V4L2 device registered as /dev/video0
em28xx #0: Found MSI DigiVox A/D
em28xx audio device (eb1a:e310): interface 1, class 1
em28xx audio device (eb1a:e310): interface 2, class 1
usbcore: registered new driver em28xx
usbcore: registered new driver snd-usb-audio
em2880-dvb.c: DVB Init
Loading base firmware: xc3028_8MHz_init0.i2c.fw
Loading default dtv settings: xc3028_DTV8_2633.i2c.fw
xc3028-tuner.c: firmware 2.7
Sending extra call for Digital TV! /root/dvbdriver/v4l-dvb-kernel/v4l/xc3028-tuner.c: attach request!
DVB: registering new adapter (em2880 DVB-T)
DVB: registering frontend 0 (Zarlink ZL10353 DVB-T)...
Em28xx: Initialized (Em2880 DVB Extension) extension
(...)
Per vedere se c'e' l'audio della TV:
arecord -l
(...)
card 1: Device [USB 2881 Device], device 0: USB Audio [USB Audio]
Subdevices: 1/1
Subdevice #0: subdevice #0
Si può regolare il volume con:
alsamixer -c 1
premendo tab per scegliere l' input screen
A questo punto la scheda e' pronta, usando ad esempio mplayer, dopo aver verificato che mplayer funzioni con un file video (scelta del -vo adatto, verifica dei permessi per sentire l'audio ecc), per vedere la tv si usa
mplayer -vo xv tv:// -tv chanlist=italy:driver=v4l2:input=0:norm=2:device=/dev/video0:alsa=yes:audiorate=48000:amode=0:forceaudio=yes:adevice=hw.1,0:volume=80:immediatemode=0
(attenzione, inserire tutto su una riga e da chanlist= in poi senza spazi, in caso di dubbi vedersi l'help di mplayer- c'e' anche in italiano)
e usare h e k per provare tutti i canali fino a trovare qualche emittente.
Dopo qualche minuto di ricezione segnale analogico che a quanto pare sblocca la situazione, si puo' provare con il digitale. Consiglio di installare kaffeine, che ha una funzione di scansione canali. L'antennina in dotazione non ha fatto molto per me, collegando all'impianto antenna di casa (n.b. mai adattato al digitale terrestre) invece spuntano i canali, se la zona è servita.
Kaffeine permette di fare pausa del segnale video, registrarlo in mpeg2 (serve spazio su disco), e a quanto mi pare registrare un canale e vederne un'altro purche' appartenga allo stesso "stream".
Una stranezza, appena avviato kaffeine il segnale e' piu' debole, cambiando canale un po' la ricezione migliora. Ritengo sia qualche problema con i comandi dati al sintonizzatore.
Per la tv analogica riesco con mplayer a registrare in divx a 2000kbit e qualche filtro per incrementare la qualita' con un celeron a 1.7 giga. Registrando in mpeg2 o salvando direttamente lo stream (mai provato) si ha minor consumo di cpu e lievemente maggior qualità a scapito della dimensione del file.