sane-epson(5)

πŸ’… sane-epson(5) β€” SANE Scanner Access Now Easy ✨

🌸 NAME 🌸

sane-epson β€” SANE backend for EPSON scanners 🫢

πŸ’– DESCRIPTION πŸ’–

Okay bestie, so the sane-epson library implements a SANE (Scanner Access Now Easy) backend that gives you access to Epson flatbed scanners. Some functions of this backend should be considered beta-quality software! Most functions have been stable for a long time, but of course new development can not and often will not function properly from the very first day. Please report any strange behavior to the maintainer of the backend.

⚠️ Beta-energy warning: some parts are still giving β€œnew code, who dis?” β€” so report weirdness, okay? πŸ’€

At present, the following scanners are known to work with this backend β€” model first, connection type after:

  • GT-5000 β€” SCSI, parallel
  • GT-6000 β€” parallel
  • GT-6500 β€” SCSI (use only the line scsi in epson.conf)
  • ActionScanner II β€” SCSI, parallel
  • GT-7000 β€” SCSI
  • Perfection 636 β€” SCSI
  • Perfection 636U β€” USB
  • Perfection 610 β€” USB
  • Perfection 640 β€” USB
  • Perfection 1200S β€” SCSI
  • Perfection 1200U β€” USB
  • Perfection 1240 β€” USB, SCSI
  • Perfection 1640 β€” USB, SCSI
  • Perfection 1650 β€” USB
  • Perfection 1660 β€” USB
  • Perfection 2400 β€” USB
  • Perfection 2450 β€” USB, IEEE-1394
  • Expression 636 / GT-9500 β€” SCSI
  • Expression 1600 β€” USB, SCSI, IEEE-1394
  • Expression 1680 β€” USB, SCSI, IEEE-1394
  • CX-3200 β€” USB
  • CX-5200 β€” USB
  • and many more. The official list is on the Sane web site. 🌈

For other scanners the software may or may not work. Please send mail to the backend author (khk@khk.net) to report success with scanners not on the list or problems with scanners that are listed. πŸ’Œ


πŸ¦‹ OPTIONS πŸ¦‹

The options the backend supports can either be selected through command line options to programs like scanimage(1) or through GUI elements in programs like xscanimage(1) or xsane(1).

Valid command line options and their syntax can be listed by using:

scanimage --help -d epson

Not all devices support all options. πŸ‘‘

πŸŽ€ Scan Mode πŸŽ€

  • --mode β€” selects the basic mode of operation of the scanner. Valid choices are Binary, Gray and Color. The Binary mode is black and white only, Gray will produce 256 levels of gray or more depending on the scanner and Color means 24 bit color mode or more depending on the scanner. Some scanners will internally use 36 bit color, their external interface however may only support 24 bits. ✨
  • --depth β€” selects the bit depth the scanner is using. This option is only available for scanners that support more than one bit depth. Older scanners will always transfer the image in 8bit mode. Newer scanners allow one to select either 8 bits, 12 or 14 bits per color channel. For a color scan this means an effective color depth of 36 or 42 bits over all three channels. The valid choices depend on the scanner model.
  • --halftoning β€” selects the mode that is used in Binary mode. Valid options are None, Halftone A (Hard Tone), Halftone B (Soft Tone), Halftone C (Net Screen), Dither A (4x4 Bayer), Dither B (4x4 Spiral), Dither C (4x4 Net Screen), Dither D (8x4 Net Screen), Text Enhanced Technology, Download pattern A, and Download pattern B.
  • --dropout β€” selects the so called dropout color. Valid options are None, Red, Green and Blue. The default is None. The dropout color is used for monochrome scanning and selects the color that is not scanned. This can be used to e.g. scan an original with a colored background.
  • --brightness β€” controls the brightness of the scan. Valid options are integer values from -3 to 3. The default is 0. The larger the brightness value, the brighter the image gets. If a user defined table for the gamma correction is selected, the brightness parameter is not available.
  • --sharpness β€” sets the sharpness of the image data. Valid options are integer values from -2 to 2, with -2 meaning Defocus, -1 Defocus slightly, 0 Normal, 1 Sharpen slightly and 2 Sharpen.
  • --gamma-correction β€” controls the scanner's internal gamma correction. Valid options are Default, User defined, High density printing, Low density printing, and High contrast printing.
  • --color-correction β€” controls the scanner's internal color correction function. Valid options are No Correction, Impact-dot printers, Thermal printers, Ink-jet printers and CRT monitors. The default is CRT monitors.
  • --resolution β€” selects the resolution for a scan. Some EPSON scanners will scan in any resolution between the lowest and highest possible value. The list reported by the scanner can be displayed using the --help -d epson parameters to scanimage(1).
  • --mirror β€” controls the way the image is scanned. By reading the image data from right to left the image is mirrored. Valid options are yes and no. The default is no.
  • --speed β€” can improve the scan speed in monochrome mode. Valid options are yes or no, the yes option will speed up the scan if this option is supported.
  • --auto-area-segmentation β€” activates the automatic area segmentation for monochrome scans. The scanner will try to determine which areas are text and which contain images. The image areas will be halftoned, and the text will be improved. Valid options are yes and no. The default is yes.
  • --gamma-table β€” can be used to download a user defined gamma table. The option takes 256 values from the range 0-255. In color mode this option equally affects the red, green, and blue channel.
  • --red-gamma-table β€” can be used to download a user defined gamma table for the red channel. The valid options are the same as for --gamma-table.
  • --green-gamma-table β€” can be used to download a user defined gamma table for the green channel. The valid options are the same as for --gamma-table.
  • --blue-gamma-table β€” can be used to download a user defined gamma table for the blue channel. The valid options are the same as for --gamma-table.
  • --cct-1 --cct-2 --cct-3 ... --cct-9 β€” the color correction coefficients will install color correction coefficients for the user defined color correction. Values are specified as integers in the range -127..127.
  • --preview β€” requests a preview scan. The frontend software automatically selects a low resolution. Valid options are yes and no. The default is no.
  • --preview-speed β€” will increase the scan speed if this is supported by the scanner. Valid options are yes and no, the default is no.
  • -l -t -x -y β€” the geometry options control the scan area: -l sets the top left x coordinate, -t the top left y coordinate, -x selects the width and -y the height of the scan area. All parameters are specified in millimeters.
  • --quick-format β€” lets the user select a scan area with predefined sizes. Valid parameters are CD, A5 portrait, A5 landscape, Letter, A4 and max. The default is max, which selects the largest possible area.
  • --source β€” selects the scan source. Valid options depend on the installed options. The default is Flatbed.
  • --auto-eject β€” will eject a page after scanning from the document feeder.
  • --film-type β€” will select the film type for scans with the transparency unit. This option is only activated if the TPU is selected as scan source. Valid options are Negative Film and Positive Film.
  • --focus-position β€” selects the focus position for all scans. Valid options are Focus 2.5mm above glass and Focus on glass. The focus on the 2.5mm point above the glass is necessary for scans with the transparency unit, so that the scanner can focus on the film if one of the film holders is used. This option is only functional for selected scanners, all other scanners will ignore this option.

🧚 CONFIGURATION FILE 🧚

The configuration file /etc/sane.d/epson.conf specifies the device(s) that the backend will use. Possible connection types are:

  • SCSI β€” This is the default, and if nothing else is specified the backend software will open a given path as SCSI device. More information about valid syntax for SCSI devices can be found in sane-scsi(5). Usually SCSI scanners are configured with a line scsi EPSON in this file. In some cases it may be necessary to only use the string scsi (e.g. for the GT-6500).
  • PIO - Parallel Interface β€” The parallel interface can be configured in two ways: An integer value starting at the beginning of a line will be interpreted as the IO address of the parallel port. To make it clearer that a configured IO address is a parallel port the port address can be preceded by the string PIO. The PIO connection does not use a special device file in the /dev directory. The IO address can be specified in hex mode (prefixed with 0x).
  • USB β€” A device file that is preceded by the string USB is treated as a scanner connected via the Universal Serial Bus. The correct special device file has to be created prior to using it with Sane. See the USB documentation for more information about how to set up the USB subsystem and the required device files.

πŸ“ FILES πŸ“

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

🌸 ENVIRONMENT 🌸

Okay bestie, these are the env vars this backend actually listens to β€” vibe check them before you start poking stuff. ✨

  • SANE_DEBUG_EPSON β€” 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. So yes, 128 is the β€œgive me everything” setting β€” iconic, but also a lot. 😭
  • SANE_DEBUG_EPSON_SCSI β€” If the library was compiled with debug support enabled, this environment variable controls the SCSI related debug level for this backend. Only a value of 2 is supported. That’s it. Two. Not three, not one β€” 2. Periodt. πŸ’…
  • SANE_EPSON_CMD_LVL β€” This allows one to override the function or command level that the backend uses to communicate with the scanner. The function level a scanner supports is determined during the initialization of the device. If the backend does not recognize the function level reported by the scanner it will default to function level B3. Valid function levels are A1, A2, B1, B2, B3, B4, B5, B6, B7, B8, D1 and F5. Use this feature only if you know what you are doing! 🚨
Bestie, that last one is not a casual little toggle. Only touch SANE_EPSON_CMD_LVL if you actually know what you’re doing β€” the man page literally says it with an exclamation mark. πŸ’€

πŸ”Ž SEE ALSO πŸ”Ž

Go read these too, they’re part of the lore:

πŸ› BUGS πŸ›

None :-) At least none are currently known. The backend is serving a flawless little no-known-bugs era, and honestly? We love that for it. πŸ¦‹

🚫 UNSUPPORTED DEVICES 🚫

So here’s the tea: the backend may be used with Epson scanners that are not yet listed under the list of supported devices. A scanner that is not recognized may default to the function level B3, which means that not all functions that the scanner may be capable of are accessible. Not a full slay, but it is what it is. 😭

If the scanner is not even recognized as an Epson scanner this is probably because the device name reported by the scanner is not in the correct format. Please send this information to the backend maintainer (email address is in the AUTHOR section of this man page or in the AUTHORS file of the SANE distribution). That’s literally the move β€” help the maintainer help you. 🫢

Also, big note: the Perfection 600, Perfection 650, Perfection 660, Perfection 1250 and Perfection 1260 are not supported by this backend. Not β€œmaybe later” β€” the man page says not supported. πŸ’€

πŸ‘‘ AUTHOR πŸ‘‘

The package is actively maintained by Karl Heinz Kremer (khk@khk.net). πŸ‘‘ The software is based on work by Christian Bucher and Kazuhiro Sasayama. Respect the lineage, bestie. 🌈


And that’s the whole sane-epson(5) chapter β€” source/version energy is sane-epson(5), dated 11 Jul 2008. Cute little time capsule, fr fr. πŸ’–βœ¨

πŸ“¦ where this page comes from