[sane-devel] ANNOUNCE: GTK Application for troubleshooting SANE problems

Henning Meier-Geinitz henning@meier-geinitz.de
Sat, 14 Jun 2003 15:47:33 +0200


I wanted to do some GTK2 programming and thought a little
troubleshooting tool for sane-backends may help. The idea is to have a
user-friendly tool that gathers all necessary information about the
system and SANE installation and tells the user what might be wrong.

sane-troubleshoot can be found http://www.meier-geinitz.de/sane/sts/

Please test and tell me if something doesn't work. Spelling and other
corrections are also welcome.

For a description, I just append the README.


This is the README of sane-troubleshoot.

* What's the purpose of this program?

It tries to find out what's wrong with your installation of SANE. It checks
for some common mistakes and explains what to do to fix them and where to find
documentation and help. It writes everything it finds out to a logfile.  It's
NOT an installation wizard as it doesn't change any files.

It's intended to be used for scanners, but may also work with other devices
supported by SANE.

Currently it's in early alpha stage and is only tested on Linux/i386.

* How is it used?

Just run ./sane-troubleshoot. You'll need gtk2.0 (http://www.gtk.org). If you
get an error about missing libraries you may need to build from source (see

* How to build

You need gtk-2.0 including the development headers. Just enter "make". There
is no installation target yet.

* What kind of tests does it do?

(+ means: works, - means: planned)

+ Checks if SANE libraries, headers and config files are installed
+ Checks for multiple installations
+ Check, if libsane can be loaded
+ Check for the version of sane-backends
+ Try to open the test backend
+ List all scanners that are found by SANE, if the scanner is found:
  + find out the backend
  + enable debugging
  + try to scan a small image, list all errors
- If the scanner isn't found
  - list known manufacturers, select one
  - list known models, select one
  - If the scanner is known:
    - find out the backend
    - check if it's in dll
    - find out the type of scanner
    - try to get SCSI/USB sane-find-scanner-like output
    - check permissions
  - If the scanner isn't known, warn about not supported
    - check libsub, /proc/bus/usb, /proc/scsi/scsi