[sane-devel] HP Photosmart S20

Evilio del Rio Silvan evilio@vodafone.es
22 Nov 2003 10:33:26 +0100

Content-Type: text/plain
Content-Transfer-Encoding: 7bit


I have started a project to implement a backend for the HP Photosmart
S20xi. HP is very polite but I have got no answer from them when asking
for some kind of support, guidance, API, etc.

You can find the project at SourceForge:


The project is still in the planning phase. No usable code exists yet; I
have just coded some skeleton to the SANE API to test detection, etc.
but it does not operate the scanner.

Any help, hints, advise, USB snoop logs, or any other contribution are
very welcome!

I have found a strange behavior of this scanner: there is no USB traffic
during operation (preview, scan, adjust, etc.).

I have installed an USB snooper (Snoopy Pro) to watch the operation
between the propietary software and the device. Once installed correctly
I first see 6 configuration packets driven by the system software to
configure the device. Then, when I start the acquisition program
--either propietary or third-party, like VueScan--, I still see some USB
traffic: three abort+reset pipes, and many bulk transfers. And then it
quiets and I can see nothing more. However the scan works normally, I
can operate it as if there were no snoop program but not a packet is
sent over the USB bus (apparently). Whenever I restart the software,
there is some more traffic but less than the first time. I have tried
also with a VMWare Windows guest on top of a Linux machine and the same
thing happens: there's no apparent USB activity from/to the scanner.  

I would like to know what is happening. Is the propietary driver
bypassing the USB System software? Is it using another type of access
(DMA, Shared memory)? Do they implement some anti-snoop catch or
something? Have you found this behavior in other USB scanner (or other
devices)? Can anybody with the same scanner confirm that this is a
general characteristic of the S20xi?



Evilio Jose del Rio Silvan evilio@vodafone.es
"... an inordinate fondness for Beetles" - J. B. S. Haldane

Content-Disposition: attachment; filename=hps20.desc
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; name=hps20.desc; charset=ISO-8859-1

; SANE Backend specification file
; It's basically emacs-lisp --- so ";" indicates comment to end of line.
; All syntactic elements are keyword tokens, followed by a string or
;  keyword argument, as specified.
; ":backend" *must* be specified.
; All other information is optional (but what good is the file without it?)=
; See doc/descriptions.txt for details.

:backend "hps20"               ; name of backend
:version "0.0.1"                   ; version of backend
:status :alpha                    ; :alpha, :beta, :stable
:new :yes                         ; Is the backend new to this SANE release=
                                  ; :yes or :no
:manpage "sane-hps20"          ; name of manpage (if it exists)
:url "http://www.sourceforge.net/projects/hps20/" ; backend's web page

:devicetype :scanner              ; start of a list of devices....

:mfg "Hewlett Packard"      ; name a manufacturer
:url "http://www.hp.com/"   ; manufacturer's URL

:model "Photosmart S20xi (C5101A)"; name models for above-specified mfg.
:status :alpha                    ; :alpha, :beta, :stable, :untested,=20
                                  ; or :unsupported
:interface "USB"                  ; interface type of the device:
                                  ; "SCSI", "USB", "Parport (EPP)",
                                  ; "Parport (SPP)", "Parport (ECP)",
                                  ; "Serial port" or "Proprietary".
:comment "There is still no functionality in this backend. It's still in
planning stage."