Scanimage: Scan from the Command Line
jvns.ca
jvns.ca
USB's expectation that you can just plug things in and they work really helped drive standardization of many things. This was done using USB's "Device class" model, but we'd seen a similar model in PCI without overwhelming success (e.g. SATA is a PCI class, but so is VGA card - knowing my high end graphics card is technically "VGA compatible" is not actually helpful). In USB things turned out somewhat differently. Webcams for example had previously been completely proprietary but USB led to UVC and today you expect to just plug in a borrowed webcam and use it - drivers? Why would it need special drivers, it's a webcam.
USB Sound is the same, you aren't surprised when plugging a USB headset in not only makes the headset work, but also re-routes audio to it by default. Again there's a standard (the standard is completely bonkers but it's a standard)
But somehow scanners escaped this. USB scanners are each different, driver code has to be written to address each family of scanners from each vendor. Vendors might choose to send data in a different order, or to cut up the scanning procedure differently. One scanner has an explicit command to move the scan head back to its rest position another always does it when scanning ends. One sends interleaved image data, another separates sensor channels out.
SANE bundles a bunch of the resulting drivers for the Free Unix systems, but it's worth a moment to consider how this even became necessary. Who wanted scanners to be arbitrarily different? Who benefits? Maybe you can make some sort of vague argument in favour of opportunity to innovate, but scanners hardly seem like a more thrusting forward-looking and innovative technology than, say, webcams and those are standardized.
[1] https://askubuntu.com/questions/645/how-do-you-reset-a-usb-d...
https://sourceforge.net/projects/scanbd/
http://scanbuttond.sourceforge.net/ https://github.com/jdam6431/scanbuttond
Buy a scanner, put it in a box for a year, then it will work fine!
http://www.sane-project.org/sane-mfgs.html
Generally, Canon Lide series work great, if you want double sided automatic feed scanning, Fujitsu FI or ScanSnap series.