sane-agfafocus(5)

πŸ“¦
version 1.4.0 Β· 4 versions
, in alpine 3.24, arch rolling, centos-stream 10, debian bookworm, debian trixie, fedora 43, fedora 44, opensuse-leap 16.0, ubuntu jammy, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– sane-agfafocus β€” the AGFA Focus glow-up πŸ’–

okay bestie, welcome to sane-agfafocus(5), the manual for the SANE backend that talks to AGFA Focus flatbed scanners. pull up a chair, grab a snack, we're doing this 🫢


✨ NAME ✨

sane-agfafocus β€” the SANE backend for AGFA Focus flatbed scanners. that's it, that's the name, slay.


🌸 DESCRIPTION 🌸

so the sane-agfafocus library implements a SANE (Scanner Access Now Easy) backend, and it gives you access to AGFA Focus flatbed scanners. no cap.

right now, these are the scanners this backend supports:

  • AGFA Focus GS Scanner (6 bit gray scale) (untested)
  • AGFA Focus Lineart Scanner (lineart) (untested)
  • AGFA Focus II (8 bit gray scale) (untested)
  • AGFA Focus Color (24 bit color 3-pass)
  • AGFA Focus Color Plus (24 bit color 3-pass)
  • Siemens S9036 (8 bit gray scale) (untested)

and the driver itself supports line art, 6bpp and 8bpp gray, and 18bpp and 24bpp color scans. iconic range honestly πŸ’…

if you own a scanner that isn't on that list but does work with this backend, please tell us!! send the scanner's model name, SCSI id, and firmware revision to sane-devel@alioth-lists.debian.net. and if you wanna know how to subscribe to sane-devel, go look at http://www.sane-project.org/mailing-lists.html. we wanna hear from you fr fr πŸ’–

🚨 real talk: all of these scanners are pre-SCSI-2, and they don't even report properly to SCSI Inquiry. you'll usually clock this during SCSI bus scans, where the scanner comes up with literally only garbage as the vendor and model strings. it's giving mystery box 😭

πŸŽ€ DEVICE NAMES πŸŽ€

this backend expects device names that look like this:

special

where special is the path-name for the special device that corresponds to a SCSI scanner. for SCSI scanners, that special device name has to be a generic SCSI device or a symlink pointing at one. on Linux, that could be something like /dev/sga or /dev/sge, for example. see sane-scsi(5) for the details, bestie.


πŸ¦‹ CONFIGURATION πŸ¦‹

the contents of the agfafocus.conf file is a list of device names that correspond to AGFA Focus scanners. empty lines get ignored, and so do lines that start with a hash mark (#). here's a sample config file, look how cute:

/dev/scanner
# this is a comment
/dev/sge

🌈 FILES 🌈

  • /etc/sane.d/agfafocus.conf β€” the backend configuration file (see also the description of SANE_CONFIG_DIR below πŸ‘‡)
  • /usr/lib/libsane-agfafocus.a β€” the static library implementing this backend
  • /usr/lib/libsane-agfafocus.so β€” the shared library implementing this backend (present on systems that support dynamic loading)

⭐ ENVIRONMENT ⭐

  • SANE_CONFIG_DIR β€” this environment variable specifies the list of directories that may contain the configuration file. on NIX systems, the directories are separated by a colon (:), and under OS/2 they're separated by a semi-colon (;). if this variable isn't set, the configuration file gets searched in two default directories: first, the current working directory (".") and then in /etc/sane.d. if the value of the environment variable ends with the directory separator character, then the default directories are searched *after the explicitly specified directories. for example, setting SANE_CONFIG_DIR to "/tmp/config:" would result in directories tmp/config, ., and /etc/sane.d being searched (in this order). noted πŸ“
  • SANE_DEBUG_AGFAFOCUS β€” if the library was compiled with debug support enabled, this environment variable controls the debug level for this backend. e.g., a value of 128 requests all debug output to be printed. smaller levels reduce verbosity. here are the SANE_DEBUG_AGFAFOCUS values:
    • 0 β€” print important errors (printed each time)
    • 1 β€” print errors
    • 2 β€” print sense
    • 3 β€” print warnings
    • 4 β€” print scanner-inquiry
    • 5 β€” print information
    • 6 β€” print less important information
    • 7 β€” print called procedures
    • 8 β€” print reader_process messages
    • 10 β€” print called sane-init-routines
    • 11 β€” print called sane-procedures
    • 12 β€” print sane infos
    • 13 β€” print sane option-control messages

πŸ™ˆ MISSING FUNCTIONALITY πŸ™ˆ

uploading of dither matrices and tonecurves has been implemented, but so far it hasn't proven useful for anything. so for that reason, these options have been disabled. it's giving "we built it and nobody came" πŸ’€


πŸ’€ BUGS πŸ’€

the scanners that don't support disconnect have problems with SCSI timeouts if the SCSI bus gets loaded β€” like, e.g., if you do a kernel build at the same time as scanning. multitasking is not their moment 😭

to see if your scanner supports disconnect, run this in a terminal:

SANE_DEBUG_AGFAFOCUS=128 scanimage -L

and go look for the "disconnect:" line. that's your answer, bestie.


🧚 DEBUG 🧚

if you're having problems with SANE not detecting your scanner, make sure the Artec backend is disabled. somehow, this backend causes at least my scanner to not respond correctly to SCSI inquiry commands. not naming names but πŸ‘€

if you encounter a bug, please set the environment variable SANE_DEBUG_AGFAFOCUS to 128 and try to regenerate the problem. then send me a report with the log attached. we love receipts 🫢

if you encounter a SCSI bus error or trimmed and/or displaced images, please also set the environment variable SANE_DEBUG_SANEI_SCSI to 128 before sending me the report. double receipts.


πŸ”₯ TODO πŸ”₯

more scanners?

the AGFA ACS and ARCUS scanners are similar to the FOCUS scanners. the driver could probably be extended to support these scanners without too many changes. i don't have access to such scanners, and i can't add support for it. however, if you are in possession of such a scanner, i could be helpful in adding support for these scanners πŸ‘‘

the AGFA HORIZON scanners are SCSI-2 scanners, and it would probably be easier to support these scanners in a SCSI-2 compliant backend. different vibe, different backend, iykyk.


πŸ‘‘ SEE ALSO πŸ‘‘


πŸ’œ AUTHOR πŸ’œ

Ingo Schneider and Karl Anders Øygard. legends, honestly.


and that's the whole page, bestie!! this little masterpiece is from 10 Jul 2008 and it belongs to the sane-agfafocus(5) manual, straight out of the SANE Scanner Access Now Easy universe. go forth and scan something iconic πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…πŸ«Ά

πŸ“¦ where this page comes from