logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

sane-find-scanner - find SCSI and USB scanners and their device files

Author

       Oliver Rauch, Henning Meier-Geinitz and others

Bugs

       No support for most parallel port scanners yet.
       Detection of USB chipsets is limited to a few chipsets.

                                                   13 Jul 2008                              sane-find-scanner(1)

Description

sane-find-scanner  is  a  command-line tool to find SCSI and USB scanners and determine their UNIX device
       files. Its primary aim is to make sure that scanners can be detected by SANE backends.

       For SCSI scanners, it checks the default generic SCSI device files  (e.g.,  /dev/sg0)  and  /dev/scanner.
       The  test  is  done  by  sending  a  SCSI  inquiry  command and looking for a device type of "scanner" or
       "processor" (some old HP scanners seem to send "processor"). So  sane-find-scanner  will  find  any  SCSI
       scanner connected to those default device files even if it isn't supported by any SANE backend.

       For  USB  scanners, first the USB kernel scanner device files (e.g.  /dev/usb/scanner0, /dev/usb/scanner,
       and /dev/usbscanner) are tested. The files are opened and the vendor and device ids  are  determined,  if
       the  operating  system  supports this feature. Currently USB scanners are only found this way if they are
       supported by the Linux scanner module or the  FreeBSD  or  OpenBSD  uscanner  driver.  After  that  test,
       sane-find-scanner  tries to scan for USB devices found by the USB library libusb (if available). There is
       no special USB class for scanners, so the heuristics used to distinguish scanners from other USB  devices
       is  not  perfect.   sane-find-scanner also tries to find out the type of USB chip used in the scanner. If
       detected, it will be printed after the vendor and product ids.   sane-find-scanner  will  even  find  USB
       scanners, that are not supported by any SANE backend.

       sane-find-scanner  won't  find  most  parallel port scanners, or scanners connected to proprietary ports.
       Some parallelport scanners may be detected by sane-find-scanner-p.  At the time of writing  this  will
       only detect Mustek parallel port scanners.

Example

sane-find-scanner-v
       Check all SCSI and USB devices for available scanners and print a line for every device file.

       sane-find-scanner/dev/scanner
       Look for a (SCSI) scanner only at /dev/scanner and print the result.

       sane-find-scanner-p
       Probe for parallel port scanners.

Name

       sane-find-scanner - find SCSI and USB scanners and their device files

Options

-?,-h,--help
               Prints a short usage message.

       -v      Verbose  output. If used once, sane-find-scanner shows every device name and the test result.  If
               used twice, SCSI inquiry information and the USB device descriptors are also printed.

       -q      Be quiet. Print only the devices, no comments.

       -p      Probe parallel port scanners.

       -f      Force  opening  all  explicitly  given  devices  as  SCSI  and  USB  devices.  That's  useful  if
               sane-find-scanner is wrong in determining the device type.

       -Ffilename
               filename  is  a file that contains USB descriptors in the format of /proc/bus/usb/devices as used
               by Linux.  sane-find-scanner tries to identify the chipset(s) of all USB scanners found in such a
               file. This option is useful for developers  when  the  output  of  cat/proc/bus/usb/devices  is
               available but the scanner itself isn't.

       devname Test device file "devname". No other devices are checked if devname is given.

See Also

sane(7), sane-scsi(5), sane-usb(5), scanimage(1), xscanimage(1), xsane(1), sane-"backendname"(5)

Supported Platforms

       USB  support  is  limited  to  Linux (kernel, libusb), FreeBSD (kernel, libusb), NetBSD (libusb), OpenBSD
       (kernel, libusb). Detecting the vendor and device ids only works with Linux or libusb.

       SCSI support is available on Irix, EMX, Linux, Next, AIX, Solaris, FreeBSD, NetBSD, OpenBSD, and HP-UX.

Synopsis

sane-find-scanner [-?|-h|--help] [-v] [-q] [-p] [-f] [-Ffilename] [devname]

See Also