[sane-devel] Passing all scanner usage through local saned
Till Kamppeter
till.kamppeter at gmail.com
Sat May 11 08:19:43 BST 2024
On 11/05/2024 02:54, Steven Santos wrote:
> At this point, maybe we should be talking about if SANE is the correct long-term
> scanning solution for linux.
>
With printing we have gone completely to the industry standards: IPP + DNS-SD
With scanning we should do the same way.
> More or less, all modern scanners are supported by the eSCL backend, and will be
> going forward.
>
> So why not standardize Linux scanning via eSCL?
>
This is what I am suggesting/introducing. Apps find scanners via DNS-SD and
communicate with them via eSCL. This is exactly what sane-airscan is doing and
so we get this by sandboxing scanning frontend applications together with
sane-airscan. It can even later on happen that eSCL client applications show up
which do not use SANE any more (but it is not urgent to create those, as long as
the SANE API does not apply a functional bottle neck to eSCL.
> It would seem to me that we could just develop a dummy scanner app to expose the
> current SANE and its drivers as an eSCL front end.
>
This "dummy scanner app" is what I call a retro-fitting Scanner Application.
Emulation of an eSCL scanner using PAPPL with Akarshan's scanning support and
using Akarshan's SANE-backend-retro-fit support which he is adding to
pappl-retrofit.
> One advantage to this is it would give us a path to support all TWAIN scanners
> on Linux via TWAIN Direct. It would just be a matter of building a TWAIN
> Driect to eSCL in the same way.
For this we would need a Scanner Application which on its back side speaks TWAIN
Direct, and this running on Linux and ideally on any operating system. We would
ideally have the specification of TWAIN Direct. Is this specification published?
Or is it only available under NDA for paying customers.Or do you think about
reverse-engineering here, as we have done with the many scanners with their
proprietary protocols do get SANE drivers for them? Reverse-engineering is
principally possible (we started eSCL this way, too) but always prone to
incompleteness and inaccuracy.
If somebody steps up doing this and implements it in a native PAPPL-based
Scanner Application, this would be great.
This also looks like that hardware manufacturers do three different approaches
for driverless scanning, eSCL, WSD, and TWAIN Direct. Here we need to observe
the market. eSCL seems to be the most commonplace, WSD is also visible, but I do
not know whether there are still many new devices exclusively using it or
whether it is turning legacy. WSD is at least already supported, by
sane-airscan. But is TWAIN Direct widely made use of by the scanner industry?
Does perhaps every scanner which does TWAIN Direct also do eSCL and so TWAIN
Direct gets redundant? Or is TWAIN Direct even a nice name for actually being
eSCL (or WSD or IPP Scan)? We have a similar thing with printing. Driverless IPP
printing comes under the 4 names IPP Everywhere, AirPrint, Mopria, and Wi-Fi
Direct Print. Internally this is all the same.
So we need to investigate TWAIN Direct, how it internally works and how
widespread is its use.
Till
More information about the sane-devel
mailing list