sane-find-scanner(1) SANE Scanner Access Now Easy sane-find-scanner(1)
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
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 scan-
ner. 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 propri-
etary 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 descrip-
tors 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.
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.
Check all SCSI and USB devices for available scanners and print a line for every device
Look for a (SCSI) scanner only at /dev/scanner and print the result.
Probe for parallel port scanners.
sane(7), sane-scsi(5), sane-usb(5), scanimage(1), xscanimage(1), xsane(1), sane-"backend-
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 vendor and device ids only works with
Linux or libusb.
SCSI support is available on Irix, EMX, Linux, Next, AIX, Solaris, FreeBSD, NetBSD, Open-
BSD, 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(1)