Utilizando a camera digital Minolta Dimage 5 no Linux

ArticleCategory: [Choose a category, do not translate this]

SystemAdministration

AuthorImage:[Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in en Guido Socher

en to pt Bruno Sousa

AboutTheAuthor:[A small biography about the author]

O Guido gosta do Linux n�o s� pelas excelentes possibilidades deste sistema, bem como pelas pessoas envolvidas no seu desenho.

Abstract:[Here you write a little summary]

Recentemente, decidi comprar uma nova camera digital. Como j� � habitual, procurei, em primeiro lugar, por cameras suportadas pelo Linux. Nunca compro hardware novo que n�o seja suportado pelo Linux. Geralmente, recomendo esta estrat�gia a todas as pessoas, mesmo que tenham outro sistema operativo instalado. D�-lhe mais liberdade e flexibilidade. Assim, quando um dia se decidir s� pelo Linux, n�o precisa de comprar hardware novo. O site www.gphoto.org deu-me a resposta: Sim, a camera Minolta Dimage 5, uma das que tinha em mente, era totalmente suportada.

Comprei a camera 5 e quis tirar as imagens da camera para o computador mas surpresa das surpresas: Todos os sites do Linux que falavam acerca da Dimage 5 diziam que a mesma trabalha com o linux, mas n�o consegui encontrar uma s� palavra que dissesse como a p�r a trabalhar @!?%!

Foi neste momento que decidi escrever um pequeno artigo acerca do Linux e da camera Minolta Dimage.

ArticleIllustration:[This is the title picture for your article]

[Illustration]

ArticleBody:[The article body]

Introdu��o

A camera Dimage 5 trabalha perfeitamente no Linux mas para tal precisa de configurar o sistema usb-storage. Mais especificamente, precisa de recompilar o kernel.

Concentrar-me-ei, neste pequeno artigo, somente na parte de instala��o e configura��o. N�o explicarei como ver, editar ou arquivar as imagens digitais.

A ideia

As cameras Dimage 5 e Dimage 7 utilizam o sistema USB mass. Ou seja, no ponto de vista do Linux s�o um disco r�gido. Pode copiar, mover, remover imagens com o seu gestor de ficheiros (e.g. konqueror) ou com os comandos da shell. Ou por outras palavras n�o precisa de fazer nada de especial para obter as imagens. S� precisa de "convencer" o Linux a falar para a sua m�quina.

Passo a Passo

Para este artigo utilizei o Kernel 2.4.17, outros da s�rie 2.4 poder�o, tamb�m, trabalhar contudo os da s�rie 2.2 n�o trabalharam visto que o sistema de armazenamento usb mass n�o foi portado para este s�rie do kernel.

Edite o ficheiro unusual_devs.h que se encontra em /usr/src/linux/drivers/usb/storage/ e adicione seguintes 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 � a parte mais dif�cil! O resto � sempre em frente. Informei o respons�vel do ficheiro por estas entradas. Provavelmente algumas vers�es futuras do kernel inclu�ram estas linhas.

Agora recompile o kernel e certifique-se que seleccionou as seguintes op��es, para al�m de todas as coisas que, normalmente, precisa de seleccionar para o seu 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

Pode verificar estas op��es no ficheiro /usr/src/linux/.config. Penso que na realidade, n�o precisa das op��es CONFIG_USB_STORAGE_DATAFAB, CONFIG_USB_STORAGE_DPCM, CONFIG_USB_STORAGE_SDDR09 e CONFIG_USB_STORAGE_JUMPSHOT mas estas s�o alguns dispositivos de leitura de mem�rias flash, podem-lhe fazer jeito quando adquire uma camera.

O suporte SCSI � preciso porque o usb-storage aparecer� ao utilizador como disco SCSI.

Agora compile e instale o kernel. Existe imensa documenta��o acerca da compila��o do kernel (o kernel-HOWTO da www.linuxdoc.org ou este artigo da Linuxfocus ) por conseguinte, n�o explicarei quaisquer detalhes. Basicamente, precisa de fazer o seguinte:

#crie os links em /usr/include para:
scsi -> ../src/linux/include/scsi
asm -> ../src/linux/include/asm-i386
linux -> ../src/linux/include/linux

# configure:
make xconfig
# compile:
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

#edite /etc/lilo.conf

# corra lilo (ou o grub se o utiliza)
/sbin/lilo

#fa�a reboot ao computador

Errata:

Obrigado a Seth W. Klein por apontar que j� n�o � melhor criar liga��es simb�licas a partir de /usr/include. Para uma explica��o detalhada veja este mail do Linus.

Ligando a camera

Ligue a camera e configure a liga��o usb. Isto est� descrito no manual que acompanha a camera.

Verifique com o comando /sbin/lsmod que tem os m�dulos usb-storage e usb-uhci (ou usb-ohci) carregados. Caso contr�rio, carregue-os com

modprobe usb-uhci
modprobe usb-storage

Abra o ficheiro /proc/bus/usb/devices e verifique que consegue encontrar a entrada para a camera:

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

O sistema de ficheiros proc usb com o ficheiro de dispositivos em cima �, normalmente, montado automaticamente mas este n�o � o caso, assim monte-o manualmente com o seguinte comando:

mount -t usbdevfs /proc/bus/usb

Para aqueles que est�o curiosos com o significado dos n�meros na linha do driver no ficheiro dos dispositivos aqui vai uma pequena explica��o. A camera diz ao computador que tipo de protocolo fala:

Cls=08(stor.) -> Class usb storage
Sub=06 -> USB sub class 06= transparent SCSI =US_SC_SCSI (veja protocol.h a partir das fontes do kernel)
Prot=50 -> protocol usb bulk transfer only =US_PR_BULK (veja transport.h a partir das fontes do kernel)

A camera aparecer� como um disco SCSI. Se j� possuir um outro qualquer disco SCSI ent�o ser� /dev/sdb1 caso contr�rio ser� /dev/sda1. Com o fdisk pode verificar onde o disco se encontra:

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

Adicione a seguinte linha ao /etc/fstab:

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

Crie o direct�rio /mnt/camera0 e permita a escrita de todos:

mkdir /mnt/camera0
chmod 777 /mnt/camera0

chmod 666 /dev/sda1

Esta configura��o permite que qualquer utilizador de montar e desmontar a camera sem ter de mudar para root. (Nota que o chmod 777 /mnt/camera0 e chmod 666 /dev/sda1 n�o s�o precisos de o seu comando mount tiver o s-bit para o root definido, as permiss�es de ficheiro /sbin/mount � -rwsr-xr-x se o s-bit estiver configurado sendo a op��o user no /etc/fstab suficiente.)

Obtendo as imagens

Termin�mos j� a configura��o e o setup. Agora digite:

mount /mnt/camera0

e obtenha todas as suas imagens a partir da �rvore de direct�rio abaixo de /mnt/camera0!

Uma palavra de aviso: Nunca desligue a camera sem a desmontar primeiro (umount /mnt/camera0). Pode bloquear o seu computador.

Escrevi uma pequena script para, automaticamente, retirar todas as imagens do cart�o de mem�ria Flash da camera. Esta script tamb�m monta e desmonta automaticamente a camera. Deste modo, nunca desliga a camera sem antes a desmontar. Chamei-lhe cfimageget (download).
Guarde este ficheiro como cfimageget e torne-o execut�vel com
chmod 755 cfimageget. Para copiar todas as imagens para o direct�rio corrente (".") corra, simplesmente

cfimageget .

Acerca da camera

Provavelmente, tenciona comprar uma Minolta Dimage e est� interessado na minha experi�ncia com esta camera ?

No geral, posso dizer que � uma camera muito boa, em muitos aspectos excedeu as minhas espectativas. Opera perfeitamente com o Linux logo que procedeu � configura��o e ao procedimento de compila��o do kernel.

Pode obter especifica��es t�cnicas acerca da camera em www.dimage.minolta.com.

A camera tem, como muitas outras cameras, um grande problema. Come baterias. Fiz algumas medidas: Somente com o visor electr�nico precisa de 0.6 Amperes numa voltagem de 6 Volts. Quando procede � auto-focagem e com o pequeno monitor consome em m�dia 1 Ampere. Isto � uma m�dia de 1 Ampere ! Com picos at� aos 3 Amperes. Com 4 pequenas baterias AA NiMh (1600 mAh) a camera trabalhar� cerca de 1 hora a 1,5 hora numa utiliza��o cont�nua. A Minolta diz que pode tirar cerca de 200 fotografias com um par de baterias. Pessoalmente, penso que tem de tirar estas fotos bastante r�pido para n�o ficar sem baterias. Isto � assim porque n�o importa se tira uma fotografia agora ou n�o. O que importa � o tempo em que a camera est� ligada.

Refer�ncias