Hi,

On 2021-11-20 2:56 p.m., LUH LAH wrote:
Hello there!

It's been over a month since I last inquired about this, but I have an
update and need some more guidance.

I installed Windows 7 on another computer I had and captured packets
from when I pressed the 'Scan' button in the CanoScan tool.

Now that I've got the packets captured in a .pcapng file
(https://drive.google.com/file/d/1E0zErjd0PB3Ggmeop6iI43Gi0SCZ8K9m/view?usp=sharing),
how do I analyze the packets and figure out the USB chip model?

Thanks,

-[K] IMSOASIAN


(This is a continuation of a previous thread. Said thread can be found
here: 
https://alioth-lists.debian.net/pipermail/sane-devel/2021-October/thread.html
[Look for a thread mentioning a Canon 4200F by LUH LAH])

This is a difficult question to answer simply.

The first step would be to determine if the protocol is supported by an existing backend. Unfortunately, we do not have much documentation about the protocols that are currently supported with which to compare. We usually get hints based on the chippery found inside. For this machine, it sounds like it is just a standard set of components that doesn't give us much of a clue.

It might be that since this is a Canon scanner, then it might borrow some heritage from one of their other models from the time that are not using one of the standard scanner all-in-one chips.

Failing that, if you want to start to look at writing a backend for this scanner from scratch, you need to look in the USB conversation for the various parts of the scanning process and the conversation would typically follow the following sequence:

1) Reset: some sequences to get the scanner into a known state. It might start with a sequence intended to get the scanner's attention. 2) Setting of parameters followed by calibration operations. Generally includes scans of a black and white area under the case to get the proper balance for each scan head pixel, since there is typically variation between them so correction is required. If the scanner is doing this, the you will notice the scan head make some short passes before the actual scan. 3) Scan proper: setting up of motor acceleration table, setting parameters for the scan head etc and the proceeding with the scan itself. This phase will be *very* obvious looking at the trace as there will be large blocks of data being transferred to the PC.
4) Instructions to bring the scanning head back to the parking position.

I would start with trying to split the trace into those rough sections.
One initial thing you can try is to extract the bytes from the trace during the scanning phase, assemble them into a file and try to view them as a graphic to figure out the format. Dropping the bytes into a PNM format file is handy and then you can experiment with the header parameters to get an image that looks correct.

Cheers,
Ralph

Reply via email to