Hi, Zot. Sorry I didn't reply to your query earlier, but I wasn't ready
to announce this until now.
For the last couple of months I've been hacking the HP SCL backend to support
scanning from several of the HP OfficeJet MFPs (Multi-Function Peripherals).
I now have something to show for it.
The "catch" is that the MFP must be connected to an HP JetDirect external print
server, rather than to the parallel port on your workstation. The reason
for this is that these peripherals require a transport protocol known as
MLC (Multiple Logical Channels) in order to do anything more than printing.
JetDirect supports MLC peripherals, and it also supports network scanning on
certain HP MFPs. As such, it was a lot easier to leverage the MLC support
in JetDirect than it would be to develop it from scratch, and I figured that
this type of support would be better than none at all. :-)
Specifically, the JetDirect external models that support scanning include
the 170X, 300X (firmware H.07.xx or later), and 500X. With my changes, the
HP backend (in theory at least) supports any SCL-based MFP supported by
JetDirect, including the OfficeJet Pro series (1150C, 1170C, 1175C), the
OfficeJet R series (R40, R60, R80), and the PSC 500. (Note that JetDirect
also supports scanning on the LaserJet 1100A, but this device is not SCL-
based; therefore, it still won't be supported by the HP backend.)
I also hacked Peter Kirchgessner's "hpinq" program to be able to perform
SCL inquires from a JetDirect-connected MFP, in addition to SCSI-connected
scanners, which it already supports.
Please visit "http://www.ns.net/~paschal/sane" for more information,
including the source code and hpinq output from various OfficeJet models.
If anybody out there has a JetDirect+OfficeJet combination and would be
willing to help me test this addition, I would greatly appreciate feedback
and bug reports. So far, my testing has been largely limited to the HP
OfficeJet R80 on my x86 Linux box at home. I would also greatly appreciate
feedback from people (such as Peter Kirchgessner) who know a lot more about
the HP backend than I do, and who could hopefully provide constructive
criticism on the way I added this support into the HP backend. In the
course of my work I ran into several issues arising from my attempting to
adapt SANE (which seems to be optimized for high-speed SCSI connections)
to talk to a scanner over a slower, higher-latency TCP/IP connection, where
scan data or SCL responses may trickle in over multiple read() calls. I'm
not entirely satisfied with the way I implemented some things, and I was
hoping to get some ideas from more knowledgeable people.
Also, could somebody kindly give me suggestions on the best way to produce
and apply a patch to the SANE source tree? I tried a recursive diff, as
well as a script that did individual diffs on files I knew were new or
changed, but the patch utility seemed to have trouble "patching" files that
didn't already exist. For now, my "patch" consists of a .tar.gz file
containing the entirety of the new/modified files.
Thanks,
David Paschal
paschal@ns.net
http://www.ns.net/~paschal
-- Source code, list archive, and docs: http://www.mostang.com/sane/ To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com