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