One other thought here: If it were possible to implement a WDS server in SANE, it would open up SANE to be used as a single central scan server for windows as well. Set up all of your scanners on a SANE server, then let youw windows and linux boxes connect to that. That would make life easier for sure...
On Sat, Feb 24, 2018 at 12:08 PM, Steven Santos <ste...@simplycircus.com> wrote: > This is a great project. If it is successful, you will open up a ton of > scanners for use with SANE > > More importantly, it gives a path for supporting just about ANY > windows-only scanner in SANE, as seems windows 10 can export any local > scanner via WSD > > I am assuming you found this documentation? > > https://docs.microsoft.com/en-us/windows-hardware/design/ > whitepapers/implementing-web-services-on-devices-for-printing > > On Tue, Feb 6, 2018 at 11:10 AM, Patrick Roncagliolo <ronca....@gmail.com> > wrote: > >> Hi all, >> >> I found http://ws4d.org/dpws-explorer/ . It has a linux version, it can >> help a bit with device detection and browse properties while developing a >> proper scan software. >> Here <https://sourceforge.net/projects/ws4d-javame/> is a java >> implementation of the DPWS standard, and here >> <http://trac.e-technik.uni-rostock.de/projects/ws4d-gsoap> a C/C++ one. >> >> However, I found another batch of documentation of the standard, so >> developing a simple working implementation targeted mainly to scan >> capabilities isn't going to be difficult. >> >> The C/C++ library posted above might be not suitable for sane backend >> implementation, I don't think sane devs would allow adding such a large >> gen-purpose dependency to codebase, and a lightweight implementation is >> better IMHO. >> >> >> >> Il giorno mar 6 feb 2018 alle ore 00:05 Patrick Roncagliolo < >> ronca....@gmail.com> ha scritto: >> >>> Hi, >>> >>> you can find a basic implementation of a WSD discovery scanner here: >>> https://github.com/roncapat/WSD-python >>> >>> Here is a sample output (it detects a response from my MB2350): >>> >>> EndPoint Reference Address: >>> urn:uuid:00000000-0000-1000-8000-f4813944662e >>> Implemented Types: >>> wsdp:Device >>> wprt:PrintDeviceType >>> wscn:ScanDeviceType >>> Transport addresses: >>> http://192.168.1.5:80/wsd/pnpx-metadata.cgi >>> >>> Basically, it retrieves an unique identifier, the capabilities of the >>> devices (MB2350 is both printer and scanner), and an HTTP address for later >>> use. >>> More coming. Understanding the protocol with an easy language as Python >>> with no API constraints helps to bootstrap a working implementation, but >>> ideally the next step would be a true backend implementation. >>> >>> Patrick Roncagliolo >>> >>> >>> Il giorno lun 5 feb 2018 alle ore 16:25 Patrick Roncagliolo < >>> ronca....@gmail.com> ha scritto: >>> >>>> 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 >>>> first). >>>> >>>> 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) http://specs.xmlsoap.org >>>> /ws/2005/04/discovery/ws-discovery.pdf >>>> -WS-Print (at the bottom of the page there are links to all print & >>>> scan XML schemas and tech specifications) https://docs.m >>>> icrosoft.com/en-us/windows-hardware/drivers/print/ws-print-v1-1 >>>> -WS-Print 2.0 (only printing? 3d printers? have no time to check) >>>> http://go.microsoft.com/fwlink/p/?LinkId=534008 >>>> >>>> >>>> >>>> >>>> Il giorno lun 5 feb 2018 alle ore 15:54 Till Kamppeter < >>>> till.kamppe...@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@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-requ...@lists.alioth.debian.org >>>> >>>> >> -- >> sane-devel mailing list: sane-devel@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-requ...@lists.alioth.debian.org >> > >
-- sane-devel mailing list: sane-devel@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-requ...@lists.alioth.debian.org