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