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

Stéphane Blondon stephane.blondon at gmail.com
Mon Apr 5 22:55:47 UTC 2010

2010/4/1 m. allan noah <kitno455 at gmail.com>:
> It is difficult to know which scanner commands are vital to proper
> operation, without trying :)

I have sniffed, taken notes, read, think ...and it's not finished
because there are lot of mysterious data.

Stuff that I understand/assume about the protocol (more or less obvious):
- all the command sended start by "1e xx".
- the answer to a command can be data or "06" (which means "ok").
- "1b 03" is used to start a new sequence. The answer is "18 81" when
the scanner is ready. If not ready, the scanner sends "58 81". This
allows the driver to loop until the scanner is ready.
- some command seems to be used for several things. wtf?!
- some same data are sended to the scanner and by the scanner in
another step. Perhaps it's to check the data transfer (see note 1)?
- the same start sequence is used to make a preview and to scan.
- command used to call to set up the resolution is "1e 8d".
Set up for 50dpi: "03"
Set up for 600dpi: "02"
Set up for 12800dpi: "00"
- the preview scans at 50dpi, which seems to be logical because it's
the lower resolution according the Epson scanner software under
Windows (see note 2).
- the picture data are splitted in block. (too big?) The block ends by
the same sequence for every block. The sequence is different between
preview and each resolution of final scan (see note 3).

Of course, there are perhaps misunderstandings in the previous list.

1: however, it would be strange because several data was transfered
(firmware for example). So there is high probability I made an error
about it.
2: the available resolutions in Epson scan are 50, 72, 96, 150, 200,
240, 266, 300, 350, 360, 400, 600, 720, 800, 1200, 2400, 3200, 4800,
6400, 9600 and 12800dpi.
3: tested only with preview and scan at 50, 600 et 12800dpi.

Mysterious data/behaviour:
- send data several time
- or data starting from 0 to ff (and variants)
- or command used to send the same data ("1e 92" and "1e 31" for example)
- ...

to continue..


More information about the sane-devel mailing list