[sane-devel] Scanner Mustek ScanExpress A3 USB 1200 PRO

Jan Hauffa jhauffa at gmail.com
Sat Dec 19 15:39:17 GMT 2020


Hi Will,

the ScanExpress A3 is known to use the same controller as the BearPaw 
2448 TA Pro, a chip called SQ113. As you have seen, if you change the 
PID in the mustek_usb2 backend, it is able to communicate with the 
scanner. However, you have to consider that the SQ113 is a quite 
primitive thing: It's basically a microcontroller with a USB interface, 
a tiny amount of on-chip RAM, and firmware in ROM. It has to be paired 
with a number of external components: RAM for caching image data, an ADC 
for digitizing signals from the sensor column, and a stepper motor 
driver. The SQ113 has been used in many different scanners, and I've 
never seen two different models with the same set of external 
components. To make matters worse, the firmware only provides a set of 
very low-level commands, which expose all these HW implementation 
details to the driver writer. It is the driver's responsibility to 
provide motor acceleration tables and such. In consequence, a driver 
written for one specific scanner built around the SQ113 is unlikely to 
work out of the box with another SQ113-based scanner.

If you want to make the mustek_usb2 backend work with your device, 
you'll need to sniff the communication between the Windows driver and 
the scanner, and find out the correct motor tables, ADC parameters, etc. 
This is not trivial - I've tried to do this once, for a different 
scanner, but had to give up due to a lack of free time.

Best regards,
   Jan


Am 18.12.20 um 16:03 schrieb Will via sane-devel:
> Dear all,
> 
> I never really succeed to use this scanner when I purchased it some 
> years ago, but I wanted to give it a last try. Please don't suggest to 
> use it in a windows VM, it brings me out in hives.
> 
> $ lsusb
> Bus 001 Device 027: ID 055f:040b Mustek Systems, Inc. ScanExpress A3 USB 
> 1200 PRO
> 
> It seems different from the Mustek ScanExpress A3 USB (usb 0x055f 
> 0x0210) supported by the gt86xx backend. I suspect it is only USB1.0. I 
> tried to override it with my modelid, created a dir 
> /usr/share/sane/gt86xx, added the firmware a32fw.usb, but it fails when 
> I try scanimage (a32fw.usb, error message : open of device gt68xx 
> [vendor & dev id] failed Invalid argument).
> 
> Then I got another idea, as other posts suggest that my scanner I 
> related to Mustek BearPaw 2448 TA Pro USB. As the mustek_usb2 backend 
> that supports it is beta (since 2008...), there is no config file in 
> /etc/sane.d for it. So I cloned the backends repo, changed the deviceid 
> to mine (0409 -> 040b), recompiled with ./configure 
> BACKENDS="muskted_usb2" and replaced 
> /usr/lib/x86_64-linux-gnu/sane/libsane-mustek_usb2.so.1.0.31 with the 
> recompiled binary.
> 
> When I plug the scanner, scanimage -L detects it as the BearPaw scanner. 
> I just had a black image at output and bad noises (that might break my 
> scanner, so I tried it only once). I guess I don't have the previous 
> error because it is the same chipset (not indicated by sane-find-scanner 
> nor scanimage -L), but all commands to the scanner must be bad as they 
> are different devices.
> 
> My programming skills are far away from programming an extension of such 
> a driver. Is there anyone out there that would be able to do this, or if 
> I should definitively give up on this ?
> 
> $ uname -r
> 
> Linux [hostname] 5.9.0-4-amd64 #1 SMP Debian 5.9.11-1 (2020-11-27) 
> x86_64 GNU/Linux
> 
> Related posts :
> 
> http://sane.10972.n7.nabble.com/Mustek-ScanExpress-A3-USB-1200-PRO-td8044.html 
> 
> 
> https://sane-devel.alioth.debian.narkive.com/I2GUPzAp/mustek-scanexpress-a3-usb-1200-pro 
> 
> 
> Best regards,
> Will
> 
> 
> 





More information about the sane-devel mailing list