Old:Usare Fotocamere Digitali (usb-storage)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Emblem-important.png Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica.


Premessa

Questa guida è stata testata su Debian Sarge // kernel 2.6.9 e una fotocamera Benq DC C40, ma dovrebbe funzionare con moltissimi altri modelli e anche con kernel della serie 2.4.x (addirittura 2.2.x). Ho deciso di scrivere qualche riga sul metodo da me usato principalmente a causa della mancanza di supporto da parte del produttore dell'hardware, ma anche per dare una forma semplice e sintetica alla gran mole di materiale reperibile su internet.

Buona lettura e ... happy hacking!

Da notare

Una fotocamera digitale può essere vista da GNU/Linux, a seconda del modello, come un generico dispositivo di mass storage (come una chiavetta USB o un HD esterno) oppure come una vera e propria fotocamera digitale alla quale è possibile accedere tramite la libreria libgphoto. A seconda del modello, la vostra fotocamera digitale potrà essere usata in uno solo dei due modi oppure (più raramente) in entrambi i modi. Qualora sia possibile scegliere, consiglio di usare la soluzione con libgphoto perché in questo caso grazie a software specifici per fotocamere sarà possibile effettuare molto più facilmente operazioni di catalogazione ed archiviazione delle fotografie. Per ulteriori informazioni vi rimando alla guida in merito scritta da The Noise: Usare Fotocamere Digitali

Prerequisiti

Prima di tutto avrete bisogno di un kernel con:

  • supporto generico USB per il vostro chipset;

(questo è talmente ovvio da non aver bisogno di spiegazioni)

  • supporto USB Mass Storage;

(questo driver permette di accedere alle periferiche di archiviazione di massa attraverso il bus USB.)

  • supporto SCSI;

(vedi punto successivo)

  • supporto generico dischi SCSI

(avremo bisogno di questo driver per accedere alla periferica USB - la memoria della fotocamera - come se fosse un vero e proprio disco fisso)

Caricate i moduli se non lo sono o mettete mano al vostro kernel e proseguiamo.

Installazione

USB Storage

Collegate il cavo USB al vostro PC, accendete la fotocamera e solo a questo punto collegatela al computer. Vi consiglio di eseguire questa operazione da un terminale, e non da una sessione di X. Questo per vedere più agevolmente i messaggi di debug. Altro modo è quello di controllare il log messages (attenzione, la connessione USB genera un gran flusso di linee). Di seguito ecco un esempio di quello che potete aspettarvi di leggere se tutto è andato bene:

# tail -f /var/log/messages
Nov 11 02:47:53 kernel: usb 1-1: new full speed USB device using address 13
Nov 11 02:47:53 kernel: scsi11 : SCSI emulation for USB Mass Storage devices
Nov 11 02:47:53 kernel: Vendor: Model: DSC Rev: 1.00
Nov 11 02:47:53 kernel: Type: Direct-Access ANSI SCSI revision: 02
Nov 11 02:47:53 kernel: SCSI device sda: 32768 512-byte hdwr sectors (17 MB)
Nov 11 02:47:54 kernel: sda: assuming Write Enabled
Nov 11 02:47:54 kernel: sda:<7>usb-storage: queuecommand called
Nov 11 02:47:54 kernel: sda1
Nov 11 02:47:54 kernel: Attached scsi removable disk sda at scsi11, channel 0, id 0, lun 0
Nov 11 02:47:54 kernel: Attached scsi generic sg0 at scsi11, channel 0, id 0, lun 0, type 0

Possiamo subito notare una cosa interessanti, e che farà comodo in seguito: alla nostra fotocamera è stato assegnato il device sda1. In caso abbiate delle periferiche SCSI effettivamente collegate al PC, potreste vedervi assegnare sda2, ecc...

Possiamo subito provare se la nostra fotocamera è accessibile provando semplicemente a montarne il filesystem:

# mount -t vfat /dev/sda1 /mnt
# ls -l /mnt/
totale 16
drwxr--r-- 2 root root 16384 2004-11-11 01:47 dcim

All'interno della cartella dcim (o altro) troverete le vostre foto! Potrete tranquillamente navigare nelle cartelle, rinominare, spostare, copiare e cancellare i file.

  NOTA BENE:
Per poter operare tranquillamente cambiamenti all'interno della memoria della fotocamera, è necessario seguire sempre e comunque questa procedura finito il lavoro:
  1. smontare il filesystem (comando umount);
  2. spegnere la fotocamera;
  3. scollegare il cavo dalla fotocamera.


Automounter

Se siete arrivati a questo punto, probabilmente vorrete gestire in modo più pratico il mount e l'umount del dispositivo. Di seguito ecco alcuni cenni sull'automounter che faranno comodo (spero).

L'automounter è un demone che controlla una serie di dispositivi da noi definiti: quando tentiamo di accedere a questi dispositivi, l'automounter si preoccuperà di montarli automaticamente per noi e li smonterà quando non ne avremo più bisogno. È molto utile per usare comodamente CDROM, floppy-drive e ... fotocamere digitali.

In Debian è sufficiente digitare il comando:

# apt-get install autofs

ed avremo a nostra disposizione sia il demone che uno script di avvio che lo controlla.

Ora dobbiamo editare due file.

Il primo è /etc/auto.master ed è il file di controllo generale. Tutto quello che dobbiamo fare è aggiungere alla fine del file questa riga:

/misc /etc/auto.misc --timeout=30

Il primo punto indica la directory in cui devono essere montati i dispositivi. È buona norma usare /misc, che provvederete a creare con il comando:

# mkdir /misc

Il secondo punto indica quale file di configurazione deve essere usato per gestire /misc. In questo caso si tratta di /etc/auto.misc.

Il terzo punto indica il timeout (in millisecondi) che automounter attenderà prima di smontare il device quando avremo finito di usarlo.

Ora passiamo a configurare /etc.auto.misc. Tutto quello che dobbiamo fare è aggiungere una riga che specifichi come montare il filesystem della nostra fotocamera. La linea in questione sarà qualcosa del genere:

camera -fstype=vfat,nodev,users,codepage=850,umask=000 :/dev/sda1

Questa linea si riferisce alla mia configurazione, ma è semplice intuire che: camera indica la directory all'interno di /misc in cui verrà montato il filesystem, "-fstype=" indica le opzioni di mount (potete usare quelle che preferite). ":/dev/sda1" deve essere il device che abbiamo individuato all'inizio della guida.

Bene, ora siamo pronti a rilanciare autofs e a testarlo:

# /etc/init.d/autofs restart
Stopping automounter:
Stopped 8977
done.
Starting automounter: /misc.

D'ora in avanti potremo accedere alla nostre foto semplicemente entrando all'interno di /misc/camera, sia da console che usando la vostra interfaccia grafica preferita.