[sane-devel] Cannot get hp scanjet 8200 working

Dave Platt dplatt at radagast.org
Tue Nov 22 19:16:41 UTC 2016

>> It seems the avision backend is unmaintained again. You could try
>> upgrading to a more recent version of sane, or one of our git
>> snapshots, that sometimes helps.
>> allan
> I installed the latest git snapshot, the problem persists.
> Where do I go from here?

Hi, David.  I just ran into a similar problem with an HP 8300 I
purchased (used).  I've written up a patch for it (and another for an
additional problem) and I can send them to you this evening.  You will,
unfortunately, have to build the SANE backends from source in order to
use this - as far as I can tell there's no way to work around the
problem without a fix to the Avision backend.

This is apparently a problem which has been reported for several years,
but a fix has never made it into the main SANE source distribution.

The problem is this: the 8200 family can report an inconsistent status
when queried about their "accessories" (the transparency backlight and
the ADF).  If there's no ADF attached, the 8200 and 8300 will report an
"ADF present" flag of 0 (meaning "none present") but also send an ADF
type code of 1 (an "Oodles" ADF).

There's some code in the backend which interprets this as "Oh, there's
actually an ADF there, but it's not working properly and needs to be
reset".  The code makes several attempts to reset the ADF (to get an
ADF-present code of 1) and when it fails, bails out with a "not
supported" error.  That's what you're seeing.

It's possible to just disable the retry loop in the Avision back-end
source code (which is what I did last night).  Once this is done, my
8300 was able to scan... it worked at 300, 600, and 1200 dpi.  Haven't
been able to do a 4800 dpi scan yet (I'm getting an I/O error).

The patch I came up with, adds another override option to the
"avision.conf" file.  If you add a "skip-adf" override, the backend will
accept the "ADF not present" status and will not try to repeatedly
reset the ADF.  It should still be able to use an ADF if one is present
and is reported properly.

The other fix I'm working on has to do with the transparency/slide
backlight.  If you select this (via "-source Transparency") the backend
will scan once.  During subsequent scans, it gets confused as to whether
the lamp is on or not, and just sits there for 90 seconds (I think it'll
still scan after that but it's an annoying wait).  My patch should be
able to adjust the lamp-polling code to recognize the "transparency
backlight lamp is on" status properly.

I'm planning to submit these patches to the SANE master branch once I
test 'em out a bit further.

More information about the sane-devel mailing list