This form of scanner driver is not a SANE driver but a Scanner Application, an emulation of a driverless (in your case eSCL, other driverless protocols are WSD and IPP Scan) scanner by software, where the emulator communicates with the actual, physical scanner, advertises the presence of the scanner via DNS-SD (aka mDNS, Bonjour), and converts the standard protocol (eSCL here) into the scanner's proprietary protocol (S400W here).

If the Scanner Application is sharing to the network, clients with any not too old OS can scan, as modern OSes support driverless scanning. All modern network multi-function devices do both driverless printing and scanning and so you can use them with any not too old client device.

SANE makes the bridge between SANE frontends (any Linux app which scans) and driverless scanners (or Scanner Applications) with the sane-airscan backend which currently supports both eSCL and WSD (IPP Scan will be added later).

Scanner Applications are the future of scanner driver packaging as they allow sandboxed packaging (like Snap and flatpak) of scanner drivers and scanning frontends and so distribution-independent driver packages. The communication between the two goes via IP with the three driverless protocols. Separate sandboxing of frontend and driver with SANE is not possible, as the drivers are shared library files to be dropped in a defined directory and to be dynamically loaded by the frontend.

In addition Scanner Applications can be joined with Printer Applications for multi-function devices.

Mark, you already could make use of this new scanning architecture, by sandbox-packaging your Scanner Application and putting it into the stores for Snap, flatpak, ... and then every Linux user can simply download and install it, regardless of which distro and he can scan on the supported scanners. sane-airscan is already included in the standard distros and automatically discovers your Scanner Application making the supported scanners available to all SANE clients.

   Till


On 03/02/2022 16:23, Mark Dm wrote:
Ok I have spent a few years making various versions of GUIs and tools for s400w based scanners which include Century CPS-A4WF, Halo Magic Scanner, ION AirCopy, ION AirCopy E-Post Edition, iScan Fly, Kaiser Baas WiFi Photo & Document Scanner, Mustek iScan Air / S400W, Transcription Patri Kun A4 Wi-Fi Portable Scanner. Heretofore referred to collectively as s4000w.  Most of my work has been based around the command line driver for these same units by Bastel https://sites.google.com/site/bast3l78/s400w/main <https://sites.google.com/site/bast3l78/s400w/main>

More recently I have worked on Twain2AirScan to allow a Windows Twain or WIA Scanner to be shared over the eSCL protocol.

Recently it came to mind to simplify one particular version of something I had previously written. As the Bastel command line driver I use in other projects handles communication to/from s400w scanner, and I had already created an eSCL (AirScan) interface  in PHP the new product is NOT a GUI it is only an eSCL to Bastel s400 bridge. It receives and sends eSCL commands on one side and on the other side sends and receives commands to/from the s400w by way of the Bastel driver.

End result? The end result is with the SANE-Airscan backend (not to be confused with the eSCL Back-end)  these s400w scanners now become compatible  with not only SANE , but the same code runs on Mac OSX_64 (with included Mac X86-64 Binary ) for native Mac scanning.

There are Linux Binaries for x86_32, x86_64, Arm32(Pi 2 & 3). Sorry I have no M1 machine to make an M1 binary and cross-compiling seems daunting.

This will be added to my http://ScannerShare.com <http://ScannerShare.com> page with Twain2AirScan that allows sharing a Windows TWAIN or WIA Scanner to eSCL/AirScan clients like Mac or Linux, Android, or Linux (using SANE-AirScan)  at http://scannershare.com <http://scannershare.com>. For now however there is no direct link for the new  s400w product but you  can get the file by requesting it at the bottom of the page at http://scannershare.com <http://scannershare.com> Anyone with an s400w scanner and Linux or MacX86_64 is encouraged to test, please.

To be clear this solution runs on Apache2 with PHP or other web server. PHP handles all the translation to/from eSCL/BastelS400W. It runs fine on 'localhost' and even supports automatic scanner detection via Bonjour..Avahi. It also simultaneously shares the scanner over your entire network using eSCL/AirScan . You will need a dedicated WiFi interface for the scanner, aside from whatever you use to connect to your normal network/Internet.

Mark


Reply via email to