[sane-devel] sane-airscan: now eSCL + WSD

Alexander Pevzner pzz at apevzner.com
Tue May 19 13:02:49 BST 2020


Hi everybody,

I proud to announce availability of the new sane-airscan version, now 
with eSCL and WSD.

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

INSTALLATION

Binary packages available for Debian (9 and 10), Fedora (29, 30, 31 and 
32), openSUSE (Leap and Tumbleweed) and Ubuntu (16.04, 18.04, 19.04, 
19.10 and 20.04). Ubuntu packages can be used for Linux Mint.

There are also 3rd party Arch Linux packages and FreeBSD port, not yet 
upgraded to WSD.

And NixOS, as far as I can understand, has included sane-airscan into 
their list of "standard" packages.

ESCL IMPROVEMENTS

For the existent users of eSCL scanners, things should work as before or 
slightly better. I did my best to avoid any eSCL regression, and few 
corner cases were actually fixed.

Previous version ignored HTTPS-only devices in a (wrong) assumption that 
all devices support both HTTP and HTTPS, it was fixed in the new 
version. It enabled support for some Xerox devices.

Also new version includes workarounds for bugs of HP LaserJet MFP M630 
and Brother MFC-L2750DW. These devices works only with latest version of 
sane-airscan

WSD NOTES

Since WSD was added not so far ago, it was tested with smaller amount of 
devices thar eSCL. Anyway, I did my best to test it well, and for a 
known devices it works very well.

Adding WSD enabled support of some devices that doesn't support eSCL. 
Potential list of such devices is long, devices known at this point are 
HP LaserJet Pro MFP M125 series and HP LaserJet Pro MFP M521 series.

If you are experienced user and your device supports both eSCL and WSD, 
I will appreciate if you switch the driver into the manual protocol 
selection mode and test it separately with both protocols.

MULTIPROTOCOL DEVICES

If device supports both eSCL and WSD, sane-airscan will by default 
choose the "best" protocol automatically. This behavior can be changed 
by editing configuration file.

If "manual" protocol selection is enabled, multiprotocol devices will 
appear in the list as two devices: one for eSCL and one for WSD,

DISCOVERY NOTES

DNS-SD discovery is fast, because all that it does is reading Avahi 
cache. WS-Discovery is slower, because it must spend enough time sending 
  WSD Probe multicasts and waiting for responses.

Some heuristics are used to speed up WS-Discovery, taking in account 
information that comes from the DNS-SD world.

In most cases these heuristics works very reliable. Users, that 
encounter some problems, have option to switch WS-Discovery from the 
default "fast" mode to the slower but more reliable "full" mode or to 
disable it completely by editing the configuration file.

Another difference between DNS-SD and WS-Discovery is that DNS-SD 
devices all have a nice human-readable network-unique name, while "name" 
of WSD device is its UUID, which is not very convenient. To address this 
issue, sane-airscan, where possible, will show WSD device under its 
DNS-SD name (if device advertises itself into the both worlds).

If the same device with the same network name is visible simultaneously 
from two different network interfaces (say, WiFi and Ethernet), 
sane-airscan will show it as a single device, managing its multiple 
discovered endpoints automatically. However, this merge will be 
disabled, if device uses different names for different networks, in 
assumption, that it is done with a purpose. So if device is available 
via network and via ipp-usb as a local IPP-over-USB devices, these 
instances will nor be merged, because ipp-usb purposely adds "USB" 
suffix to all devices it advertises.

NEW airscan-discovery TOOL.

Some users prefer manual configuration, either because there are a lot 
of compatible devices around in their office network, while they are 
interested only in 1-2 devices, or because their computer connected to 
scanner via IP router (multicast discovery works only within the same 
LAN segment). To simplify life of these users, sane-airscan comes with 
airscan-discovery utility.

Unlike sane-airscan, this utility always performs WS-Discovery in a 
"full", not "fast" mode. So if airscan-discovery finds your scanner, 
while sane-airscan is not (or not always), switch discovery mode to 
"full" in the configuration file and contact me, so I will be able to 
fix this issue.

IPP over USB NOTES.

Many devices that implement eSCL can be used with USB, instead of the 
network, connection, using IPP over USB protocol.

IPP over USB requires additional piece of software, that exposed these 
devices to the "localhost" network interface (or, optionally, to the 
real network).

There are two implementations of the IPP over USB daemon:
1. ippusbxd, that comes by default with many Linux distros
2. The independent implementation, ipp-usb: 
https://github.com/OpenPrinting/ipp-usb

sane-airscan known to work with both, but ipp-usb is in general MUCH 
more reliable. Binary packages for ipp-usb available for many Linix 
disros (see project page for details).

WSD protocol is not available in the IPP-over-USB mode.

-- 

	Wishes, Alexander Pevzner (pzz at apevzner.com)



More information about the sane-devel mailing list