[sane-devel] Fwd: Ricoh SP204SN AIO network scanner
pzz at apevzner.com
Mon Mar 2 12:24:42 GMT 2020
On 3/2/20 10:24 AM, Klaus Kämpf wrote:
> There are some WSD-discovery tools out there.
> work nicely on Linux.
None of them works for me. WSD-python is more lucky, it at least
receives some reply from device, which it can't parse.
May I ask you to try, if my discovery program finds your scanner?
> I'd like this kind of discovery be added to saned, the sane daemon.
The only thing saned actually does is exporting local scanner into network.
It actually would be much better to reorganize SANE around some daemon,
1) Perform discovery in background and handle PnP
2) Provide enough privileges for USB access
3) Provide interlocking between SANE-capable applications, that runs
in the same time.
I think, architecture should be the following:
1) Daemon loads all necessary backends, based on dynamic
discovery/configuration (like sane-dll does it now), and does it early,
so when users want to scan, everything already initialized and there is
no annoying delay on startup
2) Daemon exposes scanners using some kind of IPC
3) There is one additional backend needs to be written, intended to
be loaded directly by applications - it's responsibility is to
communicate with daemon as a client, using daemon's IPC
This is will be also quite natural, if networking will also be handled
by this daemon. May be, using IPP-scan rather that SANE native protocol.
Among others, it will allow SANE API to change. Currently, switch to
SANE 2.0 API will break all backends. With a central daemon, it will be
possible to perform a translation between API versions, so daemon could
actually be able to load both SANE 1.0 and SANE 2.0 backends, and two
client backends needs to be implemented, for both API versions (IPC
could be the same)
Wishes, Alexander Pevzner (pzz at apevzner.com)
More information about the sane-devel