[sane-devel] Fwd: Ricoh SP204SN AIO network scanner
Alexander Pevzner
pzz at apevzner.com
Mon Mar 2 19:37:37 GMT 2020
On 3/2/20 9:49 PM, Louis Lagendijk wrote:
> I recall that there are multi-functionals that allow EITHER printer or
> scanner access, but not both at the same time.
> Early detection of devices and their capabilities would be ok, but
> initialization would anyhow have to wait untill the device is to be
> used. The device would need to be released as soon as scanning is done.
> So the time gains would be limited.
Initialization doesn't necessarily mean "open the USB port and keep it
locked forever". Initialization means "prepare to be ready to start
scanning with minimap possible delay". It's exact semantics depend on a
particular hardware. For example, it may mean "discover compatible
devices and obtain their characteristics".
> What is different compared to the net backend?
Different goals. Though technically it can be within the same daemon.
Currently, there is no such a piece of software, as "SANE". There are
SANE backends and SANE frontends, but there is no "SANE" in between.
What I propose, is to insert a process between frontends and backends,
without need to break API compatibility. It will simplify many things.
Printing architecture has a similar design: applications don't
communicate with printers directly, but rather communicate with print
server, which drives hardware.
> Such a daemon would mean additional resources would be required
> (memory) and an additional attack surface.
Currently the ability to scan from USB scanner implies ability to
directly communicate with arbitrary USB devices. This is giant attack
surface.
> How do you deal with hardware attached/ removed after the initial scan?
I hope, PnP support will be eventually added to SANE API.
> This can of course all be solved, but I am not so sure of the benefits.
> I like the Sane , but be aware:
> https://www.explainxkcd.com/wiki/images/6/60/standards.png
Living standards are evolving. I'm not speaking about replacement SANE
with some brand new incompatible standard, I'm about a way to evolve.
Currently it is not even possible to add a function to API without need
to rework all the existent backends.
--
Wishes, Alexander Pevzner (pzz at apevzner.com)
More information about the sane-devel
mailing list