Repository 32bit  Forum
Repository 64bit  Wiki

Configurare una scheda tv: differenze tra le versioni

Da Slacky.eu.
 
 
(3 revisioni intermedie di 2 utenti non mostrate)
Riga 1: Riga 1:
= Scheda TV =
+
[[Category:Periferiche]]
== Configurazione ==
+
= Configurazione =
Per configurare la scheda TV occorre scoprire come il sistema la riconosce.<br>
Per configurare la scheda TV occorre scoprire come il sistema la riconosce.<br>
Linux, grazie al driver '''bttv''', riconosce un congruo numero di schede TV pci.<br>
Linux, grazie al driver '''bttv''', riconosce un congruo numero di schede TV pci.<br>
Riga 16: Riga 16:
* videodev<br><br>
* videodev<br><br>
Per farlo si può utilizzare il comando:
Per farlo si può utilizzare il comando:
:<tt>root@darkstar:~$ lsmod
+
:<tt>root@darkstar:~$ lsmod</tt>
:<tt>Module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size Used by
+
:<tt>Module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size Used by</tt>
:<tt>ohci_hcd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 34308 0
+
:<tt>ohci_hcd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 34308 0</tt>
:<tt>parport_pc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22852 0
+
:<tt>parport_pc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22852 0</tt>
:<tt>parport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21056 1 parport_pc
+
:<tt>parport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21056 1 parport_pc</tt>
:<tt>floppy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;58692 0
+
:<tt>floppy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;58692 0</tt>
:<tt>pcspkr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3424 0
+
:<tt>pcspkr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3424 0</tt>
:<tt>shpchp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98660 0
+
:<tt>shpchp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98660 0</tt>
:<tt>snd_intel8x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30304 0
+
:<tt>snd_intel8x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30304 0</tt>
:<tt>snd_ac97_codec&nbsp;&nbsp;&nbsp;&nbsp;93820 1 snd_intel8x0
+
:<tt>snd_ac97_codec&nbsp;&nbsp;&nbsp;&nbsp;93820 1 snd_intel8x0</tt>
:<tt>snd_ac97_bus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2048 1 snd_ac97_codec
+
:<tt>snd_ac97_bus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2048 1 snd_ac97_codec</tt>
:<tt>nvidia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4083248 12
+
:<tt>nvidia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4083248 12</tt>
:<tt>tuner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38952 0
+
:<tt>tuner&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;38952 0</tt>
:<tt>bttv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;156240 0
+
:<tt>bttv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;156240 0</tt>
:<tt>video_buf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17924 1 bttv
+
:<tt>video_buf&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17924 1 bttv</tt>
:<tt>firmware_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8064 1 bttv
+
:<tt>firmware_class&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8064 1 bttv</tt>
:<tt>i2c_algo_bit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8968 1 bttv
+
:<tt>i2c_algo_bit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8968 1 bttv</tt>
:<tt>v4l2_common&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4864 1 bttv
+
:<tt>v4l2_common&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4864 1 bttv</tt>
:<tt>btcx_risc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4104 1 bttv
+
:<tt>btcx_risc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4104 1 bttv</tt>
:<tt>tveeprom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12560 1 bttv
+
:<tt>tveeprom&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;12560 1 bttv</tt>
:<tt>i2c_core&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17936 4 tuner,bttv,i2c_algo_bit,tveeprom
+
:<tt>i2c_core&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17936 4 tuner,bttv,i2c_algo_bit,tveeprom</tt>
:<tt>videodev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7424 1 bttv
+
:<tt>videodev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7424 1 bttv</tt>
:<tt>root@darkstar:~$ rmmod bttv video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc videodev
+
:<tt>root@darkstar:~$ rmmod bttv video_buf firmware_class i2c_algo_bit v4l2_common btcx_risc videodev</tt>
:<tt>root@darkstar:~$ rmmod tuner tveeprom i2c_core
+
:<tt>root@darkstar:~$ rmmod tuner tveeprom i2c_core</tt>
:<tt>root@darkstar:~$ lsmod
+
:<tt>root@darkstar:~$ lsmod</tt>
:<tt>Module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size Used by
+
:<tt>Module&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Size Used by</tt>
:<tt>ohci_hcd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 34308 0
+
:<tt>ohci_hcd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 34308 0</tt>
:<tt>parport_pc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22852 0
+
:<tt>parport_pc&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;22852 0</tt>
:<tt>parport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21056 1 parport_pc
+
:<tt>parport&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;21056 1 parport_pc</tt>
:<tt>floppy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;58692 0
+
:<tt>floppy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;58692 0</tt>
:<tt>pcspkr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3424 0
+
:<tt>pcspkr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3424 0</tt>
:<tt>shpchp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98660 0
+
:<tt>shpchp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;98660 0</tt>
:<tt>snd_intel8x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30304 0
+
:<tt>snd_intel8x0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;30304 0</tt>
:<tt>snd_ac97_codec&nbsp;&nbsp;&nbsp;&nbsp;93820 1 snd_intel8x0
+
:<tt>snd_ac97_codec&nbsp;&nbsp;&nbsp;&nbsp;93820 1 snd_intel8x0</tt>
:<tt>snd_ac97_bus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2048 1 snd_ac97_codec
+
:<tt>snd_ac97_bus&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2048 1 snd_ac97_codec</tt>
:<tt>nvidia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4083248 12<br><br>
+
:<tt>nvidia&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4083248 12</tt><br><br>
Scaricare i moduli del kernel è importante per poterli caricare con i parametri corretti.<br>
Scaricare i moduli del kernel è importante per poterli caricare con i parametri corretti.<br>
Attenzione l'ordine con cui di tenta di scaricarli è importante a causa delle dipendenze che li<br>
Attenzione l'ordine con cui di tenta di scaricarli è importante a causa delle dipendenze che li<br>
Riga 58: Riga 58:
root).<br>
root).<br>
Occorre ricaricare i driver con il comando:<br>
Occorre ricaricare i driver con il comando:<br>
:<tt>root@darkstar:~# lsmod bttv card=<idcard> tuner=<idtuner> radio=<idradio>
+
:<tt>root@darkstar:~# lsmod bttv card=<idcard> tuner=<idtuner> radio=<idradio></tt>
I valori da utilizzare per i parametri idcard, idtuner possono essere rilevati dai file:<br>
I valori da utilizzare per i parametri idcard, idtuner possono essere rilevati dai file:<br>
:<tt>/usr/src/linux/Documentation/video4linux/CARDLIST.bttv
+
:<tt>/usr/src/linux/Documentation/video4linux/CARDLIST.bttv</tt>
:<tt>/usr/src/linux/Documentation/video4linux/CARDLIST.tuner
+
:<tt>/usr/src/linux/Documentation/video4linux/CARDLIST.tuner</tt>
'''idradio''' può assumere i valori 1 o 0 qualora vi sia o meno il supporto per la radio. Per la scheda tv<br>
'''idradio''' può assumere i valori 1 o 0 qualora vi sia o meno il supporto per la radio. Per la scheda tv<br>
kworld che utilizziamo come esempio i valori rilevabili sono idcard=78, idtuner=5 e idradio=1.
kworld che utilizziamo come esempio i valori rilevabili sono idcard=78, idtuner=5 e idradio=1.
:<tt>root@darkstar:~# modprobe bttv card=78 tuner=5 radio=1
+
:<tt>root@darkstar:~# modprobe bttv card=78 tuner=5 radio=1</tt>
Per completare i test con un utente diverso da root è sufficiente concedere i permessi di lettura e<br>
Per completare i test con un utente diverso da root è sufficiente concedere i permessi di lettura e<br>
scrittura a other sul device '''/dev/video0.'''<br>
scrittura a other sul device '''/dev/video0.'''<br>
:<tt>root@darkstar:~# ls -l /dev/video0
+
:<tt>root@darkstar:~# ls -l /dev/video0</tt>
::<tt>lrwxrwxrwx 1 root root 10 2005-04-12 20:33 /dev/video0 -> v4l/video0
+
::<tt>lrwxrwxrwx 1 root root 10 2005-04-12 20:33 /dev/video0 -> v4l/video0</tt>
:<tt>root@darkstar:~# ls -l /dev/v4l/video0
+
:<tt>root@darkstar:~# ls -l /dev/v4l/video0</tt>
::<tt> crw-rw---- 1 root video 81, 0 2005-04-12 20:33 /dev/v4l/video0
+
::<tt> crw-rw---- 1 root video 81, 0 2005-04-12 20:33 /dev/v4l/video0</tt>
:<tt>root@darkstar:~# su -c "chmod 666 /dev/v4l/video0"
+
:<tt>root@darkstar:~# su -c "chmod 666 /dev/v4l/video0"</tt>
::<tt>Password:
+
::<tt>Password:</tt>
:<tt>root@darkstar:~# ls -l /dev/v4l/video0
+
:<tt>root@darkstar:~# ls -l /dev/v4l/video0</tt>
::<tt> crw-rw-rw- 1 root video 81, 0 2005-04-12 20:33 /dev/v4l/video0
+
::<tt> crw-rw-rw- 1 root video 81, 0 2005-04-12 20:33 /dev/v4l/video0</tt>
A questo punto si può provare ad usare la scheda tv con un programma come kdetv.<br>
+
A questo punto si può provare ad usare la scheda tv con un programma come [http://www.kdetv.org kdetv] o [http://www.bytesex.org xawtv].
[http://www.kdetv.org] o xawtv [http://www.bytesex.org].<br><br>
+
==Salvare la configurazione==
+
=Salvare la configurazione=
Vediamo ora come rendere permanenti le modifiche.<br>
Vediamo ora come rendere permanenti le modifiche.<br>
Come prima cosa occorre impostare i parametri da passare al kernel durante il caricamento dei<br>
Come prima cosa occorre impostare i parametri da passare al kernel durante il caricamento dei<br>
moduli bttv l'avvio del sistema. Per far ciò si può editare il file '''/etc/modprobe.conf''' aggiungendovi il<br>
moduli bttv l'avvio del sistema. Per far ciò si può editare il file '''/etc/modprobe.conf''' aggiungendovi il<br>
seguente blocco:
seguente blocco:
:<tt># i2c
+
:<tt># i2c</tt>
:<tt>alias char-major-89 &nbsp;&nbsp;&nbsp;i2c-dev
+
:<tt>alias char-major-89 &nbsp;&nbsp;&nbsp;i2c-dev</tt>
:<tt>option i2c-core &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i2c_debug=1
+
:<tt>option i2c-core &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i2c_debug=1</tt>
:<tt>option i2c-algo-bit &nbsp;&nbsp;&nbsp;bit_test=1<br><br>
+
:<tt>option i2c-algo-bit &nbsp;&nbsp;&nbsp;bit_test=1</tt><br><br>
:<tt># bttv
+
:<tt># bttv</tt>
:<tt>alias char-major-81 &nbsp;&nbsp;&nbsp;videodev
+
:<tt>alias char-major-81 &nbsp;&nbsp;&nbsp;videodev</tt>
:<tt>alias char-major-81-0 &nbsp;bttv
+
:<tt>alias char-major-81-0 &nbsp;bttv</tt>
:<tt>option bttv &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;card=78 radio=1
+
:<tt>option bttv &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;card=78 radio=1</tt>
:<tt>optino tuner &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debug=1
+
:<tt>optino tuner
  +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;debug=1</tt>
Oppure<sup>1</sup> editare il file /etc/rc.d/rc.modules ed aggiungervi la seguente riga:<br>
Oppure<sup>1</sup> editare il file /etc/rc.d/rc.modules ed aggiungervi la seguente riga:<br>
:<tt>root@darkstar:~# vi /etc/rc.d/rc.modules
+
:<tt>root@darkstar:~# vi /etc/rc.d/rc.modules</tt>
::<tt>...
+
::<tt>...</tt>
::<tt># Effettuo il probe della scheda tv con i parametri corretti
+
::<tt># Effettuo il probe della scheda tv con i parametri corretti</tt>
::<tt>/sbin/modprobe bttv card=78 tuner=5 radio=1
+
::<tt>/sbin/modprobe bttv card=78 tuner=5 radio=1</tt>
L'ultima cosa da fare è rendere permanenti i diritti sul file '''/dev/v4l/video0.''' Ciò si ottiene agendo sui<br>
L'ultima cosa da fare è rendere permanenti i diritti sul file '''/dev/v4l/video0.''' Ciò si ottiene agendo sui<br>
file di configurazione dell'udev. In dettaglio modificano i permessi sui device specificati in<br>
file di configurazione dell'udev. In dettaglio modificano i permessi sui device specificati in<br>
'''/etc/udev/permissions.d/udev.permissions.'''<br>
'''/etc/udev/permissions.d/udev.permissions.'''<br>
:<tt>root@darkstar:~# vi /etc/udev/permissions.d/udev.permissions
+
:<tt>root@darkstar:~# vi /etc/udev/permissions.d/udev.permissions</tt>
::<tt>...
+
::<tt>...</tt>
::<tt># video4linux devices
+
::<tt># video4linux devices</tt>
::<tt>AC20050416 Modifico i permessi per consentire all'utente ale di accedere ai device
+
::<tt>AC20050416 Modifico i permessi per consentire all'utente ale di accedere ai device</tt>
::<tt>video*:root:video:0666
+
::<tt>video*:root:video:0666</tt>
::<tt>radio*:root:video:0666
+
::<tt>radio*:root:video:0666</tt>
::<tt>winradio*:root:video:0666
+
::<tt>winradio*:root:video:0666</tt>
::<tt>vtx*:root:video:0666
+
::<tt>vtx*:root:video:0666</tt>
::<tt>vbi*:root:video:0666
+
::<tt>vbi*:root:video:0666</tt>
::<tt>video/*:root:video:0666
+
::<tt>video/*:root:video:0666</tt>
::<tt>vttuner:root:video:0666
+
::<tt>vttuner:root:video:0666</tt>
::<tt>v4l/*:root:video:0666<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><br><br><br>
 
Autore: Alessandro Celli
Autore: Alessandro Celli

Versione attuale delle 20:23, 15 set 2006

[modifica] 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.

[modifica] 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