Repository 32bit  Forum
Repository 64bit  Wiki

Configurare una scheda tv: differenze tra le versioni

Da Slacky.eu.
Riga 113: Riga 113:
::<tt>v4l/*:root:video:0666</tt><br><br>
::<tt>v4l/*:root:video:0666</tt><br><br>
<sup>1</sup> In slackware 10.2 questo approccio non dava problemi mentre il precedente si.Con le versioni precedenti era<br>
+
<sup>1</sup> In slackware 10.2 questo approccio non dava problemi mentre il precedente si.Con le versioni precedenti era preferibile il primo approccio.<br>
preferibile il primo approccio.<br>
 
Autore: Alessandro Celli
Autore: Alessandro Celli

Versione delle 20:22, 15 set 2006

Configurazione

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:

  • bt878
  • bttv
  • video_buf
  • firmware_class
  • i2c_algo_bit
  • v4l2_common
  • btcx_risc
  • videodev

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.

Salvare la configurazione

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

Strumenti personali
Namespace

Varianti