[sane-devel] open driver for Epson Perfection V100 Photo?

Stéphane Blondon stephane.blondon at gmail.com
Tue Mar 23 23:45:41 UTC 2010


Hello,

I bought an Epson Perfection V100 Photo which works with the epkowa
driver (with gt-s600).

I don't find a recent mail on the mailing-list talking about writing a
free driver. So I plan to (try to) develop it to remove the licence
problem. I never done reverse engineering or wrote driver so the
failure is clearly possible... :-(

I read the libusb documentation
(http://libusb.sourceforge.net/doc/index.html) and just start a very
minimal C code to find the scanner. I have started to read other pages
on the web too, but I think sane team would have advice about good
links too. I found the backend-writing.txt page on sane website.


http://www.sane-project.org/lists/sane-mfgs-cvs.html says that the
scanner is "supported by the epkowa backend plus non-free interpreter"
so I suppose I only need to rewrite the interpreter. The epkowa.desc
is under GPL v2+ (found at /usr/share/iscan/epkowa.desc).

It seems that the scanner has 1 Configuration, 1 interface with 2 endpoints.
- endpoint 0 on address 81h (default control pipe)
- endpoint 1 on address 02h (transfer data pipe)
(I deduce this from the output of `lsusb -v`; perhaps I'm wrong. The
useful output is at the end of this e-mail.)


- I subscribed this mailing list.
- I use Debian testing on x86 (32bits)
Packages used:
libusb-dev 2:0.1.12-14
libsane and sane-utils 1.0.20-14+b1
libsane-extra 1.0.20.3


What do you think about I would like to do? Do you have any tips or
see problems?
Thanks


### lsusb start ###
degtyarov:~ # lsusb -v
Bus 001 Device 002: ID 04b8:012d Seiko Epson Corp. Perfection V10/V100
(GT-S600/F650)
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0        64
  idVendor           0x04b8 Seiko Epson Corp.
  idProduct          0x012d Perfection V10/V100 (GT-S600/F650)
  bcdDevice            1.00
  iManufacturer           1 EPSON
  iProduct                2 EPSON Scanner
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass    255 Vendor Specific Subclass
      bInterfaceProtocol    255 Vendor Specific Protocol
      iInterface              0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             255
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval             255
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
  bDeviceSubClass       255 Vendor Specific Subclass
  bDeviceProtocol       255 Vendor Specific Protocol
  bMaxPacketSize0        64
  bNumConfigurations      1
Device Status:     0x0001
  Self Powered
### lsusb end ###

-- 
Stéphane



More information about the sane-devel mailing list