Arreglant els problemes de la Webcam Hercules Deluxe amb l’Ubuntu 8.10 Intrepid Ibex

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_jpeg\nblacklist 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.

Comparteix-ho al Facebook Comparteix-ho al Twitter Comparteix-ho a La Tafanera Comparteix-ho a Delicious Comparteix-ho al Google

Apunts relacionats

  • No hi ha apunts relacionats.

10 Comentaris a Arreglant els problemes de la Webcam Hercules Deluxe amb l’Ubuntu 8.10 Intrepid Ibex


  1. Chris's Gravatar Chris
    20 desembre 2008 a les 16:28 | Enllaç

    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.

  2. tirant's Gravatar tirant
    10 febrer 2009 a les 20:37 | Enllaç

    em serviria el mateix per a una càmera trust??

    gràcies

  3. Joseka's Gravatar Joseka
    15 abril 2009 a les 14:58 | Enllaç

    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.

  4. Joseka's Gravatar Joseka
    17 abril 2009 a les 15:41 | Enllaç

    Por cierto, ya no es necesario. He instalado la 8.04 y he conseguido sin esfuerzo alguno que la webcam funcione decentemente.

  5. 11 gener 2010 a les 1:11 | Enllaç

    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!!!

Escriu un comentari

Pots usar aquestes etiquetes HTML i els atributs: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Translator

Brot Gràfic Hostatja-hi el teu bloc. Si no en tens, te'l dissenyem

Índex

Arxiu