Canon Powershot A60 on Debian

Edit: This is a very old (2003) page of mine that needs a new location, and I think this blog is the best place.

I bought my camera at the end of april 2003 and after a few minutes of toying around i wanted to connect it to my favorite OS. I have been told that some of the stuff on this page will work with a powershot A70 or A75 too.

Feel free to contact me if you have questions or solutions to any problems. But I'm in no way an expert. Please notice that I haven't changed this page for a very long time and probably won't update it any more.

Debian sarge comes with gphoto 2.1.5, I tested 2.1.3.

Preparations

gphoto2 and hotplug

# apt-get install gphoto2 hotplug

Kernel

I'm not sure but i guess stock Debian kernels should have all the USB stuff compiled in, if you build your own kernel figure out what you need reading the fine gphoto2 manual.

Connect the cam

Connect the camera to your USB port and and turn it on in replay mode. Try

$ grep Canon /proc/bus/usb/devices 

You will hopefully see something like

S:  Manufacturer=Canon Inc.
S:  Product=Canon Digital Camera

If not have a look at /var/log/messages. Does your kernel support USB?

Setting permissions

You don't want to run gphoto2 as root, so follow the steps in /usr/share/doc/libgphoto2-2/README.Debian. If you don't have a usb group yet create it (man addgroup) and remember to logout and login after adding yourself (man adduser) to the group. Change fstab and set the correct devgid there (man id).

I added the following line to my /etc/fstab:

none  /proc/bus/usb  usbfs devuid=0,devgid=1002,devmode=0660  0   0

First test

If hotplug found your camera try

$ gphoto2 --auto-detect

The output should be

Model                          Port
----------------------------------------------------------
Canon PowerShot A60            usb:

To download the first picture from your camera type

$ gphoto2 --get-file 1 

You will need at least one file (photo, movie) on the cam of course.

Gphoto2 drivers

The camera can be accessed by two different kind of drivers:

  1. The PTP protocol is a manufacturer-independent picture transfer protocol. Libgphoto2 doesn't fully support PTP completeley yet. There is also a project called jphoto that seems supports PTP but looks inactive, I haven't tried it yet.
  2. Canon protocol.

If you want to capture images with gphoto2 you need the ptp driver. This may work or not with the canon driver in the future.

Driver status

feature ptp2 driver 2.1.3
canon driver 2.1.3
--capture-image yes no
--capture-movie no no
--delete-all-files no (4) yes
--delete-file range no (4) yes
--get-all-files yes yes
--get-all-thumbnails yes yes
--get-audio-data ? ?
--get-file range yes yes
--get-thumbnail range yes yes
--list-files yes yes
--list-folders yes yes
--mkdir folder no yes (1,3)
--num-files yes yes
--rmdir folder ? ?
--show-info range yes yes
--summary yes yes
--upload-file file no yes (2)

Comments:

  1. the folder will be in capitals
  2. the .deb in sid DOESN'T SUPPORT upload.
  3. hm, can't create a folder 'folder'...
  4. doesn't delete everything properly (firmware bug?)

Note: Mixing the usage of both drivers seems to crash the camera.

More tools for the A60

  • libptp is part of gphoto but there is a stand-alone tool included that uses it to set camera properties. You can't do that with gphoto2.

More links...

3 comments

  1. avatar
    wrote this comment on

    As you can imagine, six years after your original post, everything changes and improves a lot.

    Things works soft and automagically nowadays.

    At least with KDE, just plug your camera and enjoy.

  2. avatar
    wrote this comment on

    Thanks for your comment! Yes, I would have guessed so. It looks like all GUI apps still use gphoto2. Maybe this post can help somebody if they run into problems.

  3. avatar
    wrote this comment on

    It's not impossible for me to be a fan of the Canon PowerShot A60. It seems to be a good camera.:-)

Reply

Cancel reply
Markdown. Syntax highlighting with <code lang="php"><?php echo "Hello, world!"; ?></code> etc.
DjangoPythonBitcoinTuxDebianHTML5 badgeSaltStackUpset confused bugMoneyHackerUpset confused bugX.OrggitFirefoxWindowMakerBashIs it worth the time?i3 window managerWagtailContainerIrssiNginxSilenceUse a maskWorldInternet securityPianoFontGnuPGThunderbirdJenkinshome-assistant-logo