[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