Thursday, October 24, 2013

Canon 7D and Linux Mint 15 64-bit (With USB 3.0 ports)

Yay! After over a week of failed attempts, this evening I finally managed to get Linux importing photos off my Canon 7D.

"Grape Flowers" - One of the images I managed to import off

Searching around on the internet, apparently this is a very common problem ([1] [2]) for 64-bit Ubuntu-based systems (12.10 onwards or so) with USB 3.0 ports (USB ports are apparently unaffected).

I managed to get this working by following the instructions here, and using digikam to import.
I can probably get this working with another application as well (e.g. gtkam - I'll try that next time, since digikam doesn't really create directories that well)

Why this works:
Namely, it appears that the culprit is gvfs-gphoto2-volume-monitor  - the "Gnome Virtual File System Photo-Source Automounter" Process. For whatever reason, when a Canon camera is plugged into a USB 3 drive, this thing freaks out and proceeds to:
1) Throw an "Could not mount camera: -1 Unspecified Error" Error
2) Automatically disconnect or at least block the connection from camera to computer, thus preventing anyone else having a crack
3) Spew a plethora of other xhci_hcd errors to syslog

If you then go into gtkam, you'll firstly have to manually try to add your camera, and secondly, you'll when you try to apply these settings to get it to try importing, you're presented with a "PTP I/O Error".

Backup Plans:
I'd just about given up hope of getting this working easily. All the signs were pointing to one of 3 undesirable options:

1) Install camera software from install disc onto Windows 8, and boot into Windows everytime I need to import some photos (after all, the possibility of one of these unsolvable hardware-compatibility problems was one of the reasons I ended up keeping Windows on this machine). Once imported, I can then transfer these over to Linux (and the larger partition) via the automounting magic that works for that. Downside: Inconvenient and clumsy - even if both these OS's boot up relatively quickly, it's still not that nice to have to keep switching up to several times a day at times...

2) Get a card reader. While apparently this is a much faster way to get things in and out, I'm again not that keen on pulling the CF cards out of the camera that often. Besides, knowing myself, there is huge potential for leaving the card in the reader, and not having a usable card left in the camera when I need it!

3) Take up Linux kernel hacking to find out and resolve the root cause of this. Unfortunately, this option would have to take a backseat with everything else I need/want to work on, and the fact that there are an awful lot of different components and modules at play here to know where to start!

1 comment: