Dopo il mio post di qualche tempo fa, stanno cominciando ad arrivarmi richieste di assistenza su come installare i driver delle webcam integrate in vari laptop.
Partiamo subito dal presupposto che sono riuscito a far funzionare la webcam del mio portatile semplicemente seguendo queste istruzioni. La cosa ha funzionato bene sul pc da cui sto scrivendo il post. Non ho assolutamente idea di come si scriva un driver per una webcam. Se la vostra webcam integrata è diversa dalla mia, non so come aiutarvi.
Quello che segue è una traduzione a naso (non conosco bene lo spagnolo) delle istruzioni che ho seguito sulla mia Ubuntu 7.10. Rispetto al post linkato, scritto per la festy, cambia pochissimo.
Come faccio a sapere che la webcam integrata è la stessa per cui è stata scritta la guida?
Da terminale digita il comando lsusb.
davide@laptop:~$ lsusb
Bus 004 Device 003: ID 174f:a311
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 062a:0003 Creative Labs
Bus 001 Device 001: ID 0000:0000
La webcam è quella evidenziata in grassetto. Il bus ed il device possono essere diversi. Dipende da come è stata collegata nel vostro pc. Quello che vi permette di riconoscere la webcam è l’ID che deve essere 174f:a311. Se così non è, non seguite questa guida, perchè andrete ad installare driver per hardware inesistente!
Installo dei pacchetti necessari per la compilazione e l’utilizzo dei driver
Son tantini, ma se non è il primo driver che compilate, state tranquilli perchè molti saranno già installati nel sistema. Potete fare un bel copia / incolla nel terminale se volete.
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev libncurses5-dev libusb-dev libsane-dev libsane-extras-dev subversion exuberant-ctags camorama dpkg-dev debhelper devscripts fakeroot linda dh-make
Installo degli header del kernel
Installate gli header del kernel ovviamente in funzione della versione del kernel che state utilizzando. Per non sbagliare, lanciate il comando:
sudo apt-get install linux-headers-`uname -r`
Download ed installo dei driver
Bando alle ciance. Seguite paro paro quelle che sono le istruzioni da terminale. Fate attenzione perchè queste istruzioni sono leggermente diverse da quelle date sulla guida ufficiale.
sudo -s
cd /usr/src
svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver syntekdriver
cd syntekdriver/trunk/driver/
make driver -f Makefile.standalone
Attenzione a quando date il make. Se non specificate il makefile giusto, non vi funzionerà.
A questo punto, dentro la directory /usr/src/syntekdriver/trunk/driver/ avrete il file stk11xx.ko che copierete fra i moduli del kernel.
cp stk11xx.ko /lib/modules/`uname -r`/kernel/drivers/media/video
E lo farete caricare con un bel
depmod -a
Testing del driver
Gli ultimi due passaggi della fase precedente sono necessari in quanto un make install del driver non sembra al momento funzionare adeguatamente. Per cui il tutto va fatto a mano.
Per testare il funzionamento del driver, lanciate i comandi seguenti.
sudo modprobe videodev
sudo modprobe v4l1-compat
sudo modprobe stk11xx
Se non riceverete nessun errore o warning siete su un ottima strada 🙂
Inclusione nel file /etc/modules
L’ultima cosa che ci resta da fare. Il file contiene tutti i moduli del kernel che devono essere avviati al boot. In questo modo potremo accedere alla webcam in qualsiasi momento.
sudo gedit /etc/modules
Ed all’interno aggiungiamo queste tre righe.
videodev
v4l1-compat
stk11xx
Come ultima cosa, avviate camorama dal menu Applications >> Grafica e divertitevi pure 🙂
E nell’attesa che i produttori di hardware si accorgano che anche gli utenti Linux vogliono guardarsi in faccia via skype o altro IM, non ci resta che aspettare i soliti lodevoli sforzi della comunità open source.
Perfetto… ora mi funziona tutto alla perfezione. Guida chiarissima!
E questo è già un gran feedback 🙂
ciao e complimenti,
ho eseguito tutto come spiegato sopra adattandolo alla mia distribuzione(sabayon). Ma quando lancio camorama mi compare una graziosa finestrella che mi dice:
could not connect to video device(/dev/video0). Please check connection.
…ma porca miseria, pensavo di aver risolto!!!
Bisognerebbe capire che tipo di adattamenti hai fatto. Sicuramente qualche passaggio non l'hai azzeccato.
ho seguito la guida e sembrava aver funzionato. solo che ora, dopo l'installazione del dvb (terratec) non mi va più la webcam.
provando a dare "sudo modprobe stk11xx" mi restituisce il seguente errore: "FATAL: Error inserting stk11xx (/lib/modules/2.6.22-14-generic/kernel/drivers/media/video/stk11xx.ko): Unknown symbol in module, or unknown parameter (see dmesg)"
consigli?
grazie.
Provato a ricompilare il driver?
si. mi sono accorto dell'errore proprio quando ho riprovato ad installare la webcam.
Non vorrei ci fosse incompatibilità fra i due driver.
Sarebbe il caso di contattare direttamente il team che si occupa dello sviluppo. Ma prima, giusto per la prova del nove, non potresti disinstallare terratec e tutto l'ambaradan e vedere se il driver torna a funzionare?
ottimo lavoro davidonzo!!!
funziona a meraviglia
ciao e grazie
darwin
ciao scusate, qUANDO LANCIO IL COMANDO : root@sergio-MSHOME:/usr/src# make driver -f Makefile.standalone
MI APPARE LA DICITURA : make: Makefile.standalone: Nessun file o directory
make: *** No rule to make target `Makefile.standalone'. Stop.
COSA DEVO FARE? GRAZIE
@ Sergio: che revisione stai usando?
Non c'è il file Makefile.standalone nella directory driver/ ?
Ci sono altri makefile?
alla fine ho disinstallato il terratec e la webcam va benissimo. certo, con camorama vedo i colori sfalsati (il blu predomina) e non sono riuscito a sistemarli. a parte questo (se qualcuno sa come sistemare, posti) c'è un modo per catturare i video utilizzando la webcam integrata?
grazie
ciao Davide, sei la salvezza di chi ha questa webcam integrata… anche a me dà l'errore di Sergio
make: Makefile.standalone: Nessun file o directory
make: *** No rule to make target `Makefile.standalone'. Stop.
il file c'è ma come mai non va il comando? scusa ma ho appena installato solo ubuntu e sto ancora provando.. please help!!
Sei entrato nella giusta directory?
Lanciato correttamente il comando?
make driver -f Makefile.standalone
grande ci sono riuscito! scusa sarà che ieri erano 4 ore che non mi staccavo più da linux…
una sola cosa ancora:
con camorama mi dà l'immagine blu, mi vedo ma non riesco ad aggiustare i colori.
Su skype versione beta, invece, nella preview si vede benissimo… idee?
grazie mille comunque
ciao
C'è il tasto "adjust" che ti apre i controlli di bilanciamento colore e tutto il resto.
scusa ma fin là c'arrivo.. resta blu/verde di fondo indipendentemente dalle impostazioni che metto, intendevo questo.
Senza offesa ma quello l'avevo provato.
Avvia camorama da terminale e leggi in esso quali warning, errori o avvisi su moduli caricati male appaiono.
ciao, ho seguito più volte la guida (su FF e GG) e andava alla perfezione, solo che ora su Ubuntu 8.10 non mi va. nel momento in cui devo copiare il file stk11xx.ko mi dice "cp: impossibile fare stat di `stk11xx.ko': Nessun file o directory". infatti quel file non è presente nella cartella in questione.
che mi dici?
grazie
Che comando make usi? Evochi il Makefile.standalone? Dai make driver, vero?
si, la tua guida passo passo perfettamente.
può essere un problema legato a II?
quando do il comando "make driver -f Makefile.standalone" ecco cosa mi da il terminale:
"make -C /lib/modules/2.6.27-7-generic/build SUBDIRS=/usr/src/syntekdriver/trunk/driver modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.27-7-generic'
CC [M] /usr/src/syntekdriver/trunk/driver/stk11xx-v4l.o
/usr/src/syntekdriver/trunk/driver/stk11xx-v4l.c:1727: error: ‘v4l_compat_ioctl32’ undeclared here (not in a function)
make[2]: *** [/usr/src/syntekdriver/trunk/driver/stk11xx-v4l.o] Error 1
make[1]: *** [_module_/usr/src/syntekdriver/trunk/driver] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.27-7-generic'
make: *** [driver] Error 2"
ne ricavi qualcosa?
grazie
Ciao koburn, sembra essere un problema di kernel.
Se non riesci a compilare un kernel aggiornato, allora prova a scaricare una versione precedente del driver.
Scaricalo da qui: http://mxhaard.free.fr/spca50x/Download/oldrelease/
Per intenderci, io ho questa versione del kernel
e la versione del driver è immediatamente precedente alla data di questo post
quindi non è possibile utilizzare la webcam con questo kernel? se non voglio cambiare kernel vuol dire che mi devo tenere la webcam non funzionante per ora?
Lanca un uname -r
Che versione del kernel hai?
kernel 2.6.27-7-generic
Prova scaricando il driver da qui: http://sourceforge.net/project/showfiles.php?group_id=178178
ciao, ho seguito la tua guida ma al momento di dare make mi da questo errore:
make -C /lib/modules/2.6.24-23-generic/build SUBDIRS= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-23-generic'
CHK include/linux/version.h
CHK include/linux/utsrelease.h
make[2]: *** No rule to make target `arch/x86/kernel/asm-offsets.c', needed by `arch/x86/kernel/asm-offsets.s'. Stop.
make[1]: *** [prepare0] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-23-generic'
make: *** [driver] Error 2
da cosa dipende? ho HH amd64.
PS
non mi ha installato nemmeno linda.
grazie
Installati gli header del kernel?
Sembra dipendere da questo. Che versione del kernel hai?
gli headers risultano aggiornati, il mio kernel è 2.6.24-23-generic
ma il problema potrebbe essere che la distro è per amd64? e l'errore riguardare qualcosa come "needed by `arch/x86/kernel/asm-offsets.s'. Stop."?
sembra tutto a posto, headers e tutto il resto, tranne che per linda che non si installa e per il file stk11xx.ko che non viene creato.
Probabilissimo sia l'architettura.
Io mantengo ancora la mia 32bit, pur avendo un processore che potrebbe supportare il 64bit.
Diversi driver si trovano con difficoltà, in particolare quelli sviluppati da piccole community come quella di riferimento di questo software.
Prova qui: http://sourceforge.net/project/showfiles.php?group_id=178178 ci sono file molto aggiornati.
ho seguito il tuo consiglio, usando i driver aggiornati, e mi è cambiato l'errore:
make -C /lib/modules/2.6.24-23-generic/build SUBDIRS=/usr/src/syntekdriver/trunk/driver modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-23-generic'
CC [M] /usr/src/syntekdriver/trunk/driver/stk11xx-usb.o
/usr/src/syntekdriver/trunk/driver/stk11xx-usb.c:47:30: error: media/v4l2-ioctl.h: Nessun file o directory
make[2]: *** [/usr/src/syntekdriver/trunk/driver/stk11xx-usb.o] Error 1
make[1]: *** [_module_/usr/src/syntekdriver/trunk/driver] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-23-generic'
make: *** [driver] Error 2
???????