Ricompilazione driver per webcam Philips

Transcript

Ricompilazione driver per webcam Philips
UNIVERSITÀ DI BRESCIA
FACOLTÀ DI INGEGNERIA
Dipartimento
di
Elettronica
per
lʼAutomazione
Laboratorio di Robotica Avanzata
Advanced Robotics Laboratory
Rapporto Tecnico
Technical report
ARL-TR-08-03
Ricompilazione driver per
webcam Philips
A cura di:
Riccardo Cassinis
By;
Data:
Date:
3 giugno 2008
Sommario
Vengono qui riportate le modalità di modifica del driver delle telecamere pwc per
renderlo adatto le applicazioni di visione robotica.1
1. Introduzione
In questo rapporto vengono presentate le modifiche necessarie per utilizzare alla massima risoluzione
le webcam Philips sui robot, evitando il continuo intervento del controllo automatico del guadagno.
Il presente documento fa riferimento al kernel usato sul calcolatore di Morgul (linux kernel 2.6.18).
2. Il problema affrontato
Il driver fornito con il kernel contiene, in fase di inizializzazione, l’abilitazione del controllo
automatico di sensibilità della telecamera. Non è quindi possibile utilizzare i comandi per il settaggio
manuale della sensibilità (come fa ad esempio setpwc), perché quando la telecamera entra in funzione i
loro valori vengono sostituiti con quelli calcolati dalla telecamera.
Per usare la webcam in modalità streaming si è adottato il programma camstream.
Per l’acquisizione delle immagini si è adottato il programma vgrabbj.
Per il settaggio del guadagno, della velocità dell’otturatore, ecc. il programma setpwc
3. La soluzione adottata
La soluzione consiste nel ricompilare il driver dopo aver eliminato le due istruzioni che causano il
problema.
Procedura da adottare, dopo aver acquisito i privilegi di root:
Installare l’ultima versione del pacchetto linux-source-x.x.xx, preferibilmente usando il Synaptic
Package Manager; Decomprimere il pacchetto e sistemare il link simbolico:
#cd /usr/src
#tar xjvf linux-source-2.6.18.tar.bz2
#rm –f linux; ln -s linux-source-2.6.18 linux
(Opzionale) : salvare per sicurezza il vecchio modulo pwc.ko:
# cd /lib/modules/`uname -r`/kernel/drivers/media/video/pwc
# mkdir ~/pwc_old
# mv * ~/pwc_old/
Modificare a mano il file: /usr/src/linux/drivers/media/video/pwc/pwc-if.c
commentando le due righe :
// pwc_set_brightness(pdev, 0x7fff);
// pwc_set_agc(pdev, 1,
1
0);
Questo documento è basato sul precedente rapporto ARL-TR-07-03 di Riccardo Cassinis, ora obsoleto.
Riccardo Cassinis
Inizio procedura compilazione:
#cd /usr/src/linux
Recuperare l’ultima configurazione del kernel debian:
#cp /boot/config-2.X.XX-X-686 /usr/src/linux/.config
Compilare i moduli:
#make modules
Rimuovere il vecchio modulo pwc:
#rmmod pwc
Recuperare pwc.ko da /lib/modules/`uname -r`/kernel/drivers/usb/media
#cd /usr/src/linux/drivers/media/video/pwc/
#cp pwc.ko /lib/modules/`uname -r`/kernel/drivers/media/video/pwc/
Lanciare:
#depmod -a
#modprobe pwc
2
Ricompilazione driver per webcam Philips
Indice
SOMMARIO ............................................................................................................................. 1
1.
INTRODUZIONE ............................................................................................................... 1
2.
IL PROBLEMA AFFRONTATO........................................................................................ 1
3.
LA SOLUZIONE ADOTTATA........................................................................................... 1
INDICE ..................................................................................................................................... 3
3