<div dir="ltr"><div id="gmail-:1ty" class="gmail-Am gmail-aO9 gmail-Al editable gmail-LW-avf gmail-tS-tW gmail-tS-tY" aria-label="Message Body" role="textbox" aria-multiline="true" tabindex="1" style="direction:ltr;min-height:85px">Till, I appreciate your suggestions. I recognize your name from  this and Printing Mail Lists. I know that you probably know well what you are talking about. The problem is you are talking over my head. In fact I gave up on putting anything on github because I am so stupid I do not understand it . I know how to do what I do and that's about it. </div><div id="gmail-:1ty" class="gmail-Am gmail-aO9 gmail-Al editable gmail-LW-avf gmail-tS-tW gmail-tS-tY" aria-label="Message Body" role="textbox" aria-multiline="true" tabindex="1" style="direction:ltr;min-height:85px"><div>I know I recently did a  new install of Ubuntu and something I installed was a Snap package. I have no idea what it even means and would have less of an idea of what to do with it. Just like I want to Build an an Apple M1 binary for the s400w project which supposedly I can do on my Mac, but the learning curve  for Xcode and Snap together would detract so much from what I already know how to do, I would get nothing more done on other scanning related projects.</div><div><br></div><div>Mark</div><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Feb 3, 2022 at 1:00 PM Till Kamppeter <<a href="mailto:till.kamppeter@gmail.com">till.kamppeter@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">This form of scanner driver is not a SANE driver but a Scanner <br>
Application, an emulation of a driverless (in your case eSCL, other <br>
driverless protocols are WSD and IPP Scan) scanner by software, where <br>
the emulator communicates with the actual, physical scanner, advertises <br>
the presence of the scanner via DNS-SD (aka mDNS, Bonjour), and converts <br>
the standard protocol (eSCL here) into the scanner's proprietary <br>
protocol (S400W here).<br>
<br>
If the Scanner Application is sharing to the network, clients with any <br>
not too old OS can scan, as modern OSes support driverless scanning. All <br>
modern network multi-function devices do both driverless printing and <br>
scanning and so you can use them with any not too old client device.<br>
<br>
SANE makes the bridge between SANE frontends (any Linux app which scans) <br>
and driverless scanners (or Scanner Applications) with the sane-airscan <br>
backend which currently supports both eSCL and WSD (IPP Scan will be <br>
added later).<br>
<br>
Scanner Applications are the future of scanner driver packaging as they <br>
allow sandboxed packaging (like Snap and flatpak) of scanner drivers and <br>
scanning frontends and so distribution-independent driver packages. The <br>
communication between the two goes via IP with the three driverless <br>
protocols. Separate sandboxing of frontend and driver with SANE is not <br>
possible, as the drivers are shared library files to be dropped in a <br>
defined directory and to be dynamically loaded by the frontend.<br>
<br>
In addition Scanner Applications can be joined with Printer Applications <br>
for multi-function devices.<br>
<br>
Mark, you already could make use of this new scanning architecture, by <br>
sandbox-packaging your Scanner Application and putting it into the <br>
stores for Snap, flatpak, ... and then every Linux user can simply <br>
download and install it, regardless of which distro and he can scan on <br>
the supported scanners. sane-airscan is already included in the standard <br>
distros and automatically discovers your Scanner Application making the <br>
supported scanners available to all SANE clients.<br>
<br>
    Till<br>
<br>
<br>
On 03/02/2022 16:23, Mark Dm wrote:<br>
> Ok I have spent a few years making various versions of GUIs and tools <br>
> for s400w based scanners which include Century CPS-A4WF, Halo Magic <br>
> Scanner, ION AirCopy, ION AirCopy E-Post Edition, iScan Fly, Kaiser Baas <br>
> WiFi Photo & Document Scanner, Mustek iScan Air / S400W, Transcription <br>
> Patri Kun A4 Wi-Fi Portable Scanner. Heretofore referred to collectively <br>
> as s4000w.  Most of my work has been based around the command line <br>
> driver for these same units by Bastel<br>
> <a href="https://sites.google.com/site/bast3l78/s400w/main" rel="noreferrer" target="_blank">https://sites.google.com/site/bast3l78/s400w/main</a> <br>
> <<a href="https://sites.google.com/site/bast3l78/s400w/main" rel="noreferrer" target="_blank">https://sites.google.com/site/bast3l78/s400w/main</a>><br>
> <br>
> More recently I have worked on Twain2AirScan to allow a Windows Twain or <br>
> WIA Scanner to be shared over the eSCL protocol.<br>
> <br>
> Recently it came to mind to simplify one particular version of something <br>
> I had previously written. As the Bastel command line driver I use in <br>
> other projects handles communication to/from s400w scanner, and I had <br>
> already created an eSCL (AirScan) interface  in PHP the new product is <br>
> NOT a GUI it is only an eSCL to Bastel s400 bridge. It receives and <br>
> sends eSCL commands on one side and on the other side sends and <br>
> receives commands to/from the s400w by way of the Bastel driver.<br>
> <br>
> End result? The end result is with the SANE-Airscan backend (not to be <br>
> confused with the eSCL Back-end)  these s400w scanners now become <br>
> compatible  with not only SANE , but the same code runs on Mac OSX_64 <br>
> (with included Mac X86-64 Binary ) for native Mac scanning.<br>
> <br>
> There are Linux Binaries for x86_32, x86_64, Arm32(Pi 2 & 3). Sorry I <br>
> have no M1 machine to make an M1 binary and cross-compiling seems daunting.<br>
> <br>
> This will be added to my <a href="http://ScannerShare.com" rel="noreferrer" target="_blank">http://ScannerShare.com</a> <br>
> <<a href="http://ScannerShare.com" rel="noreferrer" target="_blank">http://ScannerShare.com</a>> page with Twain2AirScan that allows sharing a <br>
> Windows TWAIN or WIA Scanner to eSCL/AirScan clients like Mac or Linux, <br>
> Android, or Linux (using SANE-AirScan)  at <a href="http://scannershare.com" rel="noreferrer" target="_blank">http://scannershare.com</a> <br>
> <<a href="http://scannershare.com" rel="noreferrer" target="_blank">http://scannershare.com</a>>. For now however there is no direct link <br>
> for the new  s400w product but you  can get the file by requesting it at <br>
> the bottom of the page at <a href="http://scannershare.com" rel="noreferrer" target="_blank">http://scannershare.com</a> <br>
> <<a href="http://scannershare.com" rel="noreferrer" target="_blank">http://scannershare.com</a>> Anyone with an s400w scanner and Linux or <br>
> MacX86_64 is encouraged to test, please.<br>
> <br>
> To be clear this solution runs on Apache2 with PHP or other web server. <br>
> PHP handles all the translation to/from eSCL/BastelS400W. It runs fine <br>
> on 'localhost' and even supports automatic scanner detection <br>
> via Bonjour..Avahi. It also simultaneously shares the scanner over your <br>
> entire network using eSCL/AirScan . You will need a dedicated WiFi <br>
> interface for the scanner, aside from whatever you use to connect to <br>
> your normal network/Internet.<br>
> <br>
> Mark<br>
> <br>
</blockquote></div>