Introduzione
Individuazione della periferica
Digitare in un terminale il comando
lsusb
Se tra le righe dell'output è presente una del tipo
0c45:<xxxy>
si è in possesso di una webcam Microdia
Prerequisiti
Installare i pacchetti necessari allo scaricamento del codice sorgente del driver ed alla sua compilazione:
sudo apt-get install cogito git-core git-doc kernel-package linux-headers-`uname -r` build-essential
= Compilazione del driver =
Scaricare il codice sorgente del driver digitando:
git clone http://repo.or.cz/r/microdia.git
Entrare nella cartella microdia
cd microdia
e compilare il driver dando il comando
make
Infine caricare il driver
sudo insmod ./microdia.ko
Se tutto funziona bene non si verà alcun messaggio su stdout, ma il comando
dmesg
avrà linee simili alle seguenti
microdia: Microdia USB2.0 webcam driver startup microdia: Microdia USB2.0 Webcam - Product ID 6260. microdia: Release: 0100 microdia: Number of interfaces : 1 microdia: Microdia USB2.0 Camera is now controlling video device /dev/video0 usbcore: registered new interface driver usb_microdia_driver microdia: v0.0.0 : Microdia USB Video Camera
Test del driver
Installare mplayer.
Digitare in un tereminale
mplayer tv:// -tv driver=v4l2:width=640:height=480:fps=25:device=/dev/video0 -vo x11
Installazione del driver
Se la compilazione e il test del driver ha funzionato dare i seguenti comandi uno alla volta ,in modo da non dover caricare il driver dopo ogni riavvio di sistema
strip -g microdia.ko sudo cp microdia.ko /lib/modules/`uname -r`/kernel/drivers/media/video/usbvideo/ sudo depmod -a
Risoluzione problemi
Se durante la compilazione si ottiene il seguente errore
make: *** [driver] Error 127
significa semplicemente che il modulo non è nella posizione corretta, non un grande errore. Il comando
sudo insmod microdia.ko
Potrebbe dare uno dei seguenti errori.
insmod: error inserting './microdia.ko': -1 Invalid module format
Possible causa: Il compilatore gcc con il quale è compilato il kernel e quello con cui è compilato il modulo sono incompatibili.
Possibile soluzione: Installare una versione più vecchia di gcc e cambiare la variabile di ambiente cc in modo che usi quella versione di gcc.
insmod: error inserting 'microdia.ko': -1 Unknown symbol in module
Guardare l'output di
dmesg
le ultime righe conterranno informazioni sui simboli mancanti.Potrebbero non essere state caricati i moduli che dipendono dal modulo microdia.ko .
Caricare i moduli con i seguenti comandi:
sudo modprobe videodev
sudo modprobe compat-ioctl32
Infine caricare il modulo microdia
sudo insmod microdia.ko
= Ulteriori risorse =
[https://groups.google.com/group/microdia/web/testing-microdia-driver-draft Guida originale]
[https://groups.google.com/group/microdia Home page microdia]