[sane-devel] Scanner panel buttons

m. allan noah anoah@pfeiffer.edu
Tue, 29 Jul 2003 12:03:15 -0400 (EDT)

depends heavily on the scanner model and backend software design. some 
scanners use a usb interrupt pipe to have the host check for button 
presses periodically, sending a proprietary data packet at each request, 
which would need to be reverse engineered.

other scanners use scsi commands over bulk usb pipe, so you have to 
determine the appropriate scsi command and send this to the scanner 
periodically, and interpret the return data in the backend. 

this would require adding a new sane_* function call to the 
sane spec, so that the frontend could ask the backend periodically, or
the backend could set an option descriptor to run the button check, and 
the frontend could flip that option back and forth every couple seconds. 
the backend could set its results from looking at the buttons in some 
other option. this is how i am patching the fujitsu backend to work.


On Tue, 29 Jul 2003, Matthew wrote:

> Is there some documentation regarding the use of the "Scan" and other 
> buttons on the various scanners?  I assume that a standard is not in 
> place so it would be a scanner-specific hack but I'm interested in 
> getting the buttons to work.  I took a long look at the scanner kernel 
> module and I see that there is basically no interface built.  There's a 
> front panel buffer allocated but it's never used except as a 
> placeholder.  So maybe a little info about what the scanner does when a 
> button is pressed before I start sniffing the USB communication?
> Matthew
> _______________________________________________
> Sane-devel mailing list
> Sane-devel@www.mostang.com
> http://www.mostang.com/mailman/listinfo/sane-devel

"so don't tell us it can't be done, putting down what you don't know.
money isn't our god, integrity will free our souls" - Max Cavalera