Discussion:
[sane-devel] Looking to get my Mustek A3 1200S flatbed Scanner with GL128 chip working with XSANE
George Chriss
2013-05-24 01:09:25 UTC
Permalink
Hello,
I can't find the datasheet for this chip, so I can't really tell
how different it is from already supported genesys chip. But even with
the datasheet, it is not convenient to develop without a test scanner. A
few seconds test can turn in a few hours (even days) long, because of
getting code changes applied remotely, then executed and getting debug
information back. Programming for these scanner involve quite a lot of
trial and error, even if you have the datasheet.
Please see:
http://vasks.debian.org/tracker/?func=detail&atid=410369&aid=314022&group_id=30186

Would root access to a machine connected to the scanner suffice? If not so
much, the logic board (~10 sq. cm) can be readily detached from the
body/scan bar and shipped, if that helps things.

No reply from Mustek on Linux support.

Sincerely,
George
stef
2013-05-27 08:52:11 UTC
Permalink
Post by George Chriss
Hello,
I can't find the datasheet for this chip, so I can't really tell
how different it is from already supported genesys chip. But even with
the datasheet, it is not convenient to develop without a test scanner. A
few seconds test can turn in a few hours (even days) long, because of
getting code changes applied remotely, then executed and getting debug
information back. Programming for these scanner involve quite a lot of
trial and error, even if you have the datasheet.
http://vasks.debian.org/tracker/?func=detail&atid=410369&aid=314022&group_id=30186
Would root access to a machine connected to the scanner suffice? If
not so much, the logic board (~10 sq. cm) can be readily detached from
the body/scan bar and shipped, if that helps things.
No reply from Mustek on Linux support.
Sincerely,
George
Hello,

the pdf is only the product overview, and so is useless for
developing a backend. I just couldn't find the full datasheet on the
various search site I tried, which adds another hurdle.
Having remote access to the scanner isn't enough. When testing,
you have to ear and see how the scanner is behaving. And you often turn
it off and on to reset it to a clean state.

Regards,
Stef
George Chriss
2013-05-28 06:42:21 UTC
Permalink
Post by stef
the pdf is only the product overview, and so is useless for
developing a backend. I just couldn't find the full datasheet on the
various search site I tried, which adds another hurdle.

The GL123 datasheet:
http://www.genesyslogic.com/manage/upfile/12416597081.pdf
Still working on finding the GL128 version but hopefully the GL123 is very
similar.
Post by stef
Having remote access to the scanner isn't enough. When testing, you
have to ear and see how the scanner is behaving. And you often turn it off
and on to reset it to a clean state.

Copy that.

In about a week or so I may be able to set up a live, high-definition
audio/video stream of the scanner, ~6sec end-to-end latency using the GST
cookbook.

For power one of the following may work:

USB Net Power 8800
http://www.aviosys.com/8800.html
http://code.google.com/p/usbnetpower8800/

Power Switch Tail II:
http://www.adafruit.com/products/268


Sincerely,
George
Post by stef
Regards,
Stef
Stef
2013-05-29 04:46:13 UTC
Permalink
Post by stef
Post by stef
the pdf is only the product overview, and so is useless for
developing a backend. I just couldn't find the full datasheet on the
various search site I tried, which adds another hurdle.
http://www.genesyslogic.com/manage/upfile/12416597081.pdf
Still working on finding the GL128 version but hopefully the GL123 is
very similar.
Post by stef
Having remote access to the scanner isn't enough. When testing,
you have to ear and see how the scanner is behaving. And you often
turn it off and on to reset it to a clean state.
Copy that.
In about a week or so I may be able to set up a live, high-definition
audio/video stream of the scanner, ~6sec end-to-end latency using the
GST cookbook.
USB Net Power 8800
http://www.aviosys.com/8800.html
http://code.google.com/p/usbnetpower8800/
http://www.adafruit.com/products/268
Sincerely,
George
Post by stef
Regards,
Stef
Hello,

that would be quite an unusual set up. The product overview for the
GL128 has some differences with the GL123 and GL125. Guessing the usage
of registers will complicate the task.
If the scanner can be switched off remotely to reset it, or to
avoid stressing it when backend doesn't behave correctly, I'll have a
try working on it.

Regards,
Stef
George Chriss
2013-06-06 18:44:44 UTC
Permalink
Post by stef
Having remote access to the scanner isn't enough. When testing, you
have to ear and see how the scanner is behaving. And you often turn it off
and on to reset it to a clean state.
[...]
If the scanner can be switched off remotely to reset it, or to avoid
stressing it when backend doesn't behave correctly, I'll have a try working
on it.

Login instructions for a Trisquel box sent off-list.

The live-stream is located at:
http://76.109.161.133:8000/mustek-a3-2400s.ogv

The green power strip is attached to the scanner and a room lamp, both
controlled by 'sudo /home/dev/usbpower [on|off|status]' via a
USB Net Power 8800 relay. The camera and computer are attached to an
always-on power strip.

The relay, scanner, and a ThinkPenguin TPE-N150USB WiFi adapter are
connected via a 5-port PCIe USB card; no devices are attached directly to
the host USB. The TPE-N150USB has issues with warm-resets [1] ; the host
ports are always-on and hopefully the PCIe card is more robust to do
development work. Reboots should be safe and streaming will resume
automatically.

==

Pipeline used:
gst-launch-0.10 -e rtspsrc location=rtsp://192.168.2.50:554 latency=100 !
queue max-size-bytes=100000000 max-size-time=0 ! rtpjpegdepay ! queue
max-size-bytes=100000000 max-size-time=0 ! videorate force-fps=18 ! queue
max-size-bytes=100000000 max-size-time=0 ! jpegdec ! queue
max-size-bytes=100000000 max-size-time=0 ! videoscale ! video/x-raw-yuv,
width=640, height=363 ! queue max-size-bytes=100000000 max-size-time=0 !
theoraenc bitrate=450 speed-level=1 ! queue max-size-bytes=100000000
max-size-time=0 ! oggmux ! queue max-size-bytes=0 max-size-time=0 !
shout2send ip=localhost port=8000 password=hackme mount=/mustek-a3-2400s.ogv

The ThinkPenguin TPE-N150USB adapter uses libre firmware, located at [2],
with a replacement kernel module from Ubuntu. The adapter is hopefully
stable; this is something of a stress-test.

==

Sincerely,
George

[1] https://github.com/qca/open-ath9k-htc-firmware/issues/1
[2]
http://trisquel.info/fr/forum/fsf-certifies-atheros-based-thinkpenguin-80211-n-usb-adapter#comment-34128
Regards,
Stef
Stef
2013-06-08 06:24:05 UTC
Permalink
Hello,

I am already doing basic tests. What I would need is an usbsnoop
log of a preview done at the lowest available resolution with the
windows driver.

I already have one from another Mustek A3 1200S (provided by Aaron
Silver), so I'd be able to compare both and have a better understanding
of calibration.

Regards,
Stef
George Chriss
2013-06-08 16:19:30 UTC
Permalink
Hi,

New files located in the home directory:

1) mustek_a32400s_winXPSP3_usbcapture.pcapng
Original file from the attachment at:

http://vasks.debian.org/tracker/?func=detail&atid=410369&aid=314022&group_id=30186

2) mustek_a32400s_winXPSP3_100dpi_bw_preview.pcapng
Similar to 1 but with the following sequence: fold down scanner cover,
start USB capture, power on scanner, set image quality to 100DPI / B&W in
the default Windows image acquire dialogue, 'preview', stop capture

3) mustek_a32400s_winXPSP3_greyscale_preview.pcapng
Same as 2 but with greyscale

4) mustek_a32400s_winXPSP3_color_preview.pcapng
Same as 3 but in color / all-default settings. Might be 300DPI.

The scanner bar starts in bright-red coloration (LED illumination?) then
turns on the lamp and begins normal scanning. I've seen the bar turn
bright-red mid-scan to indicate an error condition.

==

Let me know when you need audio for the live-stream. Also, for convenience
I've permitted '~/usbpower' to be executed as non-root via a udev rule
located at '/etc/udev/rules.d/50-usbpower.rules'.


Sincerely,
George
Hello,
I am already doing basic tests. What I would need is an usbsnoop log
of a preview done at the lowest available resolution with the windows
driver.
I already have one from another Mustek A3 1200S (provided by Aaron
Silver), so I'd be able to compare both and have a better understanding of
calibration.
Regards,
Stef
Stef
2013-06-17 19:14:19 UTC
Permalink
Post by George Chriss
Hi,
1) mustek_a32400s_winXPSP3_usbcapture.pcapng
http://vasks.debian.org/tracker/?func=detail&atid=410369&aid=314022&group_id=30186
2) mustek_a32400s_winXPSP3_100dpi_bw_preview.pcapng
Similar to 1 but with the following sequence: fold down scanner cover,
start USB capture, power on scanner, set image quality to 100DPI / B&W
in the default Windows image acquire dialogue, 'preview', stop capture
3) mustek_a32400s_winXPSP3_greyscale_preview.pcapng
Same as 2 but with greyscale
4) mustek_a32400s_winXPSP3_color_preview.pcapng
Same as 3 but in color / all-default settings. Might be 300DPI.
The scanner bar starts in bright-red coloration (LED illumination?)
then turns on the lamp and begins normal scanning. I've seen the bar
turn bright-red mid-scan to indicate an error condition.
==
Let me know when you need audio for the live-stream. Also, for
convenience I've permitted '~/usbpower' to be executed as non-root via
a udev rule located at '/etc/udev/rules.d/50-usbpower.rules'.
Sincerely,
George
Hello,
I am already doing basic tests. What I would need is an
usbsnoop log of a preview done at the lowest available resolution
with the windows driver.
I already have one from another Mustek A3 1200S (provided by
Aaron Silver), so I'd be able to compare both and have a better
understanding of calibration.
Regards,
Stef
Hello,

it took me some time to adapt my decoding scripts from usbsnoop to
pcap format. I am now trying to find how much different it is from the
GL124, which is the closest support chip in genesys backend.

Regards,
Stef
George Chriss
2013-06-17 19:34:39 UTC
Permalink
Post by Stef
it took me some time to adapt my decoding scripts from usbsnoop to
pcap format.

Are there substantial differences (e.g., timing precision) between the
various formats (usbmon, pcap/ng, usbsnoop)? Is there a preferred choice?
Post by Stef
I am now trying to find how much different it is from the GL124, which is
the closest support chip in genesys backend.

No problems keeping the livestream going for at least another month or so.
Also open to the idea of swapping out scanners if there are other
development targets.

+ A write-up on remote development:
http://gchriss.tumblr.com/post/53081576632/remote-development

Sincerely,
George
Post by Stef
Regards,
Stef
Stef
2013-06-26 04:04:20 UTC
Permalink
Post by Stef
it took me some time to adapt my decoding scripts from usbsnoop
to pcap format.
Are there substantial differences (e.g., timing precision) between the
various formats (usbmon, pcap/ng, usbsnoop)? Is there a preferred choice?
Post by Stef
I am now trying to find how much different it is from the GL124,
which is the closest support chip in genesys backend.
No problems keeping the livestream going for at least another month or
so. Also open to the idea of swapping out scanners if there are other
development targets.
http://gchriss.tumblr.com/post/53081576632/remote-development
Sincerely,
George
Post by Stef
Regards,
Stef
Hello,

you need some more logs:
- one at highest hardware CC resolution, full width, but with
minimal height to keep data amount low
- several scan of a small area at different dpi

I'm trying to find if it is difficult to guess the usage of the
registers, since I don't have the datasheet.

Using the same version of wireshark you used is OK now my decoding
scripts are modified.

Regards,
Stef
George Chriss
2013-06-26 21:52:07 UTC
Permalink
New files in the home directory:

6) mustek_a32400s_winXPSP3_100dpi_square.pcapng(.bz2)
7) mustek_a32400s_winXPSP3_150dpi_square.pcapng(.bz2)
8) mustek_a32400s_winXPSP3_300dpi_square.pcapng(.bz2)
9) mustek_a32400s_winXPSP3_600dpi_square.pcapng(.bz2)
10) mustek_a32400s_winXPSP3_1200dpi_square.pcapng(.bz2)
11) mustek_a32400s_winXPSP3_2400dpi_square.pcapng(.bz2)

...the square sizes are only approximately the same size and are imaged
using the top right corner of the scan bed. Each capture file starts a few
seconds after the scanner was powered on.

and,
12) mustek_a32400s_winXPSP3_2400dpi_topslice.pcapng.bz2

2400dpi is the highest optical resolution. This capture is full-width, ~1
cm height.


Sincerely,
George
Post by Stef
Post by Stef
it took me some time to adapt my decoding scripts from usbsnoop to
pcap format.
Are there substantial differences (e.g., timing precision) between the
various formats (usbmon, pcap/ng, usbsnoop)? Is there a preferred choice?
Post by Stef
I am now trying to find how much different it is from the GL124, which
is the closest support chip in genesys backend.
No problems keeping the livestream going for at least another month or
so. Also open to the idea of swapping out scanners if there are other
development targets.
http://gchriss.tumblr.com/post/53081576632/remote-development
Sincerely,
George
Post by Stef
Regards,
Stef
Hello,
- one at highest hardware CC resolution, full width, but with minimal
height to keep data amount low
- several scan of a small area at different dpi
I'm trying to find if it is difficult to guess the usage of the
registers, since I don't have the datasheet.
Using the same version of wireshark you used is OK now my decoding
scripts are modified.
Regards,
Stef
Aaron Silver
2014-01-06 18:32:28 UTC
Permalink
Stef -

As part of my New Year's resolutions I'm trying to get back to my project
of scanning with my Mustek 1200 scanner and in digging back through the
emails I see your work back in June, but wasn't sure if there had been any
progress since the update I'm responding to (included below).

Were you able to finish updating the interface to work with the GL128
chipset, or did Real Life intrude and derail you?

If you could let me know I'd greatly appreciate it.

Thanks,

Aaron Silver
Post by George Chriss
6) mustek_a32400s_winXPSP3_100dpi_square.pcapng(.bz2)
7) mustek_a32400s_winXPSP3_150dpi_square.pcapng(.bz2)
8) mustek_a32400s_winXPSP3_300dpi_square.pcapng(.bz2)
9) mustek_a32400s_winXPSP3_600dpi_square.pcapng(.bz2)
10) mustek_a32400s_winXPSP3_1200dpi_square.pcapng(.bz2)
11) mustek_a32400s_winXPSP3_2400dpi_square.pcapng(.bz2)
...the square sizes are only approximately the same size and are imaged
using the top right corner of the scan bed. Each capture file starts a few
seconds after the scanner was powered on.
and,
12) mustek_a32400s_winXPSP3_2400dpi_topslice.pcapng.bz2
2400dpi is the highest optical resolution. This capture is full-width, ~1
cm height.
Sincerely,
George
Post by Stef
Post by Stef
it took me some time to adapt my decoding scripts from usbsnoop to
pcap format.
Are there substantial differences (e.g., timing precision) between the
various formats (usbmon, pcap/ng, usbsnoop)? Is there a preferred choice?
Post by Stef
I am now trying to find how much different it is from the GL124, which
is the closest support chip in genesys backend.
No problems keeping the livestream going for at least another month or
so. Also open to the idea of swapping out scanners if there are other
development targets.
http://gchriss.tumblr.com/post/53081576632/remote-development
Sincerely,
George
Post by Stef
Regards,
Stef
Hello,
- one at highest hardware CC resolution, full width, but with minimal
height to keep data amount low
- several scan of a small area at different dpi
I'm trying to find if it is difficult to guess the usage of the
registers, since I don't have the datasheet.
Using the same version of wireshark you used is OK now my decoding
scripts are modified.
Regards,
Stef
--
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
Unsubscribe: Send mail with subject "unsubscribe your_password"
Stef
2014-01-06 20:15:03 UTC
Permalink
Post by Aaron Silver
Stef -
As part of my New Year's resolutions I'm trying to get back to my
project of scanning with my Mustek 1200 scanner and in digging back
through the emails I see your work back in June, but wasn't sure if
there had been any progress since the update I'm responding to
(included below).
Were you able to finish updating the interface to work with the GL128
chipset, or did Real Life intrude and derail you?
If you could let me know I'd greatly appreciate it.
Thanks,
Aaron Silver
6) mustek_a32400s_winXPSP3_100dpi_square.pcapng(.bz2)
7) mustek_a32400s_winXPSP3_150dpi_square.pcapng(.bz2)
8) mustek_a32400s_winXPSP3_300dpi_square.pcapng(.bz2)
9) mustek_a32400s_winXPSP3_600dpi_square.pcapng(.bz2)
10) mustek_a32400s_winXPSP3_1200dpi_square.pcapng(.bz2)
11) mustek_a32400s_winXPSP3_2400dpi_square.pcapng(.bz2)
...the square sizes are only approximately the same size and are
imaged using the top right corner of the scan bed. Each capture
file starts a few seconds after the scanner was powered on.
and,
12) mustek_a32400s_winXPSP3_2400dpi_topslice.pcapng.bz2
2400dpi is the highest optical resolution. This capture is
full-width, ~1 cm height.
Sincerely,
George
Post by Stef
it took me some time to adapt my decoding scripts from
usbsnoop to pcap format.
Are there substantial differences (e.g., timing precision)
between the various formats (usbmon, pcap/ng, usbsnoop)? Is
there a preferred choice?
Post by Stef
I am now trying to find how much different it is from the
GL124, which is the closest support chip in genesys backend.
No problems keeping the livestream going for at least another
month or so. Also open to the idea of swapping out scanners
if there are other development targets.
http://gchriss.tumblr.com/post/53081576632/remote-development
Sincerely,
George
Post by Stef
Regards,
Stef
Hello,
- one at highest hardware CC resolution, full width, but
with minimal height to keep data amount low
- several scan of a small area at different dpi
I'm trying to find if it is difficult to guess the usage
of the registers, since I don't have the datasheet.
Using the same version of wireshark you used is OK now my
decoding scripts are modified.
Regards,
Stef
Hello,

in fact I added support for a donated LiDE 80 first. Having the
real device to work on is more practical and fun than remote access.
There is also the fact that G124+ chips datasheet isn't available.
This means more reverse engineering on one side, and the other side, I
didn't make my mind on how to handle this since other chips registers
are known.

Regards,
Stef

Loading...