Problemas con la cámara digital

Un poco de culturilla general antes, ¿no?. Actualmente, todo sistema Linux usa udev, un gestor de dispositivos que maneja los nodos de /dev, el sucesor de devfs. udev se ejecuta en espacio de memoria de usuario y es simplemente un demonio que se queda escuchando mensajes que le envía el kernel (se conecta un dispositivo, se desconecta, etc...) y hace lo que tenga que hacer (de acuerdo a unas reglas que pueden ser configuradas).

Las cámaras digitales, al conectarse por usb, al final son manejadas por udev. Si al conectar la cámara nos encontramos con un problema similar a este:

An error occurred in the io-library ('Could not claim the USB device'): Could not claim interface 0 (Operation not permitted). Make sure no other program or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.

O, en español:
Se ha producido un error en la biblioteca de entrada-salida ('No se pudo reclamar el dispositivo USB'): No se pudo reclamar la interfaz 0 (Operación no permitida). Debe asegurarse de tener acceso de lectura/escritura al dispositivo y que ningún otro programa o módulo del núcleo (como sdc2xx, stv680, spca50x) esté utilizándolo.

Puede ser debido a dos cosas, una de ellas que estamos usando ubuntu edgy y hemos actualizado un paquete (libgphoto2-2), el cual, actualmente, tiene un pequeño bug respecto a las reglas udev. Miramos el fichero /etc/udev/rules.d/45-libgphoto2.rules en la linea 3

BUS!="usb*", GOTO="libgphoto2_rules_end"

¡Eso está mal! Puesto que los eventos de las nuevas versiones udev no tienen propiedades BUS, por lo tanto, esa linea hará que todo el contenido del fichero sea inutil. Tenemos que cambiarlo a algo como esto:

SUBSYSTEM!="usb_device", GOTO="libgphoto2_rules_end"

Reiniciamos udev, y ya podremos conectar la cámara sin problemas :).

$ sudo /etc/init.d/udev restart

 
Otro problema que puede surgir (si lo de arriba no te ha sido útil, prueba esto), es que nuestra cámara no esté en el fichero de reglas. Esto se puede solucionar fácilmente. Ejecutamos lo siguiente para saber el IDVendor e IDProduct de nuestra cámara (estando conectada la cámara por usb):

$ lsusb
(...)
Bus 004 Device 005: ID 04a9:30fc Canon, Inc.
(...)

Lo que nos interesa es lo que he marcado en negrita, ese código es el IDVendor:IdProduct respectivamente. Ahora editamos el fichero /etc/udev/rules.d/45-libgphoto2.rules añadiendo una linea (junto con el resto de reglas que aparecen en él) que indique lo siguiente:

SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="30fc", MODE="0660", GROUP="plugdev"

Cambiando los Id's por los que nos hayan salido en el comando anterior. Ahora solo queda reiniciar udev y conectar de nuevo nuestra cámara.

$ sudo /etc/init.d/udev restart

Y fiesta!

8 Comentarios »

RSS feed para los comentarios de esta entrada.

  1. avatar

    ¿Y todo esto para poder usar una cámara?

     

    Comentario por manolito — 11 Marzo, 2007 @ 17:40 #

  2. avatar

    No, todo eso para arreglar un bug de un paquete de ubuntu-backports que es un repositorio no soportado oficialmente por ubuntu. Si usas ubuntu normalmente, sería enchufar la cámara y te sale un menú directamente para saber qué quieres hacer.

     

    Comentario por blaxter — 11 Marzo, 2007 @ 18:20 #

  3. avatar

    maldita sea y yo pasando las fotos como root xD xD gracias blaxter ^^

    PD: realmente es muy sencillo en Ubuntu, hasta mi mamá se ha quedado sorprendida de lo facil que es aqui vs lo complicado en windows ;)

     

    Comentario por Proz — 14 Marzo, 2007 @ 4:35 #

  4. avatar

    Si la gente usara Mac OS X… Estas cosas no pasarían… xD

     

    Comentario por Alfa989 — 17 Marzo, 2007 @ 19:59 #

  5. avatar

    Con Windows no tienes esos problemas, :-)

     

    Comentario por Rubén — 23 Marzo, 2007 @ 16:37 #

  6. avatar

    Con Windows directamente no va y se acabaron los problemas, tienes razón.

     

    Comentario por blaxter — 24 Marzo, 2007 @ 14:09 #

  7. avatar

    Muchas gracias, blaxter. Breve, agudo y preciso.
    Me solventó el problema. Ah! Y ahora desabilité el repositorio “backports”…. siempre da algún problemilla para aquellos que no estamos en la cresta de la ola…

     

    Comentario por Arturo — 16 Julio, 2007 @ 20:06 #

  8. avatar

    Mil gracias,la cámara era el único problema que tenia con guadalinex
    saludos

     

    Comentario por fernando — 24 Julio, 2007 @ 1:16 #

Dejar un comentario

XHTML permitido: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Creative Commons License Esta obra está bajo una licencia de Creative Commons.

Este blog funciona gracias a WordPress con el theme GimpStyle diseñado por Horacio Bella y adaptado por un servidor.
Feed entradas