Skip to content

Work in progress

Rough notes — the de-duplication approach here is a stopgap and will be revisited with a proper per-device fingerprint.

One physical scanner, listed under several SANE backends

scanimage -L can show the same physical scanner more than once — once per backend that can reach it. A single network Epson showed up three times:

device `epsonds:net:192.168.0.176'      is a Epson ET-2810 Series ESC/I-2
device `epson2:net:192.168.0.176'       is a Epson PID flatbed scanner
device `airscan:w1:EPSON L3250 Series'  is a WSD EPSON L3250 Series ip=192.168.0.176

The id is backend:transport:address:

backend what it is
epsonds Epson's modern vendor driver (ESC/I-2) over the network
epson2 Epson's legacy vendor driver (older ESC/I) — same device
airscan driverless eSCL/WSD via sane-airscan (e* = eSCL, w* = WSD)

Any of the ids works with scanimage -d <id>. A rough preference is epsonds (native) or airscan (driverless); epson2 is the legacy fallback. A USB device like dsseries:usb:0x04F9:0x60E0 is separate — its own backend over USB, and the only one here with a real serial.

De-duplicating (open question)

To collapse duplicates you need a stable physical-device identity. Current stopgap: group by USB serial, else by network IP (parsed from the id/description). That's heuristic and can be fooled. The better approach — build a real fingerprint per device (USB bus/topology, eSCL/WSD UUID, MAC) — is still to be designed. TODO.

Related: Installing the DS-620 on Linux.