23

I'm trying to use My Canon 100D as a webcam on Ubuntu 17.10.

Whenever I try to launch:

gphoto2 --capture-movie

I returns this error:

An error occurred in the io-library ('**Could not claim the USB device**'):
Could not claim interface 0 (Device or resource busy). Make sure no other
program (gvfs-gphoto2-volume-monitor) or kernel module (such as sdc2xx, stv680,
spca50x) is using the device and you have read/write access to the device.

The camera is detected by system and I can transfer data from it.

Also lsusb shows this device:

Bus 001 Device 020: ID 04a9:3270 Canon, Inc.

Pretty verbose description, but it is it.

Perhaps I should... Yes, where to start?

BeastOfCaerbannog
  • 12,964
  • 10
  • 49
  • 77
PeterM
  • 684
  • 1
  • 7
  • 22
  • Does your camera have any webcam mode or similar? If not then expect it not to work as you want and just as the typical mass storage device which is how the OS will "see" it and nothing else. –  Jan 09 '18 at 12:06
  • There are [many cameras supported by gphoto2](http://gphoto.org/proj/libgphoto2/support.php). This is really cool, as the quality is superior to typical webcam. – PeterM Jan 09 '18 at 17:43

3 Answers3

23

It turned out that that in fact there was gvfs-gphoto2-volume-monitor process in the background.

Run ps aux | grep gphoto, which might have output like:

peter    25802  2.1  0.1 302504  8736 ?        Ssl  13:10   0:00 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
peter    25814  2.2  0.1 441508 11176 ?        Sl   13:10   0:00 /usr/lib/gvfs/gvfsd-gphoto2 --spawner :1.3 /org/gtk/gvfs/exec_spaw/21
peter    25835  0.0  0.0  22676  1096 pts/0    S+   13:10   0:00 grep --color=auto gphoto

First colums is PID (process id), kill them:

kill -9 25802
kill -9 25814

Now gphoto2 can now connect to camera.

PeterM
  • 684
  • 1
  • 7
  • 22
  • What to do if the "gvfs-gphoto2-volume-monitor" process keeps starting again? DO we have to manually always kill the process? – Zythyr Aug 21 '18 at 17:49
  • That's a good question. I don't know how to remove it from startup. Feel free to ask another question, or improve this answer if You figure out this. – PeterM Aug 21 '18 at 20:40
  • 1
    What is the purpose of "gvfs-gphoto2-volume-monitor"? I assume it is running for a reason, and might provide something useful? – Quigi Jan 18 '21 at 01:39
6

PeterM's answer works in principle. To make it simpler and quicker I propose the following procedure:

First find all processes which are related to gphoto2

pgrep -fla gphoto2
1236 /usr/lib/gvfs/gvfs-gphoto2-volume-monitor
1345 /usr/lib/gvfs/gvfsd-gphoto2 --spawner :1.4 /org/gtk/gvfs/exec_spaw/1

if they are the ones shown above you can safely kill these

pkill -f gphoto2

and happily take pictures

gphoto2 --capture-image-and-download --filename pic0001.jpg
Wolfgang Fahl
  • 595
  • 10
  • 20
1

If your SD card has magic lantern installed, you must remove that SD card for it to work.

rdc
  • 29
  • 4