Old:Usare Fotocamere Digitali (usb-storage): differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
=Premessa=
L' installazione dei drivers per le schede di rete Intel� PRO/Wireless 2200BG, tra le pi� diffuse e comuni per l' architettura Centrino, � abbastanza semplice in Debian GNU/Linux.
 
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 (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!
 
=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 [[Utente:TheNoise|The Noise]]: [[Usare Fotocamere Digitali]]


=Prerequisiti=
=Prerequisiti=
Prima di seguire quanto riportato nella guida, assicuriamoci di avere a nostra disposizioni gli headers per il nostro kernel. Se abbiamo compilato noi stessi il kernel, allora possiamo essere tranquilli, ma se stiamo usando un kernel precompilato (ad esempio quello installato durante il setup di Debian, oppure scaricato tramite APT) allora dobbiamo necessariamente scaricare il pacchetto Debian contenente gli headers.
Prendendo come esempio una installazione standard di Debian Sarge, ecco come dobbiamo procedere:
<pre>$ uname -r
2.6.8-2-386</pre>
questo significa che dobbiamo procurarci gli headers relativi a questa release del kernel:
<pre>$ apt-cache search headers 2.6.8-2-386
kernel-headers-2.6.8-2-386 - Linux kernel headers 2.6.8 on 386</pre>
A questo punto sufficiente installare il pacchetto:
<pre># apt-get install kernel-headers-2.6.8-2-386</pre>
e il gioco fatto.


Prima di tutto avrete bisogno di un kernel con:
=Scaricare i sorgenti del driver=
* supporto generico USB per il vostro chipset;
Questo passo si esaurisce con l' usare APT per scaricare i drivers:
''(questo è talmente ovvio da non aver bisogno di spiegazioni)''
<pre>$ apt-cache search ipw module
* supporto USB Mass Storage;
bsign - Corruption & intrusion detection using embedded hashes
''(questo driver permette di accedere alle periferiche di archiviazione di massa attraverso il bus USB.)''
ipw2100-source - source for the ipw2100 driver
* supporto SCSI;
ipw2200-source - Source for the ipw2200 driver
''(vedi punto successivo)''
ipw2200-modules-2.6.8-2-386 - ipw2200 modules for Linux (kernel 2.6.8-2-386).
* 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:
 
<pre>
# 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
</pre>
 
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:
 
<pre>
# mount -t vfat /dev/sda1 /mnt
# ls -l /mnt/
totale 16
drwxr--r-- 2 root root 16384 2004-11-11 01:47 dcim
</pre>
</pre>
In questo caso ci interessano i sorgenti dei drivers, per cui:
<pre># apt-get install ipw2200-source</pre>
che scarica la documentazione relativa alla compilazione dei drivers, oltre a un archivio contente i sorgenti veri e propri (in /usr/src).


All' interno di dcim (o altro) trovere le vostre foto! Potrete tranquillamente navigare nelle cartelle, rinominare, spostare, copiare e cancellare i files.
=Compilare i drivers=
Logghiamoci come root e spostiamoci in /usr/src
<pre>$ su
Password:
# cd /usr/src/</pre>
Ora scompattiamo i sorgenti dei drivers:
<pre># tar xzvf ipw2200-source.tar.gz</pre>
A questo punto possiamo procedere in due modi.


{{box|NOTA BENE:|Per poter operare tranquillamente cambiamenti all' interno della memoria della fotocamera, è necessario seguire '''sempre''' e '''comunque''' questa procedura finito il lavoro:
==Usare module-assistant==
# smontare il filesystem (comando umount);
Se intendiamo avvalerci dell' utility [[Pagina_di_manuale_di_module-assistant |module-assistant]], a questo punto non dobbiamo fare altro che digitare il comando:
# spegnere la fotocamera;
<pre># module-assistant a-i ipw2200</pre>
# scollegare il cavo dalla fotocamera.}}
ed il gioco � fatto.
 
==Compilare il driver manualmente==
 
Se vogliamo compilare il driver manualmente, sufficiente:
===Automounter===  
<pre>$ cd modules/ipw2200
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).
$ fakeroot debian/rules binary-modules KSRC=/usr/src/kernel-headers-$VERSION KVERS=$VERSION
 
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:
 
<pre>
# apt-get install autofs
</pre>
</pre>
dove $VERSION il numero di versione del kernel che '''deve essere esattamente identico''' all' output che abbiamo ottenuto usando ''uname -r''.
Una volta compilato il driver, installiamo il driver usando '''dpkg -i nome_pacchetto_del_driver.deb'''.


ed avremo a nostra disposizione sia il demone che uno script di avvio che lo controlla.
=Nota per i kernels 2.6.x=
Prima di poter usare il nostro driver appena compilato, dobbiamo procurarci il firmware che dovr� essere caricato da hotplug. Il firmware pu� essere scaricato dal sito [http://ipw2200.sourceforge.net/firmware.php IPW2200] e deve essere quello adatto alla versione del modulo da noi compilata. Ad esempio,
<pre>$ ls /usr/src |grep deb
ipw2200-modules-2.6.8-2-386_1.0.3-1+2.6.8-16_i386.deb</pre>
ci dice che la versione del nostro modulo � la 1.0.3-1, per cui dalla pagina dei downloads di [http://ipw2200.sourceforge.net/firmware.php IPW2200] sceglieremo senza dubbio [http://ipw2200.sourceforge.net/firmware.php?fid=4 Versions v0.19-v1.0.3].
Otterremo un archivio da scompattare
<pre>$ tar xzvf ipw2200-fw-2.2.tgz</pre>
A questo punto dobbiamo semplicemente copiare i files ''ipw-2.2-*.fw'' all' interno della directory ''/usr/lib/hotplug/firmware'', ricordandoci di compiere questa operazione dopo esserci loggati come utente root.


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:
<pre>
/misc /etc/auto.misc --timeout=30
</pre>
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:
<pre>
# mkdir /misc
</pre>
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:
<pre>
camera -fstype=vfat,nodev,users,codepage=850,umask=000 :/dev/sda1
</pre>
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:
<pre>
# /etc/init.d/autofs restart
Stopping automounter:
Stopped 8977
done.
Starting automounter: /misc.
</pre>
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.


----
----
 
Autore: [[Utente:Keltik|keltik]] 13:50, Set 12, 2005 (EDT)
Autore: [[User:Keltik|Keltik]]
[[Categoria:Hardware]]
1 760

contributi