On 24/12/2019 14:47, Alexander Pevzner wrote:
Hi, everybody,

Merry Christmas and happy New Year!

I want to announce the sane-airpring backend, which implements scanning over eSCL protocol:

https://github.com/alexpevzner/sane-airscan

Well, I'm aware about the sane-escl backend. Actually, the sane-escl was published when my backend was half-implemented, so I decided to continue. So after years of waiting, now we have two eSCL backends to choose from, sorry for confusion :-)

The key differences between my backend (sane-airprint) and sane-escl are:
1) sane-escl uses CURL, while my backend uses libsoup. CURL's initialization requirements are nearly impossible to implement in a loadable plugin, so if frontend (or some of its components) also use CURL, sporadic crashes are possible 2) My backend implements full support of ADF, including simplex, duplex and multipage scan 3) Early cancel. sane-airscan allows to cancel a job far before its completion, leaving scanner in a correct state (my Kyocera ECOSYS is very sensitive to this matter). 4) sane-airscan keeps and decodes images in memory, and doesn't use temporary files. Memory footprint is reasonable low: images are decoded line-by-line as soon as sane_read consumes the data 5) sane_cancel() is safe to be called from signal handler, as required by SANE standard
6) sane_get_select_fd() and sane_set_io_mode() are fully implemented
7) sane_airprint correctly supports IPv6 addresses

Looking forward for some feedback.


Great, so we have 3 eSCL backends now: sane-escl, AirSane, and sane-airscan. Thanks to all of you to support this big group of scanners, probably all in printer/scanner-multi-function devices which do AirPrint.

Alexander, could you also try to scan on a USB-connected device via ippusbxd (https://github.com/OpenPrinting/ippusbxd)? Note that you need to supply the URI manually (should be "http://localhost:60000/eSCL/...";) as ippusbxd does not support yet DNS-SD registration for multi-function devices (https://github.com/OpenPrinting/ippusbxd/issues/11).

Do not try to build USB support directly into your backend, as this could block printing and device administration (and it would probably also be duplication of ippusbxd's functionality).

   Till

Reply via email to