[sane-devel] Is there any plan to support Web Devices Services (WDS) protocol?

Patrick Roncagliolo ronca.pat at gmail.com
Mon Feb 5 15:26:10 UTC 2018

Hi Till,
WSD came in with Windows Vista IIRC.
It is HTTP/XML based, so yeah, it works only on network, in fact my canon
maxify uses an entirely different protocol on USB (similar, if not equal,
to the BJNP network protocol used by Canon for basic Linux LAN support).
It defines a discovery protocol, a scan service, a print service, but
probably there are more, unrelated with the printer/multifunction/scanner
world (I started today to dig the docs).

By the way, I managed to fix the script found in the github repo I linked,
and maybe the first step for me to get comfortable with the protocol will
be to play a bit more from python, extending as much as I can the short
script as a more complete CLI tool with discovery support and all the
possible options. Then, I could manage to reimplement the protocol as a
sane backend, which I think is a bit more hard (I need to study sane api

Beware I'm a student with not-so-much spare time, but I'm interested in
learning something new and get my canon working at best, and obviously
contribute as much as I can. I'd like to add or expand wireshark dissectors
for WSD and BJNP too. We'll see how much I can do.

NB. if in the coming days I start a github repo for a WSD python
playground, I'll share here the link.

Here are a few links:
-WS-Discovery (full spec)
-WS-Print (at the bottom of the page there are links to all print & scan
XML schemas and tech specifications)
-WS-Print 2.0 (only printing? 3d printers? have no time to check)

Il giorno lun 5 feb 2018 alle ore 15:54 Till Kamppeter <
till.kamppeter at gmail.com> ha scritto:

> On 02/05/2018 01:32 PM, Patrick Roncagliolo wrote:
> > WDS is a protocol based on http connection with devices such as
> > scanners, printers and so on. Most of the work is based on a bunch of
> > XML schemas, that are publicly available on MSDN. Searched a lot, but
> > for Linux I only found this (https://github.com/al42and/WSDolefuls),
> > that fails to parse the scanner response, but succeeds to start the scan
> > job.
> > I tried to search around SANE for WDS support, but I understood there
> > isn't.
> >
> > Is there a technical motivation behind the lack of support for WDS? or
> > it's just not the top priority? Could it be possible to create a backend
> > for this protocol? A lot of Canon printers would work like a charm with
> > a single good implementation, and I think it would be the same with a
> > lot of modern hardware. I could try to start a simple implementation if
> > someone instructs me with the basics of the SANE internal API for
> > backends and working principles, I'm a student with (not much) free time
> > and it could be great to help a bit (and learn something) if possible.
> >
> This looks like a second driverless (meaning no device/model-specific
> software or data (aka driver) required) scanning method after PWG's
> (Printer Working Group, http://www.pwg.org/) IPP Scanning which I
> mentioned in another post on this list.
> It seems that WDS exists already for longer time and is already
> established, so that there are actually several scanners using it. Am I
> right? Which manufacturers are participating? Does it only work on
> network devices? Or only on USB? Does it only work on printer/scanner MF
> devices or also on stand-alone scanners?
> Patrick, it would be great if you could make a SANE module for that.
> Another step to making a scanner as easy to connect under Linux as a USB
> stick. Also great for MF devices which happily print with PWG's
> driverless IPP printing but do not support IPP scanning.
>     Till
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>              to sane-devel-request at lists.alioth.debian.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20180205/3e546d99/attachment.html>

More information about the sane-devel mailing list