[sane-devel] Canoscan lide100 progress

stef stef.dev at free.fr
Sun Oct 4 19:36:41 UTC 2009

Le samedi 3 octobre 2009 09:52:29 Matt Hirsch, vous avez écrit :
> I thought I'd update the list on my progress on the lide 100, in case
> anyone has any suggestions or comments that might be helpful.
> The gl847 (chip in the lide 100) has a somewhat different protocol than
> the 841, specifically it uses single urb register reads (two urbs are
> usually required in the 841 protocol) and it handles bulk reads/writes a
> little differently. I've modified Pierre's script to parse the UsbSnoop
> output for the lide 100.
> Modified script:
> http://web.media.mit.edu/~mhirsch/lide100/usbsnoop-gl847.pl Original:
> http://pirsoft-dsl-dropzone.de/
> Raw UsbSnoop output for a small scan:
> http://web.media.mit.edu/~mhirsch/lide100/UsbSnoop-3-scan.log.bz2
> parsed output:
> http://web.media.mit.edu/~mhirsch/lide100/gl847-3-scan.out.bz2
> There is no datasheet available for the gl847, but based on the usbsnoop
> log of the communication with the scanner it appears closest to the
> gl846, which is documented here: http://www.datasheetdir.com/GL846+USB
> A driver for this chip seems like it would entail adding a
> backend/genesys_gl847.c and minor modifications to backend/genesys.c
> backend/genesys_low.h backend/genesys_devices.c (new CCD, GPO, and
> probably AFE and motor). Does this sound reasonable? I'm not familiar
> with SANE development at all.
> Thanks very much to Allan for pointers in the right direction.
> Matt


	adding a backend/genesys_gl847.c file to handle this new asic seems also the 
best choice to me. I'd also personally be inclined to add a genesys_low.c that 
would contain low level access to the chips instead of having them in 
genesys.c . This way  genesys.c would only contain high level functions close 
the API level, while other files would be closer to the hardware.

	When do you think you'll have some patch ready to send for testing/review ?


More information about the sane-devel mailing list