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]
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]
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
- As p�ginas usb do Linux linux-usb.org
- A p�gina hotplug do linux linux-hotplug.sourceforge.net
O hotplug n�o � mais do que um conjunto, complicado, de scripts para
automaticamente carregar m�dulos como o usb-storage. Eu prefiro uma simples
entrada modprobe no /etc/rc.d/rc.local (Redhat/Mandrake) mas � consigo.
- Uma selec��o de programas para ver as imagens:
gimp (www.gimp.org),
konqueror (www.kde.org),
gphoto (www.gphoto.org) N�o tem
necessidade da funcionalidade de descarregamento do gphoto, mas pode
utiliz�-lo para pesquisar qualquer direct�rio e gerar p�ginas �ndice em
html,
gqview (gqview.sourceforge.net),
xv (www.trilon.com/xv/xv.html)
Este programa j� existia quando muitos computadores tinham desktops � base
de texto, mas ainda � bom.
- Cameras Casio e usb-storage: www.harald-schreiber.de