[Printing-architecture] Driverless scanning: eSCL (HTTP/XML-based) has something to do with PWG?

Ira McDonald blueroofmusic at gmail.com
Mon Dec 16 00:53:59 UTC 2019


Hi Till,

Hopefully someone from Apple can comment here about AirScan.

eSCL is *not* a PWG protocol and I can't find any public info about
it in a quick search.  The acronym has apparently been used in the
past for other proprietary protocols, according to Google search,
for example this 10-year-old reference:

https://www.applied-motion.com/sites/default/files/hardware-manuals/eSCL_Comm_Reference.pdf

Cheers,
- Ira

Ira McDonald (Musician / Software Architect)
Co-Chair - TCG Trusted Mobility Solutions WG
Co-Chair - TCG Metadata Access Protocol SG
Chair - Linux Foundation Open Printing WG
Secretary - IEEE-ISTO Printer Working Group
Co-Chair - IEEE-ISTO PWG Internet Printing Protocol WG
IETF Designated Expert - IPP & Printer MIB
Blue Roof Music / High North Inc
http://sites.google.com/site/blueroofmusic
http://sites.google.com/site/highnorthinc
mailto: blueroofmusic at gmail.com
PO Box 221  Grand Marais, MI 49839  906-494-2434



On Sun, Dec 15, 2019 at 5:55 PM Till Kamppeter <till.kamppeter at gmail.com>
wrote:

> Hi,
>
> on the SANE developer mailing list is currently discussion about the eSCL
> scanning protocol as they are adding an eSCL scanning backend from a
> contributor.
>
> They found out that all multi-function devices which print via Apple
> AirPrint
> support the eSCL scanning protocol, as part of AirScan. The protocol works
> with
> communication vis HTTP(S) and in XML format. To be driverless (no
> device-model-specific code or data) one can poll the capabilities of the
> scanner
> and then set scan options and scan. Image data is returned in JPEG, PNG,
> or PDF,
> depending on the model.
>
> Devices advertise themselves via DNS-SD with registration type _uscan._tcp
> and
> in the TXT record having a "rs=/eSCL" entry.
>
> This all works principally on the network, but it also works on devices
> connected by USB when they support IPP-over-USB and ippusbxd is running
> for
> them. So this way one can for the first time print and scan through
> ippusbxd.
>
> When I see the output of a capabilities poll (see below) one sees a lot of
> "pwg". Is ESCL an (older) PWG standard or has it generally something to do
> with
> the PWG?
>
>     Till
>
> ----------
>
> Full DNS-SD record:
>
> ----------
> Found service 'Deskjet 2540 series [E7DDC7]' of type '_uscan._tcp' in
> domain
> 'local' on 3.1.
> Service data for service 'Deskjet 2540 series [E7DDC7]' of type
> '_uscan._tcp' in
> domain 'local' on 3.0:
>      Host HP5CB901E7DDC7.local (192.168.223.1), port 8080, TXT data:
> ['duplex=F', 'is=platen', 'cs=binary,color,grayscale', 'rs=/eSCL',
> 'representation=', 'UUID=1c852a4d-b800-1f08-abcd-5cb901e7ddc7', 'note=',
> 'adminurl=http://HP5CB901E7DDC7.local.', 'ty=HP Deskjet 2540 series',
> 'pdl=application/octet-stream,application/pdf,image/jpeg', 'vers=2.0',
> 'txtvers=1']
> ----------
>
> Get capabilities:
>
> wget http://192.168.223.1:8080/eSCL/ScannerCapabilities
>
> or with ippusbxd running ia USB:
>
> wget http://localhost:60000/eSCL/ScannerCapabilities
>
> This results in:
>
> ----------
> <!--  -->
> <scan:ScannerCapabilities
> xmlns:scan="http://schemas.hp.com/imaging/escl/2011/05/03"
> xmlns:pwg="http://www.pwg.org/schemas/2010/12/sm"
> xmlns:dest="http://schemas.hp.com/imaging/destination/2011/06/06"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://schemas.hp.com/imaging/escl/2011/05/03
> ../../schemas/eSCL-1_92.xsd">
> <pwg:Version>2.0</pwg:Version>
> <pwg:MakeAndModel>xxxx</pwg:MakeAndModel>
> <pwg:SerialNumber>25</pwg:SerialNumber>
> <scan:Platen>
> <scan:PlatenInputCaps>
> <scan:MinWidth>8</scan:MinWidth>
> <scan:MaxWidth>2550</scan:MaxWidth>
> <scan:MinHeight>8</scan:MinHeight>
> <scan:MaxHeight>3508</scan:MaxHeight>
> <scan:MaxScanRegions>1</scan:MaxScanRegions>
> <scan:SettingProfiles>
> <scan:SettingProfile>
> <scan:ColorModes>
> <scan:ColorMode>Grayscale8</scan:ColorMode>
> <scan:ColorMode>RGB24</scan:ColorMode>
> </scan:ColorModes>
> <scan:ContentTypes>
> <pwg:ContentType>Photo</pwg:ContentType>
> <pwg:ContentType>Text</pwg:ContentType>
> <pwg:ContentType>TextAndPhoto</pwg:ContentType>
> </scan:ContentTypes>
> <scan:DocumentFormats>
> <pwg:DocumentFormat>application/octet-stream</pwg:DocumentFormat>
> <pwg:DocumentFormat>image/jpeg</pwg:DocumentFormat>
> <pwg:DocumentFormat>application/pdf</pwg:DocumentFormat>
> </scan:DocumentFormats>
> <scan:SupportedResolutions>
> <scan:DiscreteResolutions>
> <scan:DiscreteResolution>
> <scan:XResolution>75</scan:XResolution>
> <scan:YResolution>75</scan:YResolution>
> </scan:DiscreteResolution>
> <scan:DiscreteResolution>
> <scan:XResolution>100</scan:XResolution>
> <scan:YResolution>100</scan:YResolution>
> </scan:DiscreteResolution>
> <scan:DiscreteResolution>
> <scan:XResolution>200</scan:XResolution>
> <scan:YResolution>200</scan:YResolution>
> </scan:DiscreteResolution>
> <scan:DiscreteResolution>
> <scan:XResolution>300</scan:XResolution>
> <scan:YResolution>300</scan:YResolution>
> </scan:DiscreteResolution>
> <scan:DiscreteResolution>
> <scan:XResolution>600</scan:XResolution>
> <scan:YResolution>600</scan:YResolution>
> </scan:DiscreteResolution>
> <scan:DiscreteResolution>
> <scan:XResolution>1200</scan:XResolution>
> <scan:YResolution>1200</scan:YResolution>
> </scan:DiscreteResolution>
> <scan:DiscreteResolution>
> <scan:XResolution>2400</scan:XResolution>
> <scan:YResolution>2400</scan:YResolution>
> </scan:DiscreteResolution>
> </scan:DiscreteResolutions>
> </scan:SupportedResolutions>
> <scan:ColorSpaces>
> <scan:ColorSpace>YCC</scan:ColorSpace>
> <scan:ColorSpace>RGB</scan:ColorSpace>
> <scan:ColorSpace>sRGB</scan:ColorSpace>
> </scan:ColorSpaces>
> </scan:SettingProfile>
> </scan:SettingProfiles>
> <scan:SupportedIntents>
> <scan:Intent>Document</scan:Intent>
> <scan:Intent>Photo</scan:Intent>
> <scan:Intent>Preview</scan:Intent>
> <scan:Intent>TextAndGraphic</scan:Intent>
> </scan:SupportedIntents>
> <scan:MaxOpticalXResolution>2400</scan:MaxOpticalXResolution>
> <scan:MaxOpticalYResolution>2400</scan:MaxOpticalYResolution>
> <scan:RiskyLeftMargin>34</scan:RiskyLeftMargin>
> <scan:RiskyRightMargin>33</scan:RiskyRightMargin>
> <scan:RiskyTopMargin>34</scan:RiskyTopMargin>
> <scan:RiskyBottomMargin>46</scan:RiskyBottomMargin>
> </scan:PlatenInputCaps>
> </scan:Platen>
> <scan:BrightnessSupport>
> <scan:Min>0</scan:Min>
> <scan:Max>2000</scan:Max>
> <scan:Step>1</scan:Step>
> </scan:BrightnessSupport>
> <scan:ContrastSupport>
> <scan:Min>0</scan:Min>
> <scan:Max>2000</scan:Max>
> <scan:Step>1</scan:Step>
> </scan:ContrastSupport>
> <scan:HighlightSupport>
> <scan:Min>0</scan:Min>
> <scan:Max>255</scan:Max>
> <scan:Normal>179</scan:Normal>
> <scan:Step>1</scan:Step>
> </scan:HighlightSupport>
> <scan:ShadowSupport>
> <scan:Min>0</scan:Min>
> <scan:Max>255</scan:Max>
> <scan:Normal>25</scan:Normal>
> <scan:Step>1</scan:Step>
> </scan:ShadowSupport>
> <scan:SharpenSupport>
> <scan:Min>0</scan:Min>
> <scan:Max>255</scan:Max>
> <scan:Step>1</scan:Step>
> </scan:SharpenSupport>
> <scan:ThresholdSupport>
> <scan:Min>0</scan:Min>
> <scan:Max>255</scan:Max>
> <scan:Normal>128</scan:Normal>
> <scan:Step>1</scan:Step>
> </scan:ThresholdSupport>
> </scan:ScannerCapabilities>
> _______________________________________________
> Printing-architecture mailing list
> Printing-architecture at lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/printing-architecture
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/printing-architecture/attachments/20191215/728a3feb/attachment-0001.html>


More information about the Printing-architecture mailing list