sane-hp - SANE backend for HP ScanJet scanners
DESCRIPTION
The sane-hp library implements a SANE (Scanner Access Now
Easy) backend that provides access to HP ScanJet scanners
and OfficeJet multi-function peripherals (MFPs) which sup
port SCL (Scanner Control Language by HP). At present,
the following scanners are known positively to work with
this backend:
Model: Product id: Interface:
---------- ----------- ----------
ScanJet Plus C9195A HP Parallel Inter
face Card
ScanJet IIc C1750A 3226 SCSI
ScanJet IIcx C2500A 3332 SCSI
ScanJet IIp C1790A SCSI
ScanJet 3C C2520A 3503 SCSI
ScanJet 3P C2570A 3406 SCSI
ScanJet 4C C2520A SCSI
ScanJet 4P C1130A 3540 SCSI
ScanJet 4100C C6290A USB
ScanJet 5P C5110A SCSI
ScanJet 5100C C5190A parallel port
ScanJet 5200C C7190A 3846 parallel port/USB
ScanJet 6100C C2520A 3644 SCSI
ScanJet 6200C C6270A 3828 SCSI/USB
ScanJet 6250C C6270A 3828 SCSI/USB
ScanJet 6300C C7670A SCSI/USB
ScanJet 6350C C7670A SCSI/USB
ScanJet 6390C C7670A SCSI/USB
PhotoSmart C5100A R029,R030,R032 SCSI
OfficeJet Pro 1150C PTAL
OfficeJet Pro 1170C/1175C PTAL
OfficeJet R series PTAL
PSC 500 series PTAL
OfficeJet G series PTAL
PSC 700 series PTAL
OfficeJet K series PTAL
OfficeJet V series PTAL
Support for models 5100C/5200C connected to the parallel
port requires the ppSCSI driver available at
http://www.torque.net/parport/ppscsi.html (under develop
ment)
Support for models 5200C/6200C/6250C/6300C/6350C connected
to the USB requires an USB driver available at
http://www.jump.net/~dnelson/linux/usb (under development)
Support for OfficeJet MFPs requires the "HP OfficeJet
Linux driver", available at "http://hpoj.sourceforge.net".
The "PTAL" (peripheral transport abstraction library)
port or USB (using the user-mode "ptal-mlcd" driver pro
vided with hpoj-0.8 or later), or to a LAN with an HP Jet
Direct external print server. Supported parallel-port
JetDirects include the 70X, 170X, 300X, and 500X (with
firmware x.07.xx or later; x.08.xx or later required for
the G and K series). The JetDirect 175X is supported for
USB peripherals.
If you own a ScanJet scanner other than the ones listed
above, please let us know if your model works with this
backend. To do this, send a mail with the relevant infor
mation for your scanner to sane-devel@mostang.com.
DEVICE NAMES
This backend expects device names of the form:
special
Where special is the UNIX path-name for the special device
that corresponds to the scanner. For SCSI scanners the
special device name must be a generic SCSI device or a
symlink to such a device. Under Linux, such a device name
could be /dev/sga or /dev/sg2, for example. For the HP
ScanJet Plus the special device name must be the device
that corresponds to the parallel interface card that was
shipped with the scanner. That is /dev/hpscan A special
driver is required for this card. See ftp://rvs.ctrl-
c.liu.se/pub/wingel/hpscan for details. If the link does
not work, try ftp://sunsite.unc.edu/pub/Linux/ker
nel/patches/scanners.
For OfficeJets connected to a parallel port or USB, the
format of special is
mlc:par:0
or
mlc:usb:0
respectively, substituting if necessary for "0" the suffix
specified when invoking the ptal-mlcd driver.
For OfficeJets connected to an HP JetDirect print server,
the format of special is
hpjd:HOSTNAME_OR_IP_ADDRESS[:PORT_NUMBER]
where
HOSTNAME_OR_IP_ADDRESS
is the hostname or dotted-decimal IP address of the JetDi
rect, and
PORT_NUMBER
is either 1, 2, or 3 to select the port number on a three-
port JetDirect 500X. The default is port 1.
CONFIGURATION
The contents of the hp.conf file is a list of options and
device names that correspond to HP ScanJet scanners.
ignored. See sane-scsi(5) on details of what constitutes a
valid device name.
Options specified infront of the first line that keeps a
device name are defaults for all devices. Options speci
fied below a line that keeps a device name apply just to
the most recently mentioned device.
Supported options are connect-scsi, connect-device, con
nect-ptal and enable-image-buffering.
Option connect-scsi specifies that the scanner is con
nected to the system by SCSI. Input/output is performed
using SCSI-commands. This is the default.
Option connect-device specifies that the scanner is con
nected to the system by a special device. Input/output is
performed by read()/write()-operations on the device. This
option must be used for HP ScanJet Plus and scanners con
nected to the USB. However if the scanner requires an USB
driver that simulates a SCSI device, connect-scsi might be
used.
Option connect-ptal specifies that the scanner uses the
PTAL interface via the libptal shared library. This
option must be used for the OfficeJet MFPs. Support for
OfficeJet MFPs is added to the backend at compile time.
If you get the error message "hp-backend not compiled with
PTAL support", you need to install PTAL (see above) and
rebuild SANE (running configure and make).
Option enable-image-buffering stores the scanned image in
memory before passing it to the frontend. Could be used in
case of forward/backward moving scanner lamp.
A sample configuration file is shown below:
/dev/scanner
# this is a comment
/dev/hpscan
option connect-device
/dev/scanner is typically a symlink to the actual scanner
device.
A sample configuration file for OfficeJets is shown
below:
# SCSI scanner:
/dev/scanner
# Parallel-port-connected MFP:
mlc:par:0
# USB-connected MFP:
mlc:usb:0
option connect-ptal
# JetDirect-connected MFPs:
hpjd:my-jdex.my-domain.com
option connect-ptal
hpjd:my-500x.my-domain.com:3
option connect-ptal
hpjd:10.10.10.35:2
option connect-ptal
FILES
/etc/sane.d/hp.conf
The backend configuration file (see also descrip
tion of SANE_CONFIG_DIR below).
/usr/lib/sane/libsane-hp.a
The static library implementing this backend.
/usr/lib/sane/libsane-hp.so
The shared library implementing this backend (pre
sent on systems that support dynamic loading).
$HOME/.sane/calib-hp:<device>.dat
Calibration data for HP PhotoSmart PhotoScanner
that is retrieved from the scanner after calibra
tion. The data is uploaded to the scanner at start
of the backend if it is in media mode 'print media'
or if the media mode is changed to 'print media'.
ENVIRONMENT
SANE_CONFIG_DIR
This environment variable specifies the list of
directories that may contain the configuration
file. Under UNIX, the directories are separated by
a colon (`:'), under OS/2, they are separated by a
semi-colon (`;'). If this variable is not set, the
configuration file is searched in two default
directories: first, the current working directory
(".") and then in /etc/sane.d. If the value of the
environment variable ends with the directory sepa
rator character, then the default directories are
searched after the explicitly specified directo
ries. For example, setting SANE_CONFIG_DIR to
"/tmp/config:" would result in directories
"tmp/config", ".", and "/etc/sane.d" being searched
(in this order).
SANE_DEBUG_HP
If the library was compiled with debug support
enabled, this environment variable controls the
requests all debug output to be printed. Smaller
levels reduce verbosity.
BUGS
HP PhotoSmart PhotoScanner
In media mode 'slide' and 'negative', scan resolu
tions are rounded to multiple of 300 dpi. The scan
ner does not scale the data correctly on other res
olutions. Some newer models (firmware code R030 and
later) do not support adjustment of contrast/inten
sity level and tone map. The backend will simulate
this by software, but only for gray and 24 bit
color.
Automatic Document Feeder (ADF)
For use of the ADF with xscanimage(1), first place
paper in the ADF and then change option scan source
to 'ADF'. Press 'change document' to load a sheet.
Then press 'scan' to start a scan. Maybe it is
sufficient to press 'scan' without 'change docu
ment' for repeated scans. The use of the preview
window is not recommended when working with the
ADF.
Immediate actions
Some actions in xscanimage(1) (i.e. unload, select
media, calibrate) have an immediate effect on the
scanner without starting a scan. These options can
not be used with scanimage.
Advertised but unsupported commands
Some actions, such as mirror, are advertised by the
OfficeJets but actually have no effect. Contrast
and brightness are simulated by the backend for
these devices. >8-bit scans, which require
xsane(1) anyway, may not work.
OfficeJet ADF issues
The OfficeJet R and G series are capable of scan
ning 8.5"x14" documents in the ADF using a two-pass
scanning method, but this is not currently sup
ported in the backend. The OfficeJet 1175 and R
series refuse to unload an ADF-loaded document
after scanning, and instead display a message on
the front panel prompting the user to remove the
document from the glass and press a button to con
tinue; the OfficeJet G series doesn't have this
problem, however. The OfficeJet G, K, and V series
automatically unload an ADF-loaded document when
the scan channel is closed, particularly after an
idle timeout when connected to an HP JetDirect.
The K and V series feature a "scrollfed" scanner,
where the paper is fed across a stationary scan
head, as opposed to flatbed, where the scanhead
moves across the page. A consequence of this dif
ference is that the document length is not known in
advance; the scan stops when the end of the docu
ment is reached. To perform a scan, you must first
click on "Change document", and then start your
preview or regular scan. If necessary, click on
"Cancel" when the scan stops. If there are more
documents to scan, click on "Change document" again
to advance to the next page and repeat the proce
dure; otherwise, click on "Unload" to completely
unload the page. An alternative for non-preview
scans is to set the page length (option "br-y") to
slightly less than the known page length, for exam
ple, 10.5 inches for an 8.5"x11" page. This will
eliminate the need to cancel the scan, but you
still need to click on "Change document" before
each scan and "Unload" after the last page. Note
that due to the use of the "Change document" and
"Unload" options, you will probably not be able to
use the command-line "scanimage" program with the K
or V series, not even the "-T" or "--test" parame
ters.
TODO
HP PhotoSmart PhotoScanner
PhotoScanners with firmware release R030 and up
have no firmware support for contrast/bright
ness/gamma table. In the current backend this is
simulated by software on 24 bits data. Simulation
on 30 bits should give better results.
Data widths greater than 8 bits
Custom gamma table does not work.
Parallel scanner support
Beside the ScanJet Plus which came with its own
parallel interface card, currently only the HP
ScanJet 5100C/5200C are supported. These scanners
are using an internal parallel-to-SCSI converter
which is supported by the ppSCSI-driver (see
above).
Scrollfed MFP support
A separate backend is planned to properly support
the OfficeJet K and V series, as well as other non-
SCL HP MFPs, such as the OfficeJet 500, 600, 700,
T, and PSC 300 series and the LaserJet 1100A, 1220,
and 3200. Experimental scanning support for these
models is under development; see the HP OfficeJet
for more information.
LaserJet 3100 and 3150
Support for the LaserJet 3100 and 3150 is NOT
planned, because programming information for these
models is not available. However, if you have a
LaserJet 3150 connected to a JetDirect
70X/170X/300X/500X with firmware x.08.xx or later,
you can scan using the JetDirect's embedded web
server.
SEE ALSO
sane(7), sane-scsi(5)
AUTHOR
The sane-hp backend was written by Geoffrey T. Dairiki. HP
PhotoSmart PhotoScanner support by Peter Kirchgessner. HP
OfficeJet support by David Paschal.
Man(1) output converted with
man2html