canon powershot a610
Tuesday, 27. December 2005, 20:46:58
I got myself finally a camera: the Canon PowerShot A610. It seems to come close to what I have been looking for in a camera, including macro photography, automatic but also manual settings, small size and lightweight, good quality, and, last but not least - being able to use it under Linux.
The camera is not to be mounted as a USB mass storage device, but supports Picture Transfer Protocol (PTP) to transfer the files. I was very pleased to see Canon just support the standard, without any proprietary extensions - there is some ptp software available: the easiest was to install gphoto2 and then simply
$ gphoto2 --get-all-files
to retrieve all pictures from the camera. Actually, the A610 is not recognized in the gphoto2 2.1.6 release yet - only the 2.1.99 version lists the camera, but that is about everything that is needed to officially support it. Currently it autodetects the camera as
$ gphoto2 --auto-detect Model Port ---------------------------------------------------------- USB PTP Class Camera usb: USB PTP Class Camera usb:004,004
and can talk with it without any further trouble.
Yay for standards!
Update
Just updated libgphoto2 to the latest 2.1.99 release:
$ gphoto2 --auto-detect Model Port ---------------------------------------------------------- Canon PowerShot A610 (normal mode) usb: Canon PowerShot A610 (normal mode) usb:004,005
Update 2
After my initial rejoice, I had some trouble with the latest libgphoto2 2.1.99 release - as in, it would refuse to communicate with the camera, with the error message
Camera not operational
Have found at least one more thread about this issue, but no solution to the problem yet.
Luckyly gphoto2 isn't the only PTP software out there, and the much simpler ptpcam included in the libptp2 package solved my problem.
After all, having different software for one and the same task isn't that bad at times…
Update 3
I got gphoto2 to work nicely again, with a little workaround.
The new libgphoto2 library seems to misdetect the camera: it is not to be treated as "Canon PowerShot A610 (normal mode)" (see above), but as "Canon PowerShot A610 (PTP mode)".
$ gphoto2 --camera "Canon PowerShot A610 (PTP mode)" --list-files
produces the expected listing. But then, when trying to
$ gphoto2 --camera "Canon PowerShot A610 (PTP mode)" --get-all-files
gphoto2 drops out with
$ gphoto2 --camera "Canon PowerShot A610 (PTP mode)" --get-all-files Downloading 'IMG_0072.JPG' from folder '/store_00010001/DCIM/100CANON'... gphoto2: symbol lookup error: gphoto2: undefined symbol: GP_SYSTEM_IS_FILE
Hmmmm, did they change something in the API? A first quick search finds
if ((p.flags & FLAGS_QUIET) == 0) {
while ((p.flags & FLAGS_FORCE_OVERWRITE) == 0 &&
GP_SYSTEM_IS_FILE (s)) {
do {
putchar ('\007');
printf (_("File %s exists. Overwrite? [y|n] "),
s);
fflush (stdout);
in gphoto2's main.c - and indeed
gphoto2 --quiet --camera "Canon PowerShot A610 (PTP mode)" --get-all-files
downloads all files with no further trouble.
Update 4 - and hopefully last one!
Right, you have to love small changes - they *did* "change" API.
libgphoto2 2.1.6 defined in camlibs/directory/directory.c
GP_SYSTEM_IS_FILE
and the new 2.1.99 has, in the same file
gp_system_is_file
but I couldn't find this mentioned in any Changelog (have I missed something?). which is part of some keep namespace clear: rename GP_SYSTEM_* to gp_system_* cleanup.
$ cd gphoto2-2.1.6 $ make clean $ $EDITOR gphoto2/main.c
change the one occurence of "GP_SYSTEM_IS_FILE" to "gp_system_is_file",
$ make $ make install $ gphoto2 --camera "Canon PowerShot A610 (PTP mode)" --get-all-files
or be more sensible and do not mix gphoto2 2.1.6 with libgphoto2 2.1.99 libraries…
Amen.
This helped me with the "GP_SYSTEM_IS_FILE" problem. I just experienced it (and solved) while trying to configure a Kodak C330 for my sister. Now it works perfectly.
Thank you :)
ciao
By curson, # 9. September 2006, 13:52:09