[sane-devel] mustek_usb2 SQ113 Tevion MD 90070

Jan Hauffa jhauffa at gmail.com
Sun May 27 12:15:09 UTC 2012


Hi Chris,

Am 25.05.12 12:52, schrieb Christian Schmitt:
> I have the following scanner here:
> http://www.sane-project.org/unsupported/tevion-md90070.html
> 
> This one *should* work with mustek_usb2, but it doesn't. It's identical 
> (hardware-wise) with the Microtek S280, apart from the USB Vendor and 
> Product ID.

A year ago, I was in the same situation as you: I had just bought a
Medion MD90093 (USB product ID 0x3025, same as the MD90100), found out
it was using the SQ113 chip, and tried to make it work with the
mustek_usb2 backend. There are two issues with this approach:

1) The SQ113 is a rather primitive chip. As you can see from the
(otherwise mostly useless) data sheet [1], it is basically a USB
interface to a 8031 CPU with some ROM and RAM, which in turn
communicates with a number of external components: SDRAM for buffering
image data, a motor driver, and a CCD sensor. This is convenient for the
manufacturer, as they can just throw together whatever components they
can get cheaply, but highly inconvenient for us, as a driver for a
specific SQ113-based scanner is unlikely to work for another model with
a different set of external components. Even worse, the communication
protocol is mostly determined by the firmware, and so far I've seen
three different firmware variants "in the wild".

2) The mustek_usb2 backend is a mess, it contains lots of dead code and
copy & pasted code with subtle differences between the copies. Also, it
has been written specifically for the "Mustek BearPaw 2448 TA Pro", and
its design does not lend itself to adding support for different motor
drivers, CCDs, etc.

I've done a lot of refactoring on the mustek_usb2 backend, but so far I
have been unable to test it for regressions with an actual BearPaw 2448
TA Pro. Recently I have acquired one of these scanners, but it has a
mechanical defect which I have to fix before I can run any tests.

Furthermore, I've logged some of the USB traffic between the Windows
driver and the MD90093, and attempted to modify the backend accordingly.
Motor movement appears to work, but the CCD parameters are not yet set
correctly.

I've published the code on github [2], it might be useful for you if you
decide to use the mustek_usb2 backend as a base. I'm enthusiastic about
making this scanner work with SANE, but unfortunately I really lack free
time to work on this project. However, feel free to contact me off-list
if you have any questions.

Best regards,
  Jan


[1] http://yc-dz.com/productimages/11477678.pdf
[2] https://github.com/jhauffa/sane-sq113




More information about the sane-devel mailing list