sane-rts8891(5)

πŸ’… sane-rts8891 β€” the SANE backend for rts8891-based scanners

okay so before we even get into it: this is a section 5 manpage, bestie, and it's called sane-rts8891. Like, that's the whole vibe. it lives in the SAN(E) Scanner Access Now Easy corner of the universe and it's about to tell you everything about the rts8891 backend. grab a snack πŸ“


✨ NAME ✨

sane-rts8891 β€” the SANE backend for scanners built on the rts8891 chipset πŸ”₯


πŸ¦‹ DESCRIPTION πŸ¦‹

so, the sane-rts8891 library implements a SANE backend β€” and SANE literally stands for Scanner Access Now Easy, which, periodt β€” that gives you access to scanners based on the rts8891 ASIC. yes, ASIC. that's the little brain inside. 🧚

the scanners that actually work with this backend are these icons right here:

  • Umax Astra 4400 β€” status: untested
  • Umax Astra 4450 β€” status: untested
  • HP scanjet 4000c β€” status: good
  • HP scanjet 4470c β€” status: good

(it's giving "two slay, two question mark" but we move 😭)

the options the backend supports can either be picked through command line options on programs like scanimage(1), or through GUI elements in xscanimage(1) or xsane(1). so, your call, bestie β€” terminal gremlin era or clicky era. πŸŽ€

if you notice any strange behavior, please report it to the backend maintainer or to the SANE mailing list. genuinely β€” they want to know. ngl, this is the most helpful thing you can do. 🫢

you can list all the valid command line options and their syntax by running:

scanimage --help -d rts8891

🌸 Scan Mode Options 🌸

  • --mode β€” selects the basic mode of operation of the scanner. valid choices are Color, Gray and Lineart. the default mode is Color. the Lineart mode is for black and white only (1 bit). Gray will produce 256 levels of gray (8 bits). Color mode allows for over 16 million different colors produced from 24 bits of color information. so yeah, that's not a typo, that's sixteen MILLION colors, okay πŸ‘‘
  • --resolution β€” selects the resolution for a scan. the horizontal and vertical resolutions are set by the value of this option. the scanner is capable of the following resolutions for the specified option value:
    • value 75 β†’ hor. resolution 75dpi, vert. resolution 75dpi
    • value 150 β†’ hor. resolution 150dpi, vert. resolution 150dpi
    • value 300 β†’ hor. resolution 300dpi, vert. resolution 300dpi
    • value 600 β†’ hor. resolution 600dpi, vert. resolution 600dpi
    • value 1200 β†’ hor. resolution 1200dpi, vert. resolution 1200dpi
  • --preview β€” requests a preview scan. the resolution used for that scan is 75 dpi and the scan area and the scan mode are as specified through their options, or the default if not specified. the default value for preview mode is "no". little sneak peek energy πŸ‘€
  • --threshold β€” selects the minimum-brightness to get a white point. the threshold is only used with Lineart mode scans. it is specified as a percentage in the range 0..100% (in steps of 1). the default value of the threshold option is 50. it's giving "how white is white, actually" πŸ’€

πŸŽ€ CONFIGURATION FILE πŸŽ€

the configuration file /etc/sane.d/rts8891.conf contains the usb device ids of supported scanners (eg usb 0x043d 0x007c) and scanner configuration options. empty lines and lines starting with a hash mark (#) are ignored. classic. πŸ™ˆ

the options supported are allowsharing, modelnumber.

Option ⭐

  • allowsharing β€” enables or not the sharing of the scanner between multiple frontends at the same time.
  • modelnumber β€” is used to force the reported model by the backend and is only useful in the case of a scanner which NVRAM has been erased. the values are:
    • 0 to report a HP4470c.
    • 1 to report a HP4400c.
    • 2 to report an Astra 4400.
fr fr, modelnumber is the "my NVRAM got wiped and now I don't know who I am" setting. only reach for it in that scenario. 🫢

πŸ’– FILES πŸ’–

  • /usr/lib64/sane/libsane-rts8891.a β€” the static library implementing this backend.
  • /usr/lib64/sane/libsane-rts8891.so β€” the shared library implementing this backend (present on systems that support dynamic loading).

🌈 ENVIRONMENT 🌈

  • SANE_DEBUG_RTS8891, SANE_DEBUG_RTS8891_LOW, SANE_DEBUG_RTS88XX_LIB β€” if the library was compiled with debug support enabled, these environment variables control the debug level for this backend. e.g., a value of 255 requests all debug output to be printed. smaller levels reduce verbosity.
so like... 255 is "tell me EVERYTHING, I want the whole tea" β˜• and smaller numbers are "okay bestie, just the highlights". πŸ¦‹

πŸ’€ LIMITATIONS πŸ’€

  • scanners of the same model exist with different sensors, due to lack of data (ie USB logs) some sensors are better supported than others. at least 75 dpi mode is working for any model.
  • sharing the scanner between several frontends at the same time (allowsharing option) may not work on some USB controllers.
and the big one: XPA is not (yet) supported. it's giving "coming soon (derogatory)". 😭

πŸ™ˆ BUGS πŸ™ˆ

no bugs currently known. (iconic, honestly. we love a clean slate. ✨)


⭐ SEE ALSO ⭐

sane-scsi(5), scanimage(1), xscanimage(1), xsane(1), sane(7)


πŸ‘‘ AUTHOR πŸ‘‘

this backend has been developed by StΓ©phane Voltz.

http://stef.dev.free.fr/sane/rts8891

🧚 CREDITS 🧚

many thanks go to:

  • Laurent Fournier who donated me a HP4470c.
  • Vladimir Sysoev and "TheUnruly Squash" for the time they spent recording USB activity and testing the experimental version on HP4400 models.

and that's the whole page, bestie πŸ’… go forth and scan πŸŽ€

sign-off: this page is from the SANE Scanner Access Now Easy collection, dated 8 Dec 2008, and it's sane-rts8891(5), section 5. ty for coming to my ted talk 🫢✨

πŸ“¦ where this page comes from