[sane-devel] Canon DR-9050C

Philip Gwyn philipgwyn at gmail.com
Tue Aug 21 21:01:05 UTC 2012

On Tue, Aug 21, 2012 at 2:44 PM, m. allan noah <kitno455 at gmail.com> wrote:
> It is quite possible that there is some option in the driver which is
> on by default, which requires high res or high depth scans.
> Particularly automatic deskew or edge detection type things.

It was late at night and I was pretty much out to lunch on that hypothesis.

My patch recognizes a DR-9050C by looking at the s->model_name.  It
then sets s->is_9050C.   There might be a better way to do this
(config file?) and probably a better name for this protocol.

I spent some time wasted time trying to figure out the set resolution,
position, etc block only to realize that it's the same as other DR

I tried to cargo-cult the e5 blocks, but it's not working; I don't
fully grok do_cmd().  Or maybe the e5 blocks are doing something
do_cmd() isn't ready for.

I had to hardcode the list of resolutions for the 9050C, because the
weren't reported properly.

With a patched driver, I can scan in colour, bw and grey scale at
various resolutions.  Duplex scanning works.  I still need to test the
-t, -l, -x, -y params.

However, if the scanner goes into suspend mode, canon_dr no longer
recognises it.  The debug output talks about hitting it with a large
stick.  I have to activate the scanner from the front panel or power
cycle it.  The Canon binary driver manages to see it.

What's more if I interupt a scan with ^C, I have to power cycle the
scanner before doing another scan.  The Canon binary driver also fails
to subsequent scans.

More information about the sane-devel mailing list