<div dir="ltr">Hello inSANErs ,<div><br><div>I saw a post fro about a year ago where someone wanted to start a project for an eSCL back-end for SANE on Google Summer of code. Did that go anywhere?</div><div><br></div><div>As I have spent many months learning the ins and outs of AirScan eSCL protocol , with much trial and error, I am interested in knowing if anyone is working on a eSCL /  Apple AirScan compatible back-end.</div><div><br></div><div>What I have done, I have done in PHP and I have no idea how to write a SANE backend anyway. I have developed a strong enough grasp of the protocol at this point to make a client  communicate effectively. </div><div><br></div><div>I think this protocol is mature enough to know it is not going away too soon, and may soon haunt Linux users if not adopted into SANE. In fact , it would make the configuration of many network scanners Driverless and Plug and Play if properly incorporating Bonjour/Avahi browse. </div><div><br></div><div>While on the subject of Driverless Plug and Play, I had some correspondence with someone who has been writing WSD scanning code, and he is interested in Making a WSD to eSCL bridge in python. As you can see this would open the door to many new scanners and getting SANE going the direction that CUPS has been going for years with "driverless" scanning.  While mentioning CUPS the CUPS web server would be the ideal place to host the eSCL xml on a web server, if that is even possible.</div><div><br></div><div>I think the adoption of these standards in SANE is long overdue. I think it has been about 9 years since Apple began to embrace eSCL and as I understand it WSD has been supported in Windows even longer.</div><div><br></div><div><b>About eSCL</b></div><div>As I understand it, PWG (printer Working Group) defines a method of IPP scanning , which is not WSD nor eSCL, Nor AirScan. eSCL, uses some of the XML parameters defined by PWG like <pwg:scannerStatus>Idle</pwg:scannerStatus>. </div><div>Airscan may well be a subset of the eSCL standard , which may not take advantage of all features offered in  current eSCL standards. The eSCL standard allows the ability to put the heavy lifting on the client, like the Image Capture app in OSX handling turning multiple pages into a single PDF. Each page in reality is a single file it seems, even if the scanner is capable of crating the multi-page PDF internally.</div><div><br></div><div>Here is some info I put together on how eSCL works . eSCL is all xml based.</div><div><a href="https://gist.github.com/markosjal/79d03cc4f1fd287016906e7ff6f07136">https://gist.github.com/markosjal/79d03cc4f1fd287016906e7ff6f07136</a><br></div><div><br></div><div><br></div><div><b>other notes</b></div><div> It is worth noting that the Cross Platform program VueScan already incorporates eSCL scanning, and detects those scanners automatically. It is far less particular than OSX which actualyl does more checking than VueScan. Viewscan will work even if the messages in XML are incorrect, while OSX requires everthing to be right or a disaster is imminent (like opening an infinite number of the same file without beng able to stop it!). </div><div><br></div><div>In my opinion there is also little need to support SANE over network when an eSCL scanner is used as an eSCL/AirScan scanner is already networked . Each computer on the LAN would already have direct access to the scanner.</div><div> </div><div>I will take the opportunity here to also mention that if anyone on this list has access to an Apple device and any eSCL/AirScan "driverless" scanner, I could use more packet captures, to get better compatibility with Apple devices.. You can send them to markosjal at the email with a G. I prefer any of the formats supported in wireshark, but anything I can find a way to read is okay </div><div><br></div><div><b>DARE I SUGGEST?</b></div><div>If SANE is to keep moving forward, in my opinion, SANE should consider adopting all commuincation betweeen SANE clients/servers to a standard like eSCL . I am working on a model of this that will incorporate SANE only by command line, scanimage.  On the SANE host is an Apache / PHP server (for connecting the eSCL side) and command line "scanimage" on the scan server side. I tried AirSane it seems to have its own issues, but does consistently deliver images to OSX when it works. My project is pretty rough at this point and even getting differenet behavior on preview app vs Image Capture app in OSX Mojave . One of the advantages of using an XML standard like eSCL is that it facilitates machine to Machine communication regarless of the platform and is much easier to incorporate into embedded applications. One can simply POST  an XML file to scan whatever is on the platen. The URL to the file is returned in a header, and in subsequent xml responses when scanner is queried for ScannerStatus. The client, like OSX (or your refrigerator, and do not ask me why)  then simply downloads the file. It seems too simple to NOT use it and opens up aworld of connectivity between devices. Even if SANE followed the example of CUPS of using the PWG IPP standard for network printing , then SANE might use the PWG IPP Scanning standards. Any of them would be a step forward from where it is now.</div><div><br></div><div>Mark de Leon</div><div><br></div></div></div>