Use Image Capture with an unsupported scanner

Jun 21, '05 08:17:00AM

Contributed by: Sven G

One of my printers is an Epson Stylus Scan 2000 multifunction device, which has never had official Epson OS X drivers. For the printing side, the problem is easily solved, as there are two solutions available: the unofficial SS2000 driver (works in 10.2, 10.3, and 10.4), which is a hack of the Stylus Color 740 driver included with OS X (the printer module of the Stylus Scan 2000 is indeed a SC740), and the Gimp-Print driver included in OS X or downloadbale via that link, which is fairly complete and with full support for the SS2000. Also, the latest Gutenprint -- the new name of Gimp-Print -- works without problems (version 5.0.0b4), optionally with the fast usbtb CUPS backend; they are both available at the gimp-print site.

But what about the scanner module of the SS2000? One could always use VueScan, which indeed works -- but personally, I wanted a free solution, more integrated into OS X through the included Image Capture program. The first problem is that Image Capture only supports a limited number of newer Epson scanners natively, and of course not the SS2000. So, yet another time, open source software comes to the rescue, with Mattias Ellert's excellent OS X port of the TWAIN SANE (Scanner Access Now Easy) Interface.

So, here are the steps I followed to make the Stylus Scan 2000 work with Image Capture, and with TWAIN in general (the steps to follow for other unsupported scanners are similar, of course):

  1. Download and install the required TWAIN SANE packages, being sure to choose the right ones for your version of OS X.

  2. Turn on the scanner and test the connection in the Terminal:
    $ sane-find-scanner
    $ scanimage -L
    
    For this to work, /usr/local/bin must be in your path. The first command will return a long series of text strings in the Terminal, listing your USB devices. The second one will list your scanner(s) detected thorugh the libusb interface. Now, my problem was that the SS2000 didn't appear with the scanimage - L command, and so was unusable. It was also unsupported with SANE, so, what to do?

    I discovered that one could use the SANE preference pane to edit the epson.conf file located in /usr/local/etc/sane.d (or the similar file that applies to your scanner back-end; the editing can also be done manually with a text editor, of course). So...

  3. Edit the epson.conf file through the SANE preference pane (click the "Configure" button of the appropriate back-end), adding the scanner's product ID and device ID in a new line at the end, after the last libusb comments:
    usb 0x04b8 0x0105
    The product ID and device ID are 0x04b8 (Epson) and 0x0105 (the Stylus Scan 2000), which can also be obtained from the sane-find-scanner command, where they are listed, in this case, as vendor=0x04b8 [EPSON] and product=0x0105 [Stylus Scan 2000].

  4. Repeat the scanimage -L command in the Terminal, and now you will see the previously undetected scanner. For example, the output will be:
    device `epson:libusb:014:007-04b8-0105-ff-ff' is
     a Epson StylusScan2000 flatbed scanner
    The item might be listed repeatedly several times. Thus, finally...

  5. Open Image Capture, and voila -- the scanner works perfectly (at least, in OS X Panther and Tiger), both with the Image Capture interface and with the TWAIN interface. It also works through apps which support TWAIN scannning. For example, it works perfectly with The GIMP 2.2.6.
However, there seem to be some minor USB connection problems, especially after sleep, and so on, which might sometimes make it necessary to turn the scanner off, and then on again. In OS X 10.4.x, there's also a strange bug that often causes Image Capture to crash when using the TWAIN mode, after the scanning is completed, when it tries to open Preview.

All in all, though, everything works quite well, anyway...

Comments (9)


Mac OS X Hints
http://hints.macworld.com/article.php?story=20050604045428475