sane-usb.5




NAME

       sane-usb - USB configuration tips for SANE


DESCRIPTION

       This manual page contains tips and tricks on how to access
       scanners with a USB interface.


GENERAL INFO

       Sane-backends currently use three methods of communicating
       with USB scanners:

       - Using libusb (a library for usb access). This is used by
         the sm3600 backend currently.

       - Access through sanei_usb, the SANE USB  interface.  Used
         by  the  mustek_usb,  plustek,  snapscan, umax1220u, and
         coolscan2 backends.

       - Direct access to the USB device files to  access  kernel
         scanner drivers. Used by the epson backend.

       This manual page describes the access of USB scanners over
       the sanei_usb interface. For point one and three  of  this
       list  have  a  look  at  the  backends'  manual  pages for
       details.

       Currently USB access is only tested for Linux, FreeBSD and
       OpenBSD.     For     installation,    also    check    the
       /usr/local/doc/sane-1.0.8/README.platform files.

       For scanners with a USB interface, it may be necessary  to
       edit  the  appropriate  backend  configuration file before
       using SANE for the first time.  For most systems, the con�
       figuration  file  should  list  the name of the USB device
       file that the scanner is connected to (e.g., under  Linux,
       /dev/usb/scanner0   or  /dev/usbscanner0  is  such  a  USB
       device, the device file for FreeBSD is  e.g.   /dev/uscan�
       ner0).   Do  not create a symlink from /dev/scanner to the
       USB device because this link is used by the SCSI backends.
       The  scanner may be confused if it receives SCSI commands.
       For a detailed description of each backend's configuration
       file,  please  refer  to  the relevant backend manual page
       (e.g. sane-mustek_usb for Mustek USB scanners).

       For Linux, there is an alternate way of specifying scanner
       devices.   This  alternate  allows to identify scanners by
       the USB vendor and product numbers.  The syntax for speci�
       fying a scanner in this way is:

              usb VENDOR PRODUCT

       where  VENDOR is the USB vendor id, and PRODUCT is the USB
       product id of the scanner. Both ids are non-negative inte�
       ger  numbers in decimal or hexadecimal format. The correct
       values for these fields can be found  by  looking  at  the
       output  of the command "cat /proc/bus/usb/devices/".  This
       is an example of a config file line:

              usb 0x055f 0x0006

       would have the effect that all USB devices in  the  system
       with a vendor id of 0x55f and a product id of 0x0006 would
       be probed and recognized by the backend. The  same  config
       line in decimal format looks like this:

              usb 0x055f 0x0006

       When  using  a USB scanner, ensure that the access permis�
       sions for the USB device are set appropriately.  We recom�
       mend to add a group "scanner" to /etc/group which contains
       all users that should have access  to  the  scanner.   The
       permission of the device should then be set to allow group
       read and write access.  For example, if the scanner is  at
       USB  device /dev/usb/scanner0, then the following two com�
       mands would set the permission correctly:

              $ chgrp scanner /dev/usb/scanner0
              $ chmod 660 /dev/usb/scanner0


ENVIRONMENT

       SANE_DEBUG_SANEI_USB
              If the library  was  compiled  with  debug  support
              enabled,  this  environment  variable  controls the
              debug level for the USB  I/O  subsystem.   E.g.,  a
              value  of  128  requests  all  debug  output  to be
              printed.  Smaller levels reduce verbosity.


SEE ALSO

       sane(7),   sane-find-scanner(1),    sane-"backendname"(5),
       sane-scsi(5)


AUTHOR

       Henning  Meier-Geinitz.  Some  parts  were copied from the
       sane-scsi manual page.


Man(1) output converted with man2html