Per configurare la scheda TV occorre scoprire come il sistema la riconosce.
Linux, grazie al driver bttv, riconosce un congruo numero di schede TV pci.
Oltre al tipo di scheda è importante conoscere anche il tuner e se dispone di una radio.
Ovviamente si supppone che della propria scheda si conosca la marca, il modello, il tipo di
sintonizzazione e se incorpora una scheda radio. Per testare il funzionamento come prima cosa
occorre rimuovere, qualora siano già caricati, i seguenti moduli:
Per farlo si può utilizzare il comando:
:root@darkstar:~$ lsmod :Module Size Used by :ohci_hcd 34308 0 :parport_pc 22852 0 :parport 21056 1 parport_pc :floppy 58692 0 :pcspkr 3424 0 :shpchp 98660 0 :snd_intel8x0 30304 0 :snd_ac97_codec 93820 1 snd_intel8x0 :snd_ac97_bus 2048 1 snd_ac97_codec :nvidia 4083248 12 :tuner 38952 0 :bttv 156240 0 :video_buf 17924 1 bttv :firmware_class 8064 1 bttv :i2c_algo_bit 8968 1 bttv :v4l2_common 4864 1 bttv :btcx_risc 4104 1 bttv :tveeprom 12560 1 bttv :i2c_core 17936 4 tuner,bttv,i2c_algo_bit,tveeprom :videodev 7424 1 bttv :root@darkstar:~$ rmmod bttv video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc videodev :root@darkstar:~$ rmmod tuner tveeprom i2c_core :root@darkstar:~$ lsmod :Module Size Used by :ohci_hcd 34308 0 :parport_pc 22852 0 :parport 21056 1 parport_pc :floppy 58692 0 :pcspkr 3424 0 :shpchp 98660 0 :snd_intel8x0 30304 0 :snd_ac97_codec 93820 1 snd_intel8x0 :snd_ac97_bus 2048 1 snd_ac97_codec :nvidia 4083248 12
Scaricare i moduli del kernel è importante per poterli caricare con i parametri corretti.
Attenzione l'ordine con cui di tenta di scaricarli è importante a causa delle dipendenze che li
legano (l'esempio proposto è ovviamente corretto).
Per verificare lo stato dei driver e le loro dipendenze si può usare il comando lsmod (sempre da
root).
Occorre ricaricare i driver con il comando:
:root@darkstar:~# lsmod bttv card=<idcard> tuner=<idtuner> radio=<idradio>
I valori da utilizzare per i parametri idcard, idtuner possono essere rilevati dai file:
:/usr/src/linux/Documentation/video4linux/CARDLIST.bttv :/usr/src/linux/Documentation/video4linux/CARDLIST.tuner
idradio può assumere i valori 1 o 0 qualora vi sia o meno il supporto per la radio. Per la scheda tv
kworld che utilizziamo come esempio i valori rilevabili sono idcard=78, idtuner=5 e idradio=1.
:root@darkstar:~# modprobe bttv card=78 tuner=5 radio=1
Per completare i test con un utente diverso da root è sufficiente concedere i permessi di lettura e
scrittura a other sul device /dev/video0.
:root@darkstar:~# ls -l /dev/video0 ::lrwxrwxrwx 1 root root 10 2005-04-12 20:33 /dev/video0 -> v4l/video0 :root@darkstar:~# ls -l /dev/v4l/video0 :: crw-rw---- 1 root video 81, 0 2005-04-12 20:33 /dev/v4l/video0 :root@darkstar:~# su -c "chmod 666 /dev/v4l/video0" ::Password: :root@darkstar:~# ls -l /dev/v4l/video0 :: crw-rw-rw- 1 root video 81, 0 2005-04-12 20:33 /dev/v4l/video0
A questo punto si può provare ad usare la scheda tv con un programma come kdetv o xawtv.
Vediamo ora come rendere permanenti le modifiche.
Come prima cosa occorre impostare i parametri da passare al kernel durante il caricamento dei
moduli bttv l'avvio del sistema. Per far ciò si può editare il file /etc/modprobe.conf aggiungendovi il
seguente blocco:
:# i2c :alias char-major-89 i2c-dev :option i2c-core i2c_debug=1 :option i2c-algo-bit bit_test=1
:# bttv :alias char-major-81 videodev :alias char-major-81-0 bttv :option bttv card=78 radio=1 :optino tuner
debug=1
Oppure1 editare il file /etc/rc.d/rc.modules ed aggiungervi la seguente riga:
:root@darkstar:~# vi /etc/rc.d/rc.modules ::... ::# Effettuo il probe della scheda tv con i parametri corretti ::/sbin/modprobe bttv card=78 tuner=5 radio=1
L'ultima cosa da fare è rendere permanenti i diritti sul file /dev/v4l/video0. Ciò si ottiene agendo sui
file di configurazione dell'udev. In dettaglio modificano i permessi sui device specificati in
/etc/udev/permissions.d/udev.permissions.
:root@darkstar:~# vi /etc/udev/permissions.d/udev.permissions ::... ::# video4linux devices ::AC20050416 Modifico i permessi per consentire all'utente ale di accedere ai device ::video*:root:video:0666 ::radio*:root:video:0666 ::winradio*:root:video:0666 ::vtx*:root:video:0666 ::vbi*:root:video:0666 ::video/*:root:video:0666 ::vttuner:root:video:0666 ::v4l/*:root:video:0666
1 In slackware 10.2 questo approccio non dava problemi mentre il precedente si. Con le versioni precedenti era preferibile il primo approccio.
Autore: Alessandro Celli