Mandriva 2009.0 - configurare webcam Ricoh

Dom, 03/05/2009 - 09:51

Mandriva 2009.0 - configurare webcam Ricoh

Inviato da deca72 0 commenti
Mini-guida per webcam Ricoh in mandriva 2009.0

Questa guida spiega come compilare ed installare il driver per le webcam Ricoh che al momento non vengono automaticamente configurate da Mandriva. Queste webcam si trovano incastonate nella cornice del video di molti portatili HP e Sony Vaio e purtroppo necessitano del caricamento di un firmware per poter funzionare. I modelli supportati dal driver sono:

05ca:1810 HP Pavilion Webcam - UVC

05ca:1830 Sony Visual Communication Camera VGP-VCC2 (for VAIO SZ)

05ca:1832 Sony Visual Communication Camera VGP-VCC3 (for VAIO UX)

05ca:1833 Sony Visual Communication Camera VGP-VCC2 (for VAIO AR1)

05ca:1834 Sony Visual Communication Camera VGP-VCC2 (for VAIO AR2)

05ca:1835 Sony Visual Communication Camera VGP-VCC5 (for VAIO SZ)

05ca:1836 Sony Visual Communication Camera VGP-VCC4 (for VAIO FE)

05ca:1837 Sony Visual Communication Camera VGP-VCC4 (for VAIO FZ)

05ca:1839 Sony Visual Communication Camera VGP-VCC6 (for VAIO CR)

05ca:183a Sony Visual Communication Camera VGP-VCC7 (for VAIO SZ)

05ca:183b Sony Visual Communication Camera VGP-VCC8 (for VAIO FZ)

05ca:1870 HP Pavilion Webcam / HP Webcam 1000

Per verificare quale modello avete si può usare il comando (da root):

[root@Pedro ~]# lsusb | grep 05ca
Bus 001 Device 003: ID 05ca:1870 Ricoh Co., Ltd

Purtroppo il driver non viene mantenuto regolarmente, per esempio dava problemi di compilazione con alcuni kernel della serie 2.6.27.

1)
Assicuratevi di avere installato l'rpm con sorgenti corrispondenti alla versione del kernel che state usando; la guida è stata provata su un kernel 2.6.28 per cui nel mio caso ho avuto bisogno dei due pacchetti:

kernel-desktop-2.6.28.8-69mib-1-1mnb2

kernel-desktop-devel-2.6.28.8-69mib-1-1mnb2

2)
Procuratevi il sorgenti del driver: da console mettetevi in una directory di lavoro e digitate i comandi

wget http://www.palmix.org/download/r5u870_k2.6.27.tar.bz2

bunzip2 r5u870_k2.6.27.tar.bz2

tar xvf r5u870_k2.6.27.tar

cd r5u870_k2.6.27

3)
Compilate il driver con il comando:

make

Se la compilazione termina senza errori, da root digitate

make install

A questo punto si può provare a caricare il modulo; sempre da root

modprobe -v r5u870

insmod /lib/modules/2.6.28.8-desktop-69mib/extra/r5u870.ko

Se tutto è andato a buon fine, nei messaggi di sistema dovrebbe apparire qualcosa di simile a questo:

[root@Pedro r5u870_k2.6.27]# dmesg

usbcam: registering driver r5u870 0.11.3

r5u870: Found DMI model: "HP Pavilion dv6000 (RP986EA#ABZ) "

70-0: Detected HP Pavilion Webcam (WDM)

r5u870-0: registered as video0

usbcore: registered new interface driver r5u870

il che significa che la webcam è stata registrata come device /dev/video0.

4)
Collaudo: potete ora provare a lanciare ekiga, skype o semplicemente mplayer da riga di comando:

mplayer tv:// -tv driver=v4l2:device=/dev/video0

Se tutto è andato a buon fine, dovrebbe apparire la faccia di uno/a che ha appena felicemente configurato la propria webcam.

Miglioramenti
Per qualche motivo, almeno sul mio portatile, il driver non inizializza correttamente il settaggio del contrasto della webcam, con il risultato che dopo pochi secondi di chiamata con skype i colori cominciano ad alterarsi fino a che tutta l'immagine risulta blu/viola. Se anche voi avete lo stesso problema, potete risolverlo così: con il vostro editor di testi preferito create uno script come questo:

#!/bin/sh

gst-launch-0.10 v4l2src device=/dev/video0 ! fakesink &

sleep 1

v4l2-ctl --device=/dev/webcam -c 'contrast=62'

pkill gst-launch-0.10

salvatelo da qualche parte, per es in una directory scripts col nome ~/scripts/set_web_color.sh e rendetelo eseguibile

chmod +x ~/scripts/set_web_color.sh

Lo script non fa altro che accendere la webcam per un secondo, settare il contrasto e spegnerla (è necessario installare il pacchetto ivtv per avere disponibile il comando v4l2-ctl); può essere comodo richiamarlo automaticamente ad ogni login, per esepio aggiungendo una riga in fondo al file .bashrc_profile:

~/scripts/set_web_color.sh

Un altro problema si può presentare se avete più dispositivi video usb; io per esempio ho uno stick TV e a seconda se al momento del boot è collegato o meno, la webcam viene vista come /dev/video0 o /dev/video1 e bisogna ogni volta riconfigurare i vari programmi (skype, ekiga) che la usano. Ci sono almeno due possibili soluzioni:

1) aggiungere al file /etc/modprobe.conf la riga:

options r5u870 video_nr=1

in questo modo il driver viene forzato a creare la webcam sempre come /dev/videoN, in questo caso video1. Lo stick TV, se presente, diventerà /dev/video0.

2) più elegantemente, si può fare in modo che il sistema crei automaticamente un link simbolico /dev/webcam che punti al dispositivo /dev/videoN giusto. Per fare ciò, supponendo che la webcam sia al momento dev/video1, lanciate il seguente comando come root:

[root@Pedro etc]# udevadm info --attribute-walk -p `udevadm info -q path -n /dev/video1`

Udevinfo starts with the device specified by the devpath and then

walks up the chain of parent devices. It prints for every device

found, all possible attributes in the udev rules key format.

A rule to match, can be composed by the attributes of the device

and the attributes from one single parent device.

looking at device '/class/video4linux/video1':

KERNEL=="video1"

SUBSYSTEM=="video4linux"

DRIVER==""

ATTR{name}=="HP Pavilion Webcam (WDM) #1"

ATTR{index}=="0"

Sulla base della stringa ATTR{name} si può creare un file, da salvare come /etc/udev/rules.d/webcam.rules, che contenga la riga seguente:

SUBSYSTEM=="video4linux", ATTR{name}=="HP Pavilion Webcam (WDM) #1", SYMLINK+="webcam"

In questo modo qualunque sia il numero di dispositivi video presenti, avremo sempre un link /dev/webcam che punta a quello corretto.

Buona visione!