A95 on toista maata. Se käyttää alkujaan Microsoftin luomaa(?) PTP-protokollaa USB:n yli. Sinällään protokolla ei ole ongelma, koska libgphoto2:ssa on sille hyvä tuki. Ongelma tulee (käsittääkseni) siinä että user modessa pyörivän ohjelman tulee toteuttaa viestintäprotokolla suoraan USB-deviceä vastaan. Ja tässä tapauksessa käyttäjällä ei ollut tarvittavia käyttöoikeuksia devicen lukemiseen ja kirjoittamiseen.
Google-session jäljiljtä olin useaa luettua bugiraporttia viisaampi. Lukemani bugiraportit olivat vanhoja, joten yllättävää että ongelma on edelleen olemassa.
Mikään seuraavista ohjelmista ei saanut kamerasta mitään ulos:
- Dolphin
- DigiKam
- gphotofs
- gphoto2
- gthumb.
Gphoto2:n virheilmoituksesta sai eniten irti:
*** Error ***
An error occurred in the io-library ('Could not claim the USB device'): Could not claim interface 0 (Operation not permitted). Make sure no other program or kernel module (such as sdc2xx, stv680, spca50x) is using the device and you have read/write access to the device.
*** Error (-53: 'Could not claim the USB device') ***
Laite oli kuitenkin nähtävissä USB-väylän listauksissa:
20080520-photo% lsusb
Bus 003 Device 010: ID 04a9:30bb Canon, Inc. PowerShot A95
Bus 003 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0001
Bus 002 Device 001: ID 1d6b:0002
Lopulta löysin ohjeet mitä soveltamalla omaan kameraani sain kuvat siirtymään. Kyse on udev:n konfiguraatioista jotka eivät antaneet tarpeeksi oikeuksia laitteen kanssa kommunikoimiseksi.
lsusb:n outputista näkee kameran vendor ja device id:n 04a9:30bb. Tarvittiin tiedosto jota ei ollut olemassa (/etc/udev/rules.d/45-libgphoto2.rules) jonne syötettiin seuraavaa:
SYSFS{idVendor}=="04a9", SYSFS{idProduct}=="30bb", MODE="0660", GROUP="plugdev"
Tämän jälkeen sammuta kamera, irroita se koneesta ja suorita:
/etc/init.d/udev restart
Kamera päälle ja kiinni koneeseen, jonka jälkeen kaikki edellä mainitut ohjelmat toimivat kuten niiden odottaisi toimivan.