On Thu, Aug 16, 2012 at 9:05 PM, m. allan noah <kitno455 at gmail.com> wrote:
> Wireshark makes things a little more difficult, because it shows all > the low level USB stuff, that really does not matter to us. So, you > have to learn to ignore every other packet in those logs, and the > first 0x40 bytes of the packets you do care about. > I'm always startled by the overhead and the layers of indirection involved in modern protocols. > I took a brief spin thru your logs, and it appears that the scanner is > unhappy when we send the 0xd6 command, which I call SET_SCAN_MODE. > I tried a simple hack of removing all calls to ssm_do, ssm_buffer and ssm_cmd. I was able to get a scan out of the scanner! However, it came out at 600 DPI. > Then we make a series of small area, low resolution scans in the working > driver, changing one > parameter each time. Then we see how the calls to the 0xe5 command > change. It might be that we never determine what they do, or that they > only do something under the windows driver. > FYI : I have a Linux driver from Canon. It consists of a wrapper around a binary blob. This wrapper appears to talk the sane net protocol with the binary blob. It also uses a SUID root program to talk with the USB device. I've done a first batch of tests with --mode --resolution and --UltrasonicDoubleFeedDetect params. Unfortunately the binary driver seems to ignore -x, -y and complains if I use any --Size except A4. Output, along with my test script is here: http://pied.nu/Sane/canon_dr-20120816-1029.tar.gz -Philip -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20120816/82883f49/attachment.html>