Re: [sane-devel] New "SANE" driver, or sort of "Middleware"?

2022-02-03 Thread Mark Dm
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.
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.

Mark


On Thu, Feb 3, 2022 at 1:00 PM Till Kamppeter 
wrote:

> 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
> > 
> >
> > 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
> >  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
> > 

Re: [sane-devel] New "SANE" driver, or sort of "Middleware"?

2022-02-03 Thread Till Kamppeter
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 



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 
 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 
. 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 
 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





[sane-devel] New "SANE" driver, or sort of "Middleware"?

2022-02-03 Thread Mark Dm
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

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 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. 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 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