7. Troubleshooting
7.1. Help, my scanner cannot be found by scanimage or xsane!
First, don't despair. If you're sure you've done everything correctly up to this point, all the right modules are loaded and all the configuration files tweaked as outlined and you know you're hardware is supported, check your permissions. In order to access scanner hardware you must have read and write access. See Section 3.3 for more info. If this isn't the problem, go to /etc/sane.d/ (or /usr/local/etc/sane.d) and edit the file dll.conf, commenting out any backend or other (i.e. v4l) protocol that you don't need.
If none of the above work, from within the directory containing the SANE configuration files, open the one named after the backend for your particular scanner. There are (among others) two important entries in the file: interface type (scsi vs. usb), and the device name. If you have a usb scanner, you will usually need to comment out (make a # mark in front of) the 'scsi' line, and uncomment the line containing 'usb.' In addition the device name may need to be changed, depending on your distribution (i.e., /dev/usbscanner0 may become /dev/usb/usbscanner0). As you may have noted, there may be several other options available to your scanner in this file depending on the model, so if your scanner doesn't operate as planned, you may want to take a look at this file and the accompanying model-specific documentation if any; see man sane-scsi or sane-usb, or whichever manufacturer made your scanner (including sane-plustek, sane-qcam, sane-ricoh, sane-sharp, sane-snapscan, sane-umax and so on. For a full list try apropos sane. The exact protocols and manufacturers available may depend on your version of SANE.
If none of the above work, see Section 7.5. Also, if you're particularly daring you should check the sane-troubleshoot Homepage, still in an early development stage at the time of this writing.
7.2. Help, I'm not sure my USB hardware is working!
Assuming you have usbdevfs and /proc filesystem support, you should issue the following command: cat /proc/bus/usb/devices. It should give you an output of the USB bus status and the connected devices and troubleshoot your hardware. If your scanner is supported and you can see your hardware you'll know your problem lies elsewhere.
7.3. Help, scanimage or the frontend I am using identifies the wrong device!
First, locate your configuration files, located in one of the usual places: /etc/sane.d or /usr/local/etc/sane.d. In general, if you obtained a precompiled package from your distribution or a binary from the SANE homepage it is in /etc, while if you compiled it from source it is in /usr/local/etc/sane.d. Change (cd) to that particular directory. In Section 2 you were referred to the SANE list of supported and not-yet-supported hardware. There you will find among the charts of individual manufacturers listed the "Backend," or SANE driver for each model in addition to the support status. Within /etc/sane.d or /usr/local/etc/sane.d there are similarly named files for each backend. You should select the file named dll.conf. This will list the backend protocols one by one. Check to be sure your scanner's backend is not commented out (i.e., has a hash mark in front of it). If it is you will need to (as root, and using your editor program) remove the '#.' If you still can't get things to work, see Section 7.5
7.4. Help, I can only access my parallel-port scanner as root!
The SANE driver for your scanner accesses the parallel port directly (via /dev/port). This only works for root for security reasons. See this mini-HOWTO by Till Kamppeter for instructions on how to approach this problem.
7.5. Help, I have an Acme Whizzbang™ or other model scanner and you haven't addressed my particular problem!
Go to the mailing list and irc channel at the SANE website. Check the link for instructions on how to subscribe, etc. Also, you should read the SANE FAQ which has several hardware-specific questions, answers and links to relevant documentation.