sane-find-scanner Man page

sane-find-scanner SANE Scanner Access Now Easy sane-find-scanner


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


sane-find-scanner [-h|-?] [-v] [-q] [-p] [-f] [-F filename] [devname]


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 “proces‐
sor” (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 scan‐
ners, 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 parallel port scanners may be
detected by sane-find-scanner -p. At the time of writing this will
only detect Mustek parallel port scanners.


-h, -? 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 deter‐
mining the device type.

-F filename
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 out‐
put 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.

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.


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


Oliver Rauch, Henning Meier-Geinitz and others

USB support is limited to Linux (kernel, libusb), FreeBSD (kernel,
libusb), NetBSD (libusb), OpenBSD (kernel, libusb). Detecting the ven‐
dor 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.


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

13 Jul 2008 sane-find-scanner