Epson PhotoPC 3100z and Linux

This page details getting an Epson PhotoPC 3100Z working with Linux. For software to sync the camera, checkout my Gtk Perl based USB Camera Sync for Linux.

I tried running the latest version of GPhoto, but was not successful in getting the camera to be recognized. After reading over the GPhoto page, I came to realize that the camera was in fact a USB Mass Storage camera, which Gphoto does not support.

Requirements

Notes

  • As root, check to make sure the usb-storage is loaded with the command
    /sbin/lsmod
  • If not, you'll need to load it via
    modprobe usb-storage
  • If that doesn't work, its possible that its already built into the kernel, which I here is faster in some of the newer kernels.
  • Newer version of Red Hat, Debian and SuSE use Hotplug (http://linux-hotplug.sourceforge.net/) to manage USB devices. See the website for details.

Creating a Mount Point for the camera

As long as your kernel has USB mass storage support, you can pretty much hook up the camera, and you'll see it load. After pluging in the camera and turning it on, run the command

cat /proc/bus/usb/devices

and you should see some output of what is connected to your usb ports, but more specifically this:
Epson Output
As you can see in the photo, it's using the usb mass storage driver.

The steps are as follows:

  1. As root, created a directory called /mnt/film with the command
    mkdir /mnt/film
  2. Now, I have a IDE RAID setup that looks like a SCSI disk, I used the command
    mount /dev/sdb1 /mnt/film
    The drive might actually be something different depending on your setup (such as /dev/sda1 is pretty common without existing SCSI devices.), and there's an easy way to find it.
  3. To find the right device, download sg3_utils and install.
  4. With the camera plugged in and running, run the command
    sg_scan -i
    In the output, you'll see something like this:
    sg_scan -i Output
  5. Notice I have the Epson camera at the raw device /dev/sg3. Now run the command
    sg_map
    The ouput will look something like this:
    sg_scan -i Output
  6. Notice that it points my raw device /dev/sg3 to the real scsi device /dev/sdb. But why do I have it as /dev/sdb1 in the mount command? Because the 1 is for the first logical partition on the card. Hence, whatever you're real device, tack on a 1.
  7. With the camera mounted, simply go to the photo directory and check out your photos:
    /mnt/film/dcim/100epson
  8. Now, add the following line to /etc/fstab:
    /dev/sdb1       /mnt/film      vfat      rw,noauto,user 0 0

Testing

  • Tested on Red Hat 9 kernel version 2.4.20-18.9
  • Tested on Red Hat 7.2 kernel version 2.4.7-10