I've just got myself a Canon Eos 300D camera that doesn't use 'mass storage device' when connected via USB so my Kubuntu 14.04 OS doesn't find it in a file manager.

I only need something to move files between camera and computer so everything I have found so far is way too bloated (ie. "Photo management") which I will never ever use.

I use the file manager to organise and Gimp/Darkroom for processing so all these features of anything I have found so far are totally redundant.

  • You could use gThumb, also it's somewhat GNOME oriented. It does overlap a bit with file manager's prerogative but won't bother you if you don't ask it to. – VicAche May 3 '14 at 17:35
  • Its a thought, but 76MB seems a bit heavy just to access the camera :( – Eeji May 3 '14 at 20:21

Found here a good writeup:

Packages and configuration

The latest gphoto2 and hotplug packages are required and gphoto2 should be done first as it is required to finalise the configuration of hotplug.


The Canon EOS 300D is supported by gphoto2 from 2.1.3 onwards, thus download the latest from gphoto org if required. Version 2.1.4 has bug fixes relating to the Canon and PTP dirvers. So it would be better to get at least version 2.1.4

The latest packages are currently only available in source tarballs and so they will need compiling (Unless the distro's have since updated the packages).

cd libgphoto2-2.1.4
./configure --with-drivers=ptp2,canon
su -c make install
cd ..

cd gphoto2-2.1.4
su -c make install
cd ..

N.b. for versions 1.2.3 and 2.1.4 I had to edit gphoto2/Makefile, adding -I/usr/local/include/gphoto2 to the AA_CFLAGS definition, in order to compile ghoto2.

When compiling and installing the packages make sure that you are subsequently using the newly installed packages and not any previous installations. Simplest way to achieve this would be to remove any existing gphoto2 packages prior to starting.


Having kernel 2.6.1 installed requires the latest linux-hotplug package which supports 2.6 kernels. Rpm packages should exist for this. E.g.: -

rpm -Uvh hotplug-2004_01_05-1.noarch.rpm

To complete the hotplug installation requires the creation of the permissions handling script /etc/hotplug/usbcam, and the configuration of the /etc/hotplug/usb.usermap file.


This file will be run by the hotplug package on detection of usb connection events for devices defined in the usb.usermap file as requiring the usb module usbcam. It is run as root and is used to grant permisions to users requiring access to hotplugged USB devices.

cp /usr/local/share/doc/libgphoto2/linux-hotplug/usbcam.group /etc/hotplug/usbcam
chmod 755 /etc/hotplug/usbcam
groupadd camera

Then add your list of 'allowed' users to the camera group in the /etc/group file.


The file contains the mappings of device id codes to the above usb module 'usbcam'. Thus it requires entries which map the 300D to the usbcam script. The print-usb-usermap utility from the libgphoto2 package prints, in usb.usermap format, the complete list of digital cameras it currently understands. So to create a tailored usb.usermap file: -

/usr/local/lib/libgphoto2/print-usb-usermap > tmap
egrep -e '(300D|Digital Rebel|Kiss Digital)' -a1 tmap >> /etc/hotplug/usb.usermap

If, like me, you have access to more than one digital camera repeat the egrep step with the appropriate expressions for your cameras until all are defined. E.g. I also have access to an HP photosmart 812: -

egrep -e 'PhotoSmart 812' -a1 tmap >> /etc/hotplug/usb.usermap

Don't forget to include the relevant drivers in the 'with-drivers' option of the libgphoto2 build.

When hotplug is correctly configured, connecting the 300D, should result in an entry below /proc/bus/usb/ being group owned by camera.E.g.

#ls -l /proc/bus/usb/002
total 0
-rw-r--r--    1 root     root           43 2004-01-14 08:06 001
-rwxrw----    1 root     camera         43 2004-01-14 10:52 002

Thus the 300D is currently detected and attached to /proc/bus/usb/002/002 with read-write group permissions to the group camera. /proc/bus/usb/002/002 is the 2nd usb port, device 2. Disconnecting and re-connecting the 300D will, invariably, increment the device number e.g /proc/bus/usb/002/003


There seems to exist a firmware (upto and including version 1.1.1 from powershot) bug with the 300D which, when in the PTP communications mode, prevents the listing/downloading of pictures the camera holds. This applies to Windows XP aswell ! (I wasted so much time assuming this was a linux-usb, hotplug or gphoto2 problem ! That'll teach me !) The workarounds are either:

follow the suggestions described in the appropriate gphoto2 bug report , or to use the 'Normal' mode of communication (See page 30 of the instruction manual). Front-ends

Various front-ends to gphoto2 exist for those who do not like CLIs. The list below is not in the slightest complete, it is the ones I have to hand and confirmed that the basic functionality (connect, download) works.

digikam - Select 'setup' - 'preferences' and add 'Canon EOS 300D (normal mode)'. This is now my preferred method of downloading and grouping my photos. konqueror - once digikam is setup, then the URL camera:/ will show the list of configured cameras. gtkam - Select 'camera' - 'Add camera' and add 'Canon EOS 300D (normal mode)'

| improve this answer | |

As per your requirement my software to go would be Rapid Photo Downloader. This piece of software is doing exactly this, downloading photos from camera to box.

  • Runs on Ubuntu and its derivatives, Fedora, Debian, Arch and other Linux distributions.
  • Beside downloading photos it can be set up to immediately back up photos too.
  • It is configurable in sense of renaming and download locations and its fast, actually quite fast.

So far I never encountered any issue and used it for something like 50 +k photos

For information about features check here. To install you will need to add PPA or simply use this CLI commands:

sudo add-apt-repository ppa:dlynch3
sudo apt-get update
sudo apt-get install rapid-photo-downloader
| improve this answer | |
  • Thank you for the recommendation, unfortunately my camera is not accessible in either normal or PTP mode. – Eeji May 3 '14 at 20:50
  • Are you getting any d-bus error or something? – danijelc May 3 '14 at 21:27
  • nothing at all. It gets found with lsusb and the program sees it, but it won't let me download from the camera – Eeji May 3 '14 at 22:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.