Como Hago? Conectando cualquier camara de foto a tu distro favorita


212039327_b2335f49a9.jpg

Si hay algo que todavía nos sigue irritando, aunque cada vez menos, es el soporte de hardware en Linux.
Al menos voy a demostrar que las cámaras fotográficas sí están totalmente cubiertas en nuestro querido sistema.
Básicamente hoy en día todas las cámaras de fotos se conectan por puerto USB a nuestra pc para poder bajar el contenido y tratarlo con nuestro soft favorito.
Hay dos modos de comunicación, por un lado las cámaras que son detectadas como un dispositivo de almacenamiento más, las cuales no van a presentar ningún tipo de inconveniente en ser reconocida por el sistema y por otro lado, mas complejo, las que utilizan el protocolo PTP/IP.
Es allí donde se nos puede llegar a complicar un poco el asunto. Pero no se asusten, porque la solución presentada a continuación es universal y sirve para cualquier cámara de foto por mas moderna que sea.
El primer paso es instalar la librería gphoto2, muy fácil, ya que viene estándar en los repositorios de cualquier distro sino es que ya viene instalada por defecto como el caso de Ubuntu.
Si bien contiene una base de datos con las cámaras mas comunes no todas están contempladas.
A continuación voy a mostrarles como agregar la nuestra.
Tomamos como ejemplo una cámara común hoy en día como una Kodak EasyShare C603.
Al primer intento de conectarla notaran errores del tipo “no se puede reclamar el dispositivo USB”, etc, etc.
A continuación debemos hacer los siguientes pasos:
1) Desde la consola escribimos:
lsusb | grep kodak
El sistema devolverá algo como:
Bus 002 Device 006: ID 05a7:040a Kodak Co.
El kernel ve el dispositivo. La parte que nos interesa a continuación es el idProduct y el idVendor. Corresponden ambos a lo siguiente:
idProduct: 05a7
idVendor: 040a
2)Ahora debemos editar /etc/udev/rules.d/45-libgphoto2.rules y abrir una linea antes de llegar a LABEL=”libgphoto2_rules_end” de la siguiente forma:
SYSFS{idVendor}==”idVendor_de_nuestra_camara“, SYSFS{idProduct}==”idProduct_de_nuestra_camara“, MODE=”0660″, GROUP=”plugdev”
En el ejemplo quedara de la siguiente manera:
SYSFS{idVendor}==”05a7“, SYSFS{idProduct}==”040a“, MODE=”0660″, GROUP=”plugdev”
Guardamos el cambio.
3)Apagamos la cámara
4)Reiniciamos el servicio:
sudo /etc/init.d/udev restart
5)Encendemos nuevamente la cámara y sorpresa!. Ya podemos ver nuestras fotos.

Si desean manejar en forma cómoda las fotos les recomiendo que instalen f-spot para Gnome o Digikam para KDE.
También pueden obtar por Google Picasa que es muy potente a la hora de armar álbumes.

ESTE TEXTO SE PUBLICA BAJO LICENCIA CREATIVE COMMONS BY-NC-SA 2.5 AR.

Por lo tanto, usted es libre de: 1) Copiarlo, distribuirlo y exhibirlo. 2) Hacer obras derivadas. Bajo las siguientes condiciones: 1) Debe dar atribución mencionando el nombre del autor y del LUG Zona Norte. En caso de las notas que no llevan firma, mencionar sólo el nombre del LUG.
2) Usted no puede usar esta obra con fines comerciales. 3) Si usted altera, transforma, o crea sobre este texto, sólo podrá distribuir la obra derivada resultante bajo una licencia idéntica a ésta.

Más detalles y texto legal de la licencia en: http://creativecommons.org/licenses/by-nc-sa/2.5/ar

  1. #1 by Sultanovich on 30/03/2007 - 9:29

    Ahora, si es tan facil agregar una camara no seria mas logico que la gran mayoria 8por no decir todas) estubieran incluidas en 45-libgphoto2.rules?. Supongo que una lista de productos de camaras digitales no debe ser tan dificil de conseguir.

    Saludos.

  2. #2 by sechole on 30/03/2007 - 17:35

    Si es cierto, se podría ampliar la base de datos. Pero siempre va a salir una camara nueva al poco tiempo y otra vez vas a tener que agregarla a mano.
    Estaría bueno que el dueño del proyecto tenga en su pagina oficial un upgrade de ese archivo con las camaras que van saliendo.

  3. #3 by sultanovich on 30/03/2007 - 21:37

    si, creo que eso seria lo mejor y mas facil, igual la nota esta muy buena porque como vos decis siempre te puede pasar que tu camara sea demasiado nueva para que la reconozca.

    Saludos.

  4. #4 by sultanovich on 04/04/2007 - 14:47

    mira que casualidad, al final lo tuve que poner a prueba. Mi camara Sony DSC-S40 no fue reconocida ( y eso que tiene mas de un año) por Xubuntu 6.10, haci que lo comprobe. Ahora, porque al llegar al paso cuatro:

    4)Reiniciamos el servicio:
    sudo /etc/init.d/udev restart

    si lo hago como root (sin el sudo) me tira un error del comando pero si lo hago con sudo lo realiza, esto no me habia asado antes con otros comandos.

    igual sigo probando, porque segui todos los pasos pero no puedo ver el contenido de la camara todavia.

    Saludos.

  5. #5 by sechole on 06/04/2007 - 20:26

    Fijate lo siguiente:
    En el menú de la cámara creo que hay una opcion avanzada sobre el método de conexión de USB, cambialo a PTP y probá.
    Estas usando Digikam?

    Saludos

  6. #6 by sultanovich on 08/04/2007 - 5:17

    Si la camara esta en ptp, ademas de revisarlo en la configuracion cuando se conecta aparece en la pantalla. Supongo que ademas deberia ser así, si cuando la conecto y ejecuto lsusb me aparece esto:

    root@aco-linux:/home/sevor# lsusb
    Bus 004 Device 002: ID 054c:004e Sony Corp. DSC-xxx (ptp)
    Bus 004 Device 001: ID 0000:0000
    Bus 001 Device 001: ID 0000:0000
    Bus 003 Device 001: ID 0000:0000
    Bus 002 Device 001: ID 0000:0000

    Ademas despues de haberlo añadido en el archivo 45-libgphoto2.rules, veo que esos codigos ya existian y se repiten 15 o 20 veces mas, quiero decir:

    SYSFS{idVendor}==”054c”, SYSFS{idProduct}==”004e”, MODE=”0660″, GROUP=”plugdev”
    SYSFS{idVendor}==”054c”, SYSFS{idProduct}==”004e”, MODE=”0660″, GROUP=”plugdev”
    SYSFS{idVendor}==”054c”, SYSFS{idProduct}==”004e”, MODE=”0660″, GROUP=”plugdev”
    SYSFS{idVendor}==”054c”, SYSFS{idProduct}==”004e”, MODE=”0660″, GROUP=”plugdev”
    SYSFS{idVendor}==”054c”, SYSFS{idProduct}==”004e”, MODE=”0660″, GROUP=”plugdev”

    Esto es normal?.

    He probado usando Digikam y Picasa y nada. Se te ocurre algo mas que pueda estarme olvidando?.

    Saludos.

  7. #7 by sechole on 09/04/2007 - 17:56

    Primero tu usuario pertenece al grupo camera?
    Si no es asi agregalo:
    addgroup ‘usuario’ camera

    Fijate que te dicen los logs.
    Tira un:
    dmesg |tail
    o
    tail -f /var/log/messages

    Verifica que este levantado hal y dbus
    ps -e | grep hal
    ps -e | grep dbus

    Si no los ves, instalalos con apt-get o synaptic

    Para averiguar que device es el que te genera cuando conectas la camara corre: fdisk -l

    Tambien en fstab verifica si figura lo siguiente o parecido:
    /dev/sdc1 /mnt/usbflash vfat rw,noauto,user,noexec 0 0

    Si no te genera punto de montaje en media o mnt, genera uno (por ejemplo usbflash como indica el ejemplo del fstab)

    Deberia funcionar asi.

(will not be published)
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)

What is 5 + 6 ?
Please leave these two fields as-is: