Dopo circa 5 ore (non scherzo! Ho interrotto solo una mezz'oretta per mangiare!) e decine di pagine di forum lette ho finalmente trovato la soluzione!!!
IL PROBLEMA: QUAL È E DOV'È
Il problema è dato dalla comparsa del messaggio
"
Impossibile collegarsi alla macchina fotografica. Assicurati che sia collegata correttamente ed accesa."
Il problema è nel file /lib/udev/rules.d/40-libgphoto2-2.rules
Per risolverlo...
Apriamo il file con
In questo file vanno effettuate due modifiche.
PRIMA MODIFICA: "Se il BUS non funziona vai alla riga libgphoto2_rules_end"
L'inizio di questo file ha queste istruzioni:
Codice: Seleziona tutto
# udev rules file for libgphoto2 devices (for udev 136 version)
# Created from this library:
# libgphoto2 2.4.6 gcc, ltdl, EXIF
# libgphoto2_port 0.8.0 gcc, ltdl, USB, serial without locking
#
# this file is autogenerated, local changes will be LOST on upgrades
SUBSYSTEM!="usb", GOTO="libgphoto2_rules_end"
ENV{DEVTYPE}!="usb_device", GOTO="libgphoto2_rules_end"
ACTION!="add", GOTO="libgphoto2_rules_end"
ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
Questa prima parte va modificata come segue
Codice: Seleziona tutto
# udev rules file for libgphoto2 devices (for udev 136 version)
# Created from this library:
# libgphoto2 2.4.6 gcc, ltdl, EXIF
# libgphoto2_port 0.8.0 gcc, ltdl, USB, serial without locking
#
# this file is autogenerated, local changes will be LOST on upgrades
SUBSYSTEM!="usb", GOTO="libgphoto2_rules_end"
BUS!="usb_device", GOTO="libgphoto2_rules_end"
ENV{DEVTYPE}!="usb_device", GOTO="libgphoto2_rules_end"
ACTION!="add", GOTO="libgphoto2_rules_end"
ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
Non ho fatto altro che inserire sotto la riga
SUBSYSTEM!="usb", GOTO="libgphoto2_rules_end"
l'istruzione
BUS!="usb_device", GOTO="libgphoto2_rules_end"
Coì facendo credo che a occhio e croce dico alla libreria che se non riesce a trovare il bus (qualcosa del genere, in pratica che se non riesce a comunicare con la fotocamera) deve andare alla riga "libgphoto2_rules_end".
SECONDA MODIFICA: Dichiarazione esplicita del produttore e dell'identificativo della macchina fotografica
Portarsi alla fine del file ed individuare la riga
LABEL="libgphoto2_rules_end"
Immediatamente sotto inserire la seguente istruzione
Codice: Seleziona tutto
SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="30ef", MODE="0660", GROUP="plugdev"
NOTA: l'istruzione sopra indicata è specifica per la macchina fotografica Canon EOS 350D. Per altre macchine fotografiche i parametri da inserire sono differenti e vanno individuati caso per caso. Alla fine di questo post viene descritta la procedura per individuare i codici necessari.
Fatte queste modifiche salvare il file e chiuderlo.
RENDERE EFFETTIVE LE MODIFICHE
Prima che le modifiche funzionino è necessario renderle effettive. Ecco come:
1) Scollegare la macchina fotografica dal computer
2) Da riga di comando dare l'istruzione
3) Ricollegare la macchina fotografica
4) Accendere la macchina fotografica
5) Provare di nuovo a scaricare le foto
EUREKA! Il software si collega correttamente alla macchina fotografica e le foto finalmente vengono scaricate!
È tutto!
Di seguito la
procedura da seguire qualora il problema dovesse presentarsi con altre macchine fotografiche.
PER ALTRE MACCHINE FOTOGRAFICHE
1) Collegare la macchina fotografica ed accenderla
2) Aprire il terminale e dare il comando "lsusb"
Codice: Seleziona tutto
aerendir@aerendir-desktop:~$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 009: ID 04a9:30ef Canon, Inc. EOS 350D (ptp)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
3) Individuare la riga corrispondente alla propria macchina fotografica. Nel mio caso è la seconda
Codice: Seleziona tutto
Bus 001 Device 009: ID 04a9:30ef Canon, Inc. EOS 350D (ptp)
4) Copiare la riga in un file di testo per tenerlo a portata di mano durante gli step successivi.
Una breve spiegazione. Le due stringhe che seguono il testo "ID" (04a9:30ef) sono
- la prima il "Vendor ID" (nell'esempio "04a9");
- la seconda il "Product ID" (nell'esempio "30ef").
Queste due stringhe verranno usate al punto 7.
5) Aprire il file /lib/udev/rules.d/40-libgphoto2-2.rules con
sudo gedit /lib/udev/rules.d/40-libgphoto2-2.rules
6) Eseguire la PRIMA MODIFICA come indicato nella procedura per la Canon EOS 350D. Di seguito il file modificato:
# udev rules file for libgphoto2 devices (for udev 136 version)
# Created from this library:
# libgphoto2 2.4.6 gcc, ltdl, EXIF
# libgphoto2_port 0.8.0 gcc, ltdl, USB, serial without locking
#
# this file is autogenerated, local changes will be LOST on upgrades
SUBSYSTEM!="usb", GOTO="libgphoto2_rules_end"
BUS!="usb_device", GOTO="libgphoto2_rules_end"
ENV{DEVTYPE}!="usb_device", GOTO="libgphoto2_rules_end"
ACTION!="add", GOTO="libgphoto2_rules_end"
ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
7) Portarsi alla fine del file e dopo la riga
LABEL="libgphoto2_rules_end"
inserire la seguente istruzione
Codice: Seleziona tutto
SYSFS{idVendor}=="IDVENDOR", SYSFS{idProduct}=="IDPRODUCT", MODE="0660", GROUP="plugdev"

Sostituire a IDVENDOR e a IDPRODUCT i rispettivi codici così come spiegato al punto 4.
Salvate il file e seguite le istruzioni indicate in RENDERE EFFETTIVE LE MODIFICHE come spiegato più su in questa pagina.
NOTA CONCLUSIVA
La soluzione per la PRIMA MODIFICA è stata trovata qui:
http://ubuntuforums.org/showthread.php? ... canon+350d
La soluzione per la SECONDA MODIFICA è stata estratta da qui:
http://batos.wordpress.com/2007/04/11/c ... untu-edgy/ . A questo secondo link è presente un'utile procedura per modificare i permessi alle periferiche USB, problema molto frequente che rende impossibile utilizzare la macchina fotografica, qualunque essa sia.
Spero di essere stato utile!
Aerendir