Linux e le fotocamere digitali

Gio, 11/11/2004 - 04:24

Linux e le fotocamere digitali

Inviato da Anonimo 3 commenti
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 kernels della serie 2.4.x (addiritura 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 uan forma semplice e sintetica alla gran mole di materiale reperibile su internet.

Buona lettura e ... happy hacking!

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.

1- 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:

gandalf:~# tail -f /var/log/messages<br />Nov 11 02:47:53 gandalf kernel: usb 1-1: new full speed USB device using address 13<br />Nov 11 02:47:53 gandalf kernel: scsi11 : SCSI emulation for USB Mass Storage devices<br />Nov 11 02:47:53 gandalf kernel:   Vendor:           Model: DSC               Rev: 1.00<br />Nov 11 02:47:53 gandalf kernel:   Type:   Direct-Access                      ANSI SCSI revision: 02<br />Nov 11 02:47:53 gandalf kernel: SCSI device sda: 32768 512-byte hdwr sectors (17 MB)<br />Nov 11 02:47:54 gandalf kernel: sda: assuming Write Enabled<br />Nov 11 02:47:54 gandalf kernel:  sda:<7>usb-storage: queuecommand called<br />Nov 11 02:47:54 gandalf kernel:  sda1<br />Nov 11 02:47:54 gandalf kernel: Attached scsi removable disk sda at scsi11, channel 0, id 0, lun 0<br />Nov 11 02:47:54 gandalf kernel: Attached scsi generic sg0 at scsi11, channel 0, id 0, lun 0,  type 0<br />Nov 11 02:47:54 gandalf scsi.agent[22145]: disk at /devices/pci0000:00/0000:00:07.2/usb1/1-1/1-1:1.0/host11/11:0:0: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, avrete un messaggio diverso.

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

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

All' interno di dcim (o altro) trovere le vostre foto! Potrete tranquillamente navigare nelle cartelle, rinominare, spostare, copiare e cancellare i files.

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.

2- 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. E' molto utile per usare comodamente CDROMs, floppy-drives 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 files.

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

che specifica:

Il primo punto indica la directory in cui devono essere montati i dispositivi. E' 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 è aggingere una riga che specifichi come montare il filesystem della nsotra 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:

gandalf:~# /etc/init.d/autofs restart<br />Stopping automounter:<br /><br />  Stopped 8977<br />done.<br />Starting automounter: /misc.<br />gandalf:~#

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.

Postilla:

Scusate fin da adesso eventuali orrori di ortografia ed imprecisioni: sono le 03:30 a.m. Wink.
Ogni commento/correzione è il benvenuto.

Bibliografia: http://www.linux-usb.org/USB-guide/x498.html





Commenti

Ritratto di Stefano
#1

Inviato da Stefano il Gio, 11/11/2004 - 04:31.

Complimenti!

Voto: 9!

Continuate così forza ragazzi! Avete talento da vendere...

p.s.: Occhio però ai TAG di formattazione, le prossime guide che non rispetterano le semplicissime regole descritte nelle FAQ non saranno pubblicate.

Stefano Mainardi - Founder of ILDN & CEO of Twinbit