| 
 ![[Photo of the Author]](../../common/images/Guido-S.gif)  Guido Socher (homepage)
 
 L'autore:
 
 Guido adora Linux non solo per il fatto che sia divertente
    scoprire le grandiose possibilità di questo sistema, ma anche per
    le persone coinvolte nel suo sviluppo. 
 Tradotto in Italiano da:
 Toni Tiveron <toni(at)amicidelprosecco.com>
 
 Contenuto:
 | 
 
Utilizzare una fotocamera Minolta Dimage 5 con Linux
 ![[Illustrazione]](../../common/images/article240/dimage_linux.gif) 
Premessa:
    Recentemente ho deciso di acquistare una nuova fotocamera
    digitale. Come sempre ho prima verificato quali fotocamere
    fossero supportate da Linux. Generalmente io raccomando questa come
    strategia d'acquisto a tutti, anche se usano un altro sistema
    operativo. Lascia una più ampia libertà di utilizzo ed una
    maggiore flessibilità. Non sarete obbligati ad acquistare un
    nuovo hardware il giorno in cui deciderete di utilizzare Linux.
    www.gphoto.org mi ha dato la risposta che cercavo: Sì, la Minolta
    Dimage 5, una delle fotocamere a cui avevo pensato, era
    completamente supportata.
     Ho comprato la Dimage 5 e volevo trasferire le immagini dalla
    fotocamera nel mio computer, ma.... sorpresa: tutti i siti Linux
    che parlano della Dimage 5 ti dicono che funziona con Linux, ma
    nessuno di loro ti spiega come farla funzionare!! 
     A quel punto ho deciso. Scriverò un breve articolo su Linux e la
     Minolta Dimage.
    
     
Introduzione
    La fotocamera Dimage 5 funziona perfettamente in Linux, ma per far
    si che funzioni, dovrete configurare il sistema usb-storage. Nella
    fatttispecie dovrete ricompilare il kernel.
     
     Il mio breve articolo verterà sulla parte di configurazione ed
    installazione. Non vi spiegherò come vedere, modificare od
    archiviare le immagini.
     
L' idea
    Le fotocamere Dimage 5 e Dimage 7 utilizzano il sistema di
    memorizzazione di massa su USB (noto anche come USB mass-storage
    o usb-storage). Voi potrete copiare, spostare o cancellare le
    immagini con un qualsiasi filemanager (ad esempio konqueror) o
    per mezzo di comandi CLI. In parole povere non avrete bisogno di
    nessun sofotware particolare per gestire le immagini. Tutto
    quello che vi serve è convincere Linux a "parlare" con la vostra
    fotocamera.
     
Passo dopo passo
    Ho utilizzato il kernel 2.4.17 per questo articolo. Altri kernel
    della serie 2.4.x funzioneranno probabilmente bene ma la serie
    2.2.x non funzionerà in quanto il sistema usb-mass storage non è
    stato implementato in questa serie del kernel. 
     
     Modificate il file unusual_devs.h presente nella cartella
    /usr/src/linux/drivers/usb/storage/ ed aggiungete le seguenti due
    voci:
    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 ),
    
    Questa era la parte più complessa! Il resto è una passeggiata.
    Ho informato il maintainer del file riguardo le modifiche.
    Probabilmente i nuovi kernel avranno già queste righe aggiunte al
    succitato file.
Ora ricompilate il kernel e siate sicuri di
    avere le seguenti opzioni abilitate oltre a tutto quello che
    normalmente avete abilitato nel vostro kernel affichè tutto
    funzioni correttamente.
    # 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
    
    Potete verificare lo stato di queste opzioni controllanto il file
    /usr/src/linux/.config. In vero, io non penso che vi servano
    realmente le opzioni CONFIG_USB_STORAGE_DATAFAB,
    CONFIG_USB_STORAGE_DPCM, CONFIG_USB_STORAGE_SDDR09 e
    CONFIG_USB_STORAGE_JUMPSHOT in quanto sono specifiche per alcuni
    lettori di flash card, ma può essere una buona idea abilitarle
    quando possedete una fotocamera digitale. 
     
     Il supporto per le periferiche SCSI è necessario in quanto la
    vostra fotocamera verrà gestita come un disco SCSI. 
     
     Ora compilate ed installate il kernel. Vi è una grande quantità
    di documenti su come si debba compilare un kernel (i kernel-HOWTO
    di www.linuxdoc.org o questo 
    articolo di LinuxFocus). Qui non spiegherò molti dettagli.
    Essenzialmente avrete bisogno delle seguenti cose:
    #create un link in /usr/include:
     scsi -> ../src/linux/include/scsi
     asm -> ../src/linux/include/asm-i386
     linux -> ../src/linux/include/linux
    
     # configuriamo il kernel:
     make xconfig
     # compiliamo il kernel:
     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
    
     #modifichiamo il file /etc/lilo.conf
    
     # eseguiamo lilo o grub se lo preferite
     /sbin/lilo
    
     #riavviamo il computer
    
     
Colleghiamo la fotocamera
    Colleghiamo la fotocamera e configuriamo la connessione USB.
    Questa procedura è descritta nel manuale a corredo della
    fotocamera. 
     
     Controllare con il comando /sbin/lsmod che i moduli usb-storage
    ed usb-uhci (o usb-ohci), siano stati caricati in memoria.
    Altrimenti caricateli in menoria con i seguenti comandi:
    modprobe usb-uhci
     modprobe usb-storage
    Visionate il file /proc/bus/usb/devices e controllate che siano
    presenti le voci inerenti la vostra fotocamera:
    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
    
    Il file system proc della sezione usb viene, di norma,
    automatimenta montato al rilevamenteo di questo tipo di
    periferica. Se ciò non accadesse potete montarlo voi direttamente
    con il seguente comando:
    mount -t usbdevfs /proc/bus/usb /proc/bus/usb
    Per coloro che sono curiosi sul significato dei numeri sulle
    righe associate al driver nel file dei device, ora vi darò alcune
    delucidazioni. Queste righe speigano al sistema operativo che
    protocollo usi la fotocamera:
    Cls=08(stor.) -> Classe usb storage
    Sub=06 -> USB sub class 06= transparent SCSI =US_SC_SCSI (
    controllate protocol.h nei file di sorgente del kernel)
    Prot=50 -> protocol usb bulk transfer only =US_PR_BULK (controllate
    trasnport.h nei file di sorgente del kernel)
    
    La fotocamera vi apparirà come un disco SCSI. Se già possedete un
    disco SCSI vi apparirà come /dev/sdb1, altrimenti come /dev/sda1
    Per mezzo del comando fdisk potete controllolare se stiate
    utilizzando il device corretto:
    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
    
    Se corretto aggiungete la seguente riga al file /etc/fstab:
    /dev/sda1     /mnt/camera0    
    vfat     rw,noauto,user     0 0
    Create la cartella /mnt/camera0 e rendetela scrivibile da tutti:
    mkdir /mnt/camera0
    chmod 777 /mnt/camera0
    
    chmod 666 /dev/sda1
    Questa configurazione permetterà a qualsiasi utente di far il
    mount e l'umont della fotocamera senza aver bisogno di essere
    root.
     
Scaricare le fotografie.
    Ora siamo pronti ed abbiamo completato la configurazione, digate:
    mount /mnt/camera0
    e troverete tutte le vostre fografia nella cartella /mnt/camera0
    
     
     Un piccolo avvertimento: NON scollegate mai la fotocamera senza
    averla precedenetemente smonatata (umount /dev/camera0). Può
    bloccare il vostro computer.
     
     Ho scritto un piccolo script che automatizza il processo di
    recupero dei files presenti sulla card della fotocamera. Qusto
    script esegue pure il mount e l' umont della fotocamera. In
    questo modo nessuno di voi potrà scollegare la fotocamera senza
    che essa su di essa sia stato pratico l'umont. Ho chiamato lo
    script cfimageget
    (download). 
    Salvate questo file col nome di cfimageget e rendetelo eseguible
    per mezzo del comando
    chmod 755 cfimageget. Per copiare tutte le immagini nella
    cartella corrente (".") semplicimente digate:
    cfimageget .
     
A proposito della fotocamera
    Forse potreste essere interessati ad acquistare una fotocamera
    Minolta Dimage ed esser curiosi riguardo la mia esperienza in
    merito?
    
    Nel complesso posso dire che si tratta di una ottima fotocamera
    per svariati aspetti. Si interfaccia perfettamente con il sistema
    operativo Linux, una volta che avete apportato le corrette
    modifiche al kernel e lo avete ricompilato. 
    
    Potete trovare le specifiche tecniche della fotocamera presso il
    sito della minolta (www.dimage.minolta.com) 
    
    La fotocamera, come molte fotocamere digitali, ha solo un grosso
    problema. Divora le vostre batterie!. Ho effettuato alcune misure:
    Con il solo obbiettivo elettronico attivo consuma 0.6 Ampere a 6
    Volt. Durante la fase di messa a fuoco la fotocamera ha un
    consumo medio di circa 1 Ampere! Ho comunque misurato pichi di
    assorbimento dell'ordine di 3 Ampere. Da questo si può capire che con
    le normali batterie AA al NickelMetalHidrato (NiMh) (ne usa 4 per
    la cronaca) essa potrà funzionare per circa 1-1.5 ore, se la
    tenete costantemente accesa. Minolta dichiara che sarete in gradi
    di scattare 200 foto con un solo set di batterie, ma ciò, secondo
    me, significa che dovrete esser velocissimi nel fare questi
    scatti o resterete senza batterie. Questo, perchè non fa una
    grande differenza se voi scattate o la lasciate semplicemente
    accesa. Quelo che fa la vera differenza è quanto a lungo la
    fotocamera resta accesa.
     
Riferimenti
    
      - Le pagine sull'USB di Linux linux-usb.org
- Le pagine sull'hot-plug in Linux linux-hotplug.sourceforge.net
 il sistema hot-plug è un complesso insieme di script che
       automaticamente caricano e rimuovono dalla memoria i moduli
       relativi alle periferiche. Io preferisco ricorrere ad una
       versione statica del caricamento in memoria dei moduli per
       mezzo di modprobe negli script di startup aggiungendo delle
       voci in /etc/rc.d/rc.local (Redhat/Mandrake), ma questo è a
       vostra scelta.
- Una piccola selezione di programmi per vedere le immagini:
 gimp (www.gimp.org),
 konqueror (www.kde.org),
 gphoto (www.gphoto.org)
       Non dovete scaricaricare il set di gphoto per vedere le sole
       foto, ma potete utilizzarlo per generare in automatico pagine
       html che contengano un indice delle foto; direi che vi basta
       gqview(gqview.sourceforge.net),
 xv (www.trilon.com/xv/xv.html)
      Questo programma esiste fin da quando i computer avevano solo
      una interfaccia a caratteri, ma si tratta ancora di un ottimo
      programma.
- Fotocamera Casio ed i sistemi usb-storage: www.harald-schreiber.de
Discussioni su quest'articolo
ogni articolo possiede una sua pagina di discussione, da questa pagina puoi inviare un commento o leggere quelli degli altri lettori:
2002-06-23, generated by lfparser version 2.25