[LinuxFocus-icon]
Hogar  |  Mapa  |  Indice  |  Busqueda

Noticias | Arca | Enlaces | Sobre LF
Este documento está disponible en los siguientes idiomas: English  Castellano  ChineseGB  Deutsch  Francais  Italiano  Nederlands  Portugues  Turkce  

convert to palmConvert to GutenPalm
or to PalmDoc

[Photo of the Author]
por Guido Socher (homepage)

Sobre el autor:

A Guido le encanta Linux no sólo porque es divertido descubrir las grandes posibilidades de este sistema sino también por la gente involucrada en su diseño.



Taducido al español por:
Carlos Mayo (homepage)

Contenidos:

 

Usando una Minolta Dimage 5 bajo Linux

[Illustration]

Resumen:

Recientemente me dicidí a comprar una nueva cámara digital. Como es normal, primeramente busqué camaras soportadas por Linux. Nunca compro un hardware si no está soportado por Linux. Generalmente recomiendo esta estrategia a cualquiera, incluso si tienen otro sistema operativo instalado. Te da mas libertad y flexibilidad. No necesitarás comprar nuevo hardware cuando un dia decidas trabajar solamente con Linux. www.gphoto.org proporciona la respuesta: Sí, Minolta Dimage 5, una de las cámaras que tenía en mente, estaba completamente soportada.

Compré la Dimage 5 y quería sacar las imágenes de la cámara en mi ordenador pero, sorpresa: Todos los sitios de Linux que hablaban sobre la Dimage 5 decían que funcionaría con Linux pero no pude encontrar una sola palabra sobre como hacerla funcionar @!?%!

Este fue el momento en el que decidí escribir este pequeño artículo sobre Linux y Minolta Dimage.

_________________ _________________ _________________

 

Introducción

La cámara Dimage 5 funciona perfectamente bajo Linux pero para esto necesitas configurar el sistema usb-storage. Específicamente necesitas re-compilar el núcleo.

Me concentraré en este pequeño artículo solamente en la parte de configuración e instalación. No explicaré como ver, editar o archivar imágenes digitales.  

La idea

La cámaras Dimage 5 y Dimage 7 usan el sistema USB mass storage. Esto significa que desde el punto de vista de Linux ellas parecen un disco duro. Puedes copiar, mover, eliminar imágenes con cualquier manejador de ficheros (p.e. konqueror) o con comandos de shell. En otras palabras, no necesitas nada especial para recuperar las imágenes. Sólo necesitas convencer a Linux para que "hable" con tu cámara.  

Paso a paso

He usado Kernel 2.4.17 para este artículo, en otros kernels 2.4.x probablemente funcionará igual pero en los 2.2.x no funcionará ya que el sistema usb mass storage no ha sido portado a los 2.2.x.

Edita el fichero unusual_devs.h de /usr/src/linux/drivers/usb/storage/ y añade las siguientes dos entradas:

UNUSUAL_DEV( 0x0686, 0x4008, 0x0001, 0x0001,
"Minolta",
"Dimage 5",
US_SC_SCSI, US_PR_BULK, NULL, US_FL_START_STOP ),
UNUSUAL_DEV( 0x0686, 0x4006, 0x0001, 0x0001,
"Minolta",
"Dimage 7",
US_SC_SCSI, US_PR_BULK, NULL, US_FL_START_STOP ),

¡Esta fue la parte mas dura! Informé al responsable del fichero sobre estas entradas. Probablemente algunas versiones futuras del núcleo tendrán estas lineas incluidas.

Ahora recompila el núcleo y asegúrate que tienes seleccionadas las siguientes opciones, incluidas las necesarias para tu hardware.

# General setup
CONFIG_HOTPLUG=y

# SCSI support
CONFIG_SCSI=y
CONFIG_BLK_DEV_SD=y
CONFIG_SD_EXTRA_DEVS=40
CONFIG_SR_EXTRA_DEVS=4
CONFIG_CHR_DEV_SG=m
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_LOGGING=y

# File systems
CONFIG_FAT_FS=m
CONFIG_VFAT_FS=m

# USB support
CONFIG_USB=y
CONFIG_USB_DEVICEFS=y

# USB Controllers
CONFIG_USB_UHCI=m
CONFIG_USB_UHCI_ALT=m
CONFIG_USB_OHCI=m

# USB Device Class drivers
CONFIG_USB_STORAGE=m
CONFIG_USB_STORAGE_DATAFAB=y
CONFIG_USB_STORAGE_DPCM=y
CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_JUMPSHOT=y

Puedes comprobar estas opciones en el fichero /usr/src/linux/.config. No creo que necesites realmente las opciones CONFIG_USB_STORAGE_DATAFAB, CONFIG_USB_STORAGE_DPCM, CONFIG_USB_STORAGE_SDDR09 y CONFIG_USB_STORAGE_JUMPSHOT pero estas son algunos dispositivos lectores de tarjetas flash y sería bueno tenerlas cuando poseas una cámara.

El soporte SCSI se necesita porque el usb-storage aparecerá al usuario como un disco SCSI.

Ahora compila e instala el núcleo. Hay mucha documentación sobre cómo compilar el núcleo (Kernel-HOWTO de www.linuxdoc.org o este artículo de Linuxfocus) Por tanto, no explicaré ningún detalle. Básicamente necesitas hacer lo siguiente:

#crear links en /usr/include para:
scsi -> ../src/linux/include/scsi
asm -> ../src/linux/include/asm-i386
linux -> ../src/linux/include/linux

# configurar:
make xconfig
# compilar:
make dep
make clean
make bzImage
make modules
make modules_install

cp /usr/src/linux/arch/i386/boot/zbImage /boot/vmlinuz-2.4.17
cp /usr/src/linux/System.map /boot/System.map-2.4.17
cp /boot/System.map-2.4.17 /boot/System.map
cp /usr/src/linux/.config /boot/Config-2.4.17

#editar /etc/lilo.conf

# ejecutar lilo (o grub si lo usas)
/sbin/lilo

#reinicia el ordenador

Errata:

Gracias a Seth W. Klein por indicarme que no es mejor crear enlaces simbólicos desde /usr/include. Para una explicación mas detallada ver este email de Linus.

 

Conectando la cámara

Conecta la cámara y configura la conexión usb. Esto se describe en el manual que viene con la cámara.

Comprueba con el comando /sbin/lsmod que tienes cargados los módulos usb-storage y usb-uhci (o usb-ohci). Si no, cárgalos con

modprobe usb-uhci
modprobe usb-storage

Abre el fichero /proc/bus/usb/devices y comprueba que ves una entrada para la cámara:

T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 3 Spd=12 MxCh= 0
D: Ver= 1.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0686 ProdID=4008 Rev= 0.01
S: Manufacturer=MINOLTA DIMAGE CAMERA
S: Product=DIMAGE CAMERA
C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr= 0mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=03(O) Atr=02(Bulk) MxPS= 16 Ivl= 0ms

El sistema de ficheros proc usb con el fichero de dispositivos de arriba, normalmente se monta automáticamente pero si no es este el caso, entonces móntalo manualmente con el comando siguiente:

mount -t usbdevfs /proc/bus/usb

Para aquellos que tienen curiosidad sobre el significado de los números de la linea del driver en el fichero de dispositivos, una pequeña explicación. La cámara le dice al ordenador que tipo de protocolo habla:

Cls=08(stor.) -> Class usb storage
Sub=06 -> USB sub class 06= transparent SCSI =US_SC_SCSI (ver protocol.h de las fuentes del núcleo)
Prot=50 -> protocol usb bulk transfer only =US_PR_BULK (ver transport.h de las fuentes del núcleo)

La cámara aparecerá como un disco SCSI. Si ya tienes algún otro disco SCSI entonces será /dev/sdb1 sino, /dev/sda1. Con fdisk puedes comprobar donde esta el disco:

fdisk -l /dev/sda

Disk /dev/sda: 4 heads, 32 sectors, 244 cylinders
Units = cylinders of 128 * 512 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 245 15664 1 FAT12

Añade la siguiente linea a /etc/fstab:

/dev/sda1 � � /mnt/camera0 vfat � � rw,noauto,user � � 0 0

Crea el directorio /mnt/camera0 y permite la escritura a todos:

mkdir /mnt/camera0
chmod 777 /mnt/camera0

chmod 666 /dev/sda1

Esta configuración permitirá a cualquier usuario montar y desmontar la cámara sin cambiar a root. (Nota que chmod 777 /mnt/camera0 y chmod 666 /dev/sda1 no son necesarios si el comando mount tiene puesto el s-bit para root, permisos de fichero de /sbin/mount -rwsr-xr-x, si el s-bit esta puesto entonces la opción user en /etc/fstab es suficiente.)  

Obteniendo las imágenes

Ya terminamos con la configuración. Ahora escribe:

mount /mnt/camera0

y obten tus imágenes del arbol de directorios bajo /mnt/camera0!

Un mensaje de aviso: nunca desconectes la cámara sin desmontarla primero (umount /mnt/camera0). Puede bloquear tu ordenador.

He escrito un pequeño script para recuperar automáticamente todas las imágenes de la tarjeta CompactFlash de la cámara. Este script también monta y desmonta automáticamente la cámara. De esto modo nunca desenchufarás la cámara antes de desmontarla. Llamo al script cfimageget (download).
Graba este fichero como cfimageget y hazlo ejecutable con
chmod 755 cfimageget. Para copiar todas las imágenes al directorio actual (".") simplemente ejecuta

cfimageget .

 

Sobre la cámara

Quizás intentes comprar una Minolta Dimage y estás interesado en mi experiencia con esta cámara

Generalmente puedo decir que esta es una muy buena cámara y en muchos aspectos exceden a mis expectaciones. Interopera perfectamente con Linux una vez que haya pasado por el proceso de configuración y re-compilación del Núcleo.

Puedes obtener especificaciones técnicas sobre la cámara en www.dimage.minolta.com.

La cámara tiene, como muchas cámaras digitales, un gran problema. Consume muchas baterías. Hice algunas medidas: solamente con el visor electrónico necesita sobre 0.6 amperios en 6 voltios. Con el autofocus y el pequeño monitor encendido consume una media de 1 amperio. ¡Una media de 1 amperio! Con unos picos de consumo de 3 amperios. Con 4 pequeñas pilas AA NiMh (1600 mAh) la cámara puede funcionar alrededor de 1 a 1.5 horas de uso continuado. Minolta dice que puede disparar sobre 200 fotos con un conjunto de pilas. Personalmente pienso que tienes que disparar esas 200 fotos rápidamente para no agotar las pilas. Esto es así porque no diferencia si realmente toma la fotografía o no. Lo que cuenta es cuanto tiempo está la cámara encendida.  

Referencias

 

Formulario de "talkback" para este artículo

Cada artículo tiene su propia página de "talkback". A través de esa página puedes enviar un comentario o consultar los comentarios de otros lectores
 Ir a la página de "talkback" 

Contactar con el equipo de LinuFocus
© Guido Socher, FDL
LinuxFocus.org
Información sobre la traducción:
en --> -- : Guido Socher (homepage)
en --> es: Carlos Mayo (homepage)

2002-12-09, generated by lfparser version 2.34