Canon EOS 400D and Linux – Expt1 

I was all excited when my new Canon EOS 400D landed in my hands today. I think that it’s a great piece of equipment, although I haven’t yet played around with it enough.

I thought I needed to buy a separate cable to computer-control it, and the USB cable was only a data transfer cable. I casually asked about software for EOS 400D on Linux on ##astronomy on freenode, and I was excited when ‘peerce’ told me that I should’ve got the USB cable for computer-control along with the camera! I ran down and brought the cable and connected the camera to my brother’s system, running Debian (testing).

I didn’t find a good “HOWTO” for the Canon EOS 400D detailing the remote-controlled capture, although I expected that somebody would’ve written one. (I think I should write one when I fully explore it, if someone else hasn’t!)

File transfer was trivially easy:

sudo apt-get install gphoto2 gtkam

gtkam

Select the ‘Add Camera’ option from the ‘Camera’ menu and say ‘Detect’.  Then click ‘Ok’. If the camera doesn’t initialize, try restarting the camera :-D  (May not be the right way to do things). If gtkam doesn’t segfault or run into some trouble, you should see a list of thumbnails on the right half of the window, if you select the right thing (the only thing) in the tree on the left pane. Figure out, it’s quite intuitive, and it doesn’t work well :-P  Maybe there are better methods to do this – maybe the konqueror camera:/ kioslave (or whatever it’s called) works better – please let me know in that case.

Now, I want to control my camera. So I look around for documentation. I understand that it is just

gphoto –set-config capture=on

gphoto2 -F <# of frames> -I <interval> –capture-image

That didn’t seem to work. After much experimentation, I tend to think that the camera needs details of how you want to photograph – i.e. focusing, exposure settings etc. (or does it?). Besides, capture=on must be set in the same command as the –capture-image, or so it seems, probably because every gphoto2 command sends a whole bunch of other instructions to the camera as well (isn’t that inefficient???).

So, that means that if I put the camera on Auto Mode using the Mode dial, then I can get away with:

gphoto2 –set-config capture=on  -F 1 -I 1 –capture-image

For some reason, the command doesn’t terminate (and consequently, F > 1 doesn’t work) – probably because it wants us to accept the image and save it as well. I still need to figure this out.

One more thing that I see is that if I do a

gphoto2 –list-config

I get only three options:

 /main/settings/capturetarget
/main/settings/capture
/main/capturesettings/focuslock

This is expected (after reading the documentation), because the remaining settings that pertain to capture mode are exposed only after we enable capture mode. So do a

gphoto2 –set-config capture=on –list-config

and you get a whole bunch of configurable parameters:

 /main/settings/eos-time
/main/settings/capturetarget
/main/settings/capture
/main/imgsettings/eos-iso
/main/imgsettings/eos-whitebalance
/main/capturesettings/picturestyle
/main/capturesettings/eos-aperture
/main/capturesettings/eos-shutterspeed
/main/capturesettings/eos-meteringmode
/main/capturesettings/focuslock

Ahh… so there we go. So, if I wanted a (semi-)successful manual exposure, I should do:

gphoto2 –set-config capture=on –config -F <Nf> -I <Ti> –capture-image

I still need to figure out how to retrieve the file or somehow get the command to complete.

Earlier, my AF exposures would fail, because I was trying to shoot a blank wall, so AF would fail! It took me really really long to realize that!

The following documentation will prove to be sparingly helpful: