Chapter 3. Frequently Asked Questions (FAQ)

3.1. Questions about camera support
3.1.1. Is my camera supported?
3.1.2. Is my webcam supported by libgphoto2 ? How can I use it ?
3.2. Generic libgphoto2 FAQs (frontend-independent)
3.2.1. What can I do about the error message "Could not find USB device"?
3.2.2. Why do I get the error message "Could not claim the USB device"?
3.2.3. Why do I get the error message "Could not lock the device"?
3.2.4. gphoto2 does not find my camera. What shall I do?
3.2.5. I just downloaded the libgphoto2-2.1.1 distribution off sourceforge and it builds "libgphoto2.so.2.0.3". Has anyone else reported this?
3.2.6. I run Linux 2.4.x and I can't get USB to work at all. I keep getting this error message in the syslog:
3.3. Questions about specific cameras
3.3.1. I have a special problem with CameraXYZ. Where can I find information about it?
3.3.2. I have a Kodak EasyShare™ camera, and gphoto2 can't detect it. What shall I do ?
3.3.3. Why does my Canon PowerShot G1/G2/Pro 90 IS not work with gphoto2 when using the AC adapter?
3.3.4. The PTP driver crashes on my Linux 2.4.18 system. What should I do?
3.3.5. I've got a serial camera, but gphoto2 doesn't work on SuSE 7.0 (or greater). You told me that my camera is supported! Fix it!
3.4. Questions about administrativa
3.4.1. I wanna have CVS/SVN write access. How do I get one?
3.4.2. You took away my SVN/CVS write access! What did I do wrong?
3.5. Miscellanous Questions
3.5.1. What's the best way to rotate downloaded JPEG images without losses?
3.5.2. Dudes, Windows is the way to go. How do I compile gphoto2 for that environment?
3.6. Installation FAQs
3.6.1. I've just compiled and installed a new version of gphoto2, libgphoto2, gtkam, etc. and now I just get a “relocation error” complaining about “undefined symbol: gp_library_version”
3.6.2. gphoto2 does not work, the driver reports some error messages. What shall I do?
3.6.3. I want to use GNU stow, but that fails.
3.6.4. I just sucessfully compiled and installed libgphoto2-2.2.1. But when configuring gphoto2-2.1.1 I get Library requirements (libgphoto2 >= 2.1.1) not met

3.1. Questions about camera support

3.1.1. Is my camera supported?
3.1.2. Is my webcam supported by libgphoto2 ? How can I use it ?

3.1.1.

Is my camera supported?

Possible answers:

yes
Very nice. Have fun!
not yet
Not so good. You'll have to write your own driver or modify an existing one. You should contact the developers at to coordinate your efforts with others who may already working it.
no, but it is listed as PictBridge(tm) or PTP compatible

Then the camera will likely work without changes to the sourcecode.

gphoto2 --auto-detect will detect it as USB PTP Class camera and it will work (depending on permissions problems perhaps only as root user).

not any more
There have been few drivers in gphoto 0.x.x which haven't been ported to libgphoto2 because there was no one to test them. But now that you have entered the stage, you can either port the driver yourself or ask whether a developers wants to do it. In either case, please coordinate your efforts with the rest of the world at .
no (and will never be)
We will not support cameras in USB mass storage mode. Your operating system already has drivers for these. Just use the cameras like you would use a USB disk drive or USB flash disk. See the USB Digital Camera HOWTO and the digicam web site.

Check http://www.teaser.fr/~hfiguiere/linux/digicam.html for general information about digicam support under Linux, BSD, and others.

Check http://gphoto.org/proj/libgphoto2/support.php for camera support in the latest libgphoto2 release.

3.1.2.

Is my webcam supported by libgphoto2 ? How can I use it ?

libgphoto2 is not meant in any way to use webcams. It only works with still image cameras, and is designed to fetch images out of the internal storage of these cameras. It also eventually can be used to remote control the camera to take pictures, it the camera has support for it and if the driver can do it. But not at all libgphoto2 has been designed to be tool to operate webcams nor do we support these devices. There are other solutions for that. Try searching Google.

3.2. Generic libgphoto2 FAQs (frontend-independent)

3.2.1. What can I do about the error message "Could not find USB device"?
3.2.2. Why do I get the error message "Could not claim the USB device"?
3.2.3. Why do I get the error message "Could not lock the device"?
3.2.4. gphoto2 does not find my camera. What shall I do?
3.2.5. I just downloaded the libgphoto2-2.1.1 distribution off sourceforge and it builds "libgphoto2.so.2.0.3". Has anyone else reported this?
3.2.6. I run Linux 2.4.x and I can't get USB to work at all. I keep getting this error message in the syslog:

3.2.1.

What can I do about the error message "Could not find USB device"?

The exact error message looks like

	      Could not find USB device (vendor 0x0000, product 0x0000). Make
	      sure this device is connected to the computer
	    

You have to set up the permissions on your USB device correctly. See Section 4.3, “Setting up permissions for USB ports”.

3.2.2.

Why do I get the error message "Could not claim the USB device"?

The exact message looks like

	      *** Error ('Could not claim the USB device') ***

	      Could not claim interface 0 (Operation not permitted). Make sure no
	      other program or kernel module (e.g. dc2xx or stv680) is using the 
	      device and you have read/write access to the device. 
	    

You have to make sure that no such kernel module is loaded and that you have set up the permissions on your USB device correctly, such that you have (non-root) write access to the camera device. How to set this up, is described at Section 4.3, “Setting up permissions for USB ports”.

This can also happen with cameras that works as USB Mass Storage devices. A notable example is if you have an Olympus Camera that gets auto- detected as an Olympus C-2040Z. In this case, you can try, if you run Linux, to remove the usb-storage kernel module and attempt to use libgphoto2 with it. But, unless you want to control the camera (not all the model supports it), it is not a recommended solution. Keeps using USB Mass Storage. Some of these Olympus supports to be switched to "PC Control" mode in order to be remote controlled with an external program like one using libgphoto2.

3.2.3.

Why do I get the error message "Could not lock the device"?

The exact message looks like

		*** Error ***
		An error occurred in the io-library ('Could not lock the device'): Camera is
		already in use.

		*** Error (-60: 'Could not lock the device') ***
	    

This means another process on the system is using the camera already. Cameras supported by libgphoto2 can be accessed by file managers like Nautilus or Dolphin via their virtual file filesystem and their technology opens the cameras as soon as they are plugged in.

One major system in use is the GNOME virtual filesystem gvfs. To detect if this is the case, you can run gvfs-mount -l. If this reports GPhoto device, your camera is likely blocked by it. In that case you can try using gvfs-mount -s gphoto2 to umount the virtual filesystem and replugin the camera. Verify with gvfs-mount -l if it is really unmounted.

On MacOS X the built-in PTP camera tool might block libgphoto2 usage. It is a process called PTPCamera which can be found using the UNIX ps command and killed with the UNIX kill command.

If this does not help, and you still get "Could not claim the device" errors, try this user supplied tool https://github.com/mejedi/mac-gphoto-enabler which does slightly more intrusive changes to MacOS to avoid it grabbing the camera.

3.2.4.

gphoto2 does not find my camera. What shall I do?

First check that your camera is supported.

Then try to run gphoto2 --list-ports and look whether the ports you want to use are listed there:

  • For serial devices, the port with the appropriate device must be listed
  • For USB devices, you need the "usb:" port in the list. If you don't see it, check whether you compiled gphoto2 with libusb support and that you have mounted the usbfs (or usbdevfs) on /proc/bus/usb (usbfs applies to Linux systems only).

Then try to run gphoto2 --auto-detect and look whether the camera is detected.

If your gphoto2 cannot access the USB device as non-root users, you have to set up hotplugging correctly. See Section 4.3, “Setting up permissions for USB ports” for details.

AND DO NOT RUN gphoto2 AS ROOT. And no other libgphoto2 frontend either.

3.2.5.

I just downloaded the libgphoto2-2.1.1 distribution off sourceforge and it builds "libgphoto2.so.2.0.3". Has anyone else reported this?

Yes, many times. The release number ("2.1.1") and the library version ("2.0.3") are by their respective definitions completely unrelated. As we won't fix a problem which is not there, please stop bugging us with that problem.

3.2.6.

I run Linux 2.4.x and I can't get USB to work at all. I keep getting this error message in the syslog:

	      kernel: usb_control/bulk_msg: timeout
	      kernel: usbdevfs: USBDEVFS_BULK failed dev 3 ep 0x81 len 64 ret -110
	    

How can I make USB work?

No idea. Sometimes it works and sometimes it doesn't. If you know a solution, please let us know.

3.3. Questions about specific cameras

3.3.1. I have a special problem with CameraXYZ. Where can I find information about it?
3.3.2. I have a Kodak EasyShare™ camera, and gphoto2 can't detect it. What shall I do ?
3.3.3. Why does my Canon PowerShot G1/G2/Pro 90 IS not work with gphoto2 when using the AC adapter?
3.3.4. The PTP driver crashes on my Linux 2.4.18 system. What should I do?
3.3.5. I've got a serial camera, but gphoto2 doesn't work on SuSE 7.0 (or greater). You told me that my camera is supported! Fix it!

3.3.1.

I have a special problem with CameraXYZ. Where can I find information about it?

You can look into the README file of your driver driver. It is located in camlibs/driver/ in your source tree. If you do not have a source tree, that is bad luck up to and including release 2.1.1 - we will install the README files in a future release, though.

3.3.2.

I have a Kodak EasyShare™ camera, and gphoto2 can't detect it. What shall I do ?

Just press the button on the dock so that the USB device gets detected by the system and that gphoto2 software can detect it.

3.3.3.

Why does my Canon PowerShot G1/G2/Pro 90 IS not work with gphoto2 when using the AC adapter?

This is a longstanding bug with the G1 and Pro 90 IS, and a relatively new bug with the G2. With the G2, it was introduced with a new camera firmware (G2 1.0.0.0 worked, 1.1.0.0 does not). We haven't fixed this bug yet since none of the active gphoto2 developers owned one of these cameras until recently (i.e. updated his G2's firmware).

Your options are as follows, in descending order of preference:

  • Fix it and send us a patch.
  • Donate a camera (G3 anyone? :-) to one of the active Canon driver developers.
  • Run the camera on battery instead of the AC adapter.

There is some more info regarding this at http://krixor.xy.org/fredrik/gp/canon-g1-ac-problem/. Good luck.

3.3.4.

The PTP driver crashes on my Linux 2.4.18 system. What should I do?

There is a bug in the Linux 2.4.18 USB driver which may result in random crashes of the libgphoto2 PTP driver. Please upgrade to a more recent kernel.

3.3.5.

I've got a serial camera, but gphoto2 doesn't work on SuSE 7.0 (or greater). You told me that my camera is supported! Fix it!

Cool down, Joe, and listen to the wise words of Linda MacPhee-Cobb:

[ If you are not getting a response from a camera plugged into the serial port, check your /var/log/boot.msg file for the following entry near the end: ]

		*This package use the ttyS0 device by default.
		The installation of this package only makes sense
		if you use a braille display.
	      

[ This is from blinx, and you will need to turn it off, or better, uninstall it. ]

3.4. Questions about administrativa

3.4.1. I wanna have CVS/SVN write access. How do I get one?
3.4.2. You took away my SVN/CVS write access! What did I do wrong?

3.4.1.

I wanna have CVS/SVN write access. How do I get one?

We provide SVN write access to persons that show continued interest in a specific part of gphoto2. If there is already a person maintaining this specific part of gphoto2 (i.e. a camera driver), we prefer you submit patches to the maintainer who will then check them in or request modifications.

Note that CVS has been discontinued. We are using Subversion (SVN) since 2006-03-14.

3.4.2.

You took away my SVN/CVS write access! What did I do wrong?

If your name is not listed in libgphoto2/MAINTAINERS, and if we haven't heard from you lately, we assume that you finished your work on gphoto2 and that you don't need write access any longer. If this is not the case, please contact one of the project admins.

Note that CVS has been discontinued. We are using Subversion (SVN) since 2006-03-14.

3.5. Miscellanous Questions

3.5.1. What's the best way to rotate downloaded JPEG images without losses?
3.5.2. Dudes, Windows is the way to go. How do I compile gphoto2 for that environment?

3.5.1.

What's the best way to rotate downloaded JPEG images without losses?

	      alice@host:~$ # If you do not care about preserving EXIF information
	      alice@host:~$ jpegtran -copy all -rotate 90
	      alice@host:~$ 
	      alice@host:~$ # If you want to preserve EXIF information
	      alice@host:~$ jhead -cmd 'jpegtran -rotate 90 -outfile &o &i' my-pic.jpg
	    

You can get the jpegtran from the libjpeg package and jhead from http://www.sentex.net/~mwandel/jhead.

3.5.2.

Dudes, Windows is the way to go. How do I compile gphoto2 for that environment?

We don't have the money to buy Windows and something like Visual C. Therefore, we can't provide you a gphoto2 for Windows. You have two choices (at least):

  • Buy a fast computer, buy Windows and Visual C and some manuals on how to access USB or serial ports on Windows. Send all that including a blank cheque to us (ask for the address on ).
  • Try to figure out how to get gphoto2 working on Windows and send us the patches.

3.6. Installation FAQs

3.6.1. I've just compiled and installed a new version of gphoto2, libgphoto2, gtkam, etc. and now I just get a “relocation error” complaining about “undefined symbol: gp_library_version”
3.6.2. gphoto2 does not work, the driver reports some error messages. What shall I do?
3.6.3. I want to use GNU stow, but that fails.
3.6.4. I just sucessfully compiled and installed libgphoto2-2.2.1. But when configuring gphoto2-2.1.1 I get Library requirements (libgphoto2 >= 2.1.1) not met

3.6.1.

I've just compiled and installed a new version of gphoto2, libgphoto2, gtkam, etc. and now I just get a relocation error complaining about undefined symbol: gp_library_version

You are running your libgphoto2 frontend (gphoto2, gtkam, digikam, etc.) with an old version of libgphoto2, even though you compiled it with a newer libgphoto2! Probably you have an old libgphoto2 in /usr/lib and the newer one in /usr/local/lib.

To solve that problem, go through the following list.

  1. Make sure that you have compiled and installed libgphoto2 2.1.2 or later.
  2. Find out which library files you are using for the gphoto2 command with the ldd `which gphoto2` command.
  3. Set the LD_LIBRARY_PATH to the lib directory into which you installed your new libgphoto2 (e.g. /usr/local/lib).
  4. Make sure that ldd `which gphoto2` now shows the correct library and that gphoto2 --version displays the library version without any errors.
  5. If you want to, you may make the changed library search path permanent.

    Either set LD_LIBRARY_PATH by default in your shell init scripts, or configure your dynamic loader ld.so permanently.

    Important

    Messing up your ld.so configuration may make your system unusable!

    On BSD systems, do not run ldconfig without any parameters. This will make your system unusable!

    Also make sure you don't open a security hole by loading libraries from a location where anybody can write libraries to.

    On GNU/Linux systems, ld.so is configured by adapting /etc/ld.so.conf and running ldconfig.

3.6.2.

gphoto2 does not work, the driver reports some error messages. What shall I do?

First of all make sure, that you have only one instance of gphoto2 and libgphoto2 installed on your system. Unless you know what you're doing you should remove all gphoto2 installation, then you may do (as root):

	      host:~# rm -rf /usr/local/lib/gphoto2* /usr/local/lib/libgphoto2*
	      host:~# rm -rf /usr/lib/gphoto2* /usr/lib/libgphoto2*
	    

Above applies especially if you use both pre-packaged and CVS/SVN versions.

After that, install the newest version of libgphoto2 and gphoto2 and test whether it works now.

3.6.3.

I want to use GNU stow, but that fails.

I don't know what stow is, but have a look at https://sourceforge.net/tracker/index.php?func=detail&aid=553647&group_id=8874&atid=108874" Sourceforge bug #553647 .

3.6.4.

I just sucessfully compiled and installed libgphoto2-2.2.1. But when configuring gphoto2-2.1.1 I get Library requirements (libgphoto2 >= 2.1.1) not met

If you don't have pkg-config installed yet, then please install it.

Otherwise, your PKG_CONFIG_PATH variable doesn't contain the pkgconfig/ directory in the lib/ directory of your libgphoto2 installation.

For a default installation, run

alice@host:~$ PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/local/lib/pkgconfig
alice@host:~$ export PKG_CONFIG_PATH
	      

and now run the gphoto2 ./configure again.