Note: The same tutorial can be found in english.
Ja se sap, nova distribució, nous problemes (com el que vàrem solucionar en el post anterior)
Doncs resulta que amb la nova distribució, s’han afegit nosequants més drivers per a moltes webcams. El cas es que la meva webcam Hercules Deluxe n’ha sortida bastant mal parad, ja que el sistema carrega al endollar la webcam uns mòduls que no serveixen per la càmera en qüestió.
Després de llegir-me detingudament la documentació del mòdul de la webcam (driver, pels que venen del sistema privatiu que aquí no anomenaré). He aconseguit tornar a fer funcionar la webcam, i que em corregues en l’Ubuntu 8.10 Intrepid ibex. Eus ací els passos que he fet.
0) PRELIMINAR
Comprovar que el vostre sistema operatiu detecta la webcam. Ho farem usant un programa com el descrit a l’apartat 5).
Sinó el suporta, escriviu amb la webcam connectada a l’ordinador la següent ordre
lsusb
I comproveu en aquesta pàgina web si el resultat que us dona (alguna cosa com 05a9:4519 OmniVision Technologies, Inc) està suportada. Si aquest és el cas, proseguiu a l’apartat 1 d’aquest tutorial. Sinó és el cas, feu al google una cerca amb el resultat que hagueu obtingut i seguit de la paraula linux o ubuntu per trobar com fer-la funcionar.
1) Comprovar que el sistema carrega uns altres mòduls:
Endolla la càmera
lsmod | grep ov
Si s’obté un resultat semblant a això, és que el sistema carrega uns altres mòduls enlloc de carregar el que nosaltres volem instal·lar (ov51x-jpeg)
gspca_ov519 23812 0
gspca_main 29312 1 gspca_ov519
usbcore 148848 8 snd_usb_audio,snd_usb_lib,gspca_ov519,gspca_main,usbhid,ehci_hcd,uhci_hcd
2) Evitar que es carregui el mòdul que no volem que es carregui
2.1) Aquesta opció és la que us recomano. Si tinguessiu qualsevol problema podeu provar l’apartat 2.2, en que en lloc d’evitar que es carregui el mòdul el que es fa és eliminar-lo.
En una terminal escriurem
echo -e "# replaced by ov51x_jpegnblacklist gspca_ov519" | sudo tee -a /etc/modprobe.d/blacklist
Ara hem de desendollar la càmera i tornar-la a endollar i veure si ja no carrega el mòdulgspca_ov519. Aquesta comprovació la farem tal i com s’especifica a l’apartat 1.
2.2) Si l’anterior pas no ens funciona i encara se’ns carrega els mòduls no desitjats, tenim l’opció d’usar la força bruta i eliminar el mòdul que no volem que es carregui
Així, autrem el mòdul gspca_ov519 (fem el que en anglès és diu com unload)
rmmod gspca_ov519
Així busquem on el mòduls que volem eliminar del sistema
find /lib/modules/`uname -r` -name '*ov5*'
I els guardem en una carpeta anomenada ‘backup.modules.webcams’ per ser eliminats posteriorment si l’usuari així ho vol
mkdir ~/backup.modules.webcams
mv /lib/modules/`uname -r`/kernel/ubuntu/misc/media/ov511 ~/backup.modules.webcams
mv /lib/modules/`uname -r`/kernel/drivers/media/video/gspca/ ~/backup.modules.webcams
3) Ara ja podem compilar els nou mòdul ov51x-jpeg
Creem el directori per dur a terme la compilació
mkdir ~/hercules
cd ~/hercules
Descarreguem el codi font i el descomprimim
wget http://www.rastageeks.org/downloads/ov51x-jpeg/ov51x-jpeg-1.5.9.tar.gz
tar -xvf ov51x-jpeg-1.5.9.tar.gz
cd ov51x-jpeg-1.5.9
Compilem el programa
make
sudo make install
Instal·lem el mòdul corresponent
sudo depmod -A
sudo modprobe ov51x-jpeg
Fem neteja: eliminem el directori
rm -r ~/hercules
4) Perquè la webcam funcioni amb l’Skype escriure’m el següent paràmetre
echo "options ov51x-jpeg forceblock=1" | sudo tee -a /etc/modprobe.d/options
5) Opcionalment per provar que el modul de la webcam està instal·lat correctament podem instal·lar un programa com el wxcam que ens el podem baixar amb paquet dev des d’aquí.
6) Notes
Cal esmentar que de vegades el mòdul falla i es veu tot verd o negre. Per solucionar aquest problema bastarà en desendollar la webcam i tornar-la a endollar (plug i unplug).
A més a més de fer això, si no ens ha funcionat previament i hem fet servir el mètode d’endollar/desendollar la webcam, caldrà reiniciar l’Skypè perque funcioni.
Tambè cal comentar que normalment, quan s’actualitza a un nou nucli, el mòdul 0v51x-jpeg instal·lat deixa de funcionar i caldrà repetir el procès novament.
10 comments
Skip to comment form
Still doesn’t work for me! Driver is installed, but no /dev/video0 was created. So Skype lets me choose: OV519 USB Camera (dev/video0) but the picture stays black.
lsusb:
Bus 002 Device 004: ID 05a9:4519 OmniVision Technologies, Inc.
hi!
maybe you should try to plug and unplug it again (do it so many times as needed) and then restart skype. then it should work.
before you try skype I’d recommend you to try to view yourself with a program like cheese or wxcam (http://wxcam.sourceforge.net/) (i like a lot wxcam)
hope it helps!
em serviria el mateix per a una càmera trust??
gràcies
hola tirant, mira si la càmera web es troba en aquesta llista
http://www.rastageeks.org/ov51x-jpeg/index.php/Working_Webcams
si hi és, et servirà (està explicat a l’apartat 0 del tutorial)
Note that this tutorial can be found in english here http://www.rastageeks.org/ov51x-jpeg/index.php/Ov51xJpegHackedInstall#Installation_on_Ubuntu_8.10_Intrepid_Ibex.
If you have any question you can ask here. Fortunatelly english is understood 🙂
Antes de nada, gracias por las molestias de haber publicado el tutorial. No conseguí instalar la Hercules Webcam, pero intentando instalar los dispositivos estoy aprendiendo bastante sobre el funcionamiento del Linux (llevo 2 semanas con él, así que aún cojeo bastante).
A ver si puedes echarme un cable, tío… Antes de instalarle el ov51x_jpeg y borrar los módulos que trae por defecto, muchos de los programas que tengo podían acceder a la webcam (si mando un lsusb, ahí la tengo con el mismo product ID, y vendor ID), pero con la peculiaridad de que la imagen salía con líneas grises intercaladas (en aMSN, en otros ni podían olerla), así que probé a instalar el módulo recomendado.
Resumiendo:
Además del módulo gspca_ov519, tenía otros de nombre similar, pero que también los quité, quedándome solo el recomendado (mandando un lsmod, el ov51x_jpeg está presente y está utilizando a “videodev” y “usbcore”, pero nadie lo utiliza a él jajaja (que raro suena xD).
-¿Qué debería hacer para comprobar que todo está bien instalado y detectado?
-¿Puede que haya influido en la detección por otras aplicaciones el haber eliminado los módulos por defecto?
Gracias de antemano, Guillem.
Un saludo.
Por cierto, ya no es necesario. He instalado la 8.04 y he conseguido sin esfuerzo alguno que la webcam funcione decentemente.
Hola Joseka, me alegro que se te haya solucionado. La verdad que leí tu comentario y me pareció muy liado. Creo que teu problema se devió a que actualizaron el programa para que fuera compatible con las nuevas versiones del núcleo linux y no se preocuparon de mantener la retrocompativilidad con las otras versiones.
Si tienes algún otro problema no dudes en contactar con nosotros.
Un saludo!
Segons diuen a la pàgina web del desenvolupament del driver, sembla ser que el suport del driver s’ha interromput.
Per tant desaconsello a tothom que vulgui tenir funcionant la webcam la instal·lació de cap nucli superior al 2.6.27.
Tanmateix si us decidiu a instal·lar-vos el nucli 2.6.29, aquí s’explica d’un pedaç per fer-ne funcionar la webcam.
Tinc una càmera Hercules Deluxe i he seguit els passos per instal·lar a Ubuntu 9.10, però no he pogut passar perquè en fer “make” em diu
make -C /lib/modules/2.6.31-17-generic/build M=/home/albert/hercules/ov51x-jpeg-1.5.9 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.31-17-generic’
CC [M] /home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.o
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c: In function ‘create_proc_ov511_cam’:
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:677: error: implicit declaration of function ‘info’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:681: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:689: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:700: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:712: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c: In function ‘proc_ov511_create’:
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:766: error: ‘struct proc_dir_entry’ has no member named ‘owner’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c: In function ‘ov51x_clear_snapshot’:
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:1691: error: implicit declaration of function ‘warn’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c: In function ‘ov51x_v4l1_ioctl’:
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:6386: warning: passing argument 1 of ‘video_usercopy’ from incompatible pointer type
include/media/v4l2-ioctl.h:298: note: expected ‘struct file *’ but argument is of type ‘struct inode *’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:6386: warning: passing argument 2 of ‘video_usercopy’ makes integer from pointer without a cast
include/media/v4l2-ioctl.h:298: note: expected ‘unsigned int’ but argument is of type ‘struct file *’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:6386: warning: passing argument 4 of ‘video_usercopy’ makes pointer from integer without a cast
include/media/v4l2-ioctl.h:298: note: expected ‘v4l2_kioctl’ but argument is of type ‘long unsigned int’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:6386: error: too many arguments to function ‘video_usercopy’
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c: At top level:
/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.c:6651: warning: initialization from incompatible pointer type
make[2]: *** [/home/albert/hercules/ov51x-jpeg-1.5.9/ov51x-jpeg-core.o] Error 1
make[1]: *** [_module_/home/albert/hercules/ov51x-jpeg-1.5.9] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.31-17-generic’
make: *** [all] Error 2
albert@albert-desktop:~/hercules/ov51x-jpeg-1.5.9$ ^C
albert@albert-desktop:~/hercules/ov51x-jpeg-1.5.9$ ^C
albert@albert-desktop:~/hercules/ov51x-jpeg-1.5.9$
Què puc fer?
AH, gràcies per l’ajuda!!!