[sane-devel] [janitorial] New backend: escl (seems to also work via USB)
thierry at ordissimo.com
thierry at ordissimo.com
Mon Dec 16 09:47:51 GMT 2019
Le 2019-12-15 20:39, Till Kamppeter a écrit :
> It seems that one can also use the eSCL backend via USB, with the help
> of the IPP-over-USB daemon ippusbxd (the backend is probably not
> exactly IPP, ippusbxd is more to understand as an HTTP-over-USB
> daemon).
>
> Get ippusbxd from
>
> https://github.com/OpenPrinting/ippusbxd
>
> or install the "ippusbxd" package of your distribution.
>
> Connect your device via USB. Depending on how your distribution is
> configured it can happen that a CUPS queue for the printing part of
> the device gets created, so you will not sacrifice printing to get
> your scanner to work.
>
> Check with "ps -aux | grep ippusbxd" whether ippusbxd is actually
> running (an auto-created print queue can also be an HPLIP one if the
> device is from HP).
>
> If ippusbxd is not running, simply fire it up manually, if your device
> is the only IPP-over-USB-capable printer connected to your machine you
> do not even need command line arguments:
>
> ippusbxd
>
> The daemon outputs its port and its PID. The port is usually 60000.
> Now use curl, wget, or a browser and access
>
> http://localhost:60000/eSCL/ScannerCapabilities
>
> Correct the port if yours is not 60000.
>
> You get back the capabilities XML list of the eSCL scanning part of
> your device. So it seems that eSCL scanning is possible through
> ippusbxd.
>
> Note that ippusbxd does not advertise this capability through DNS-SD.
> The DNS-SD record of ippusbxd is completely artifical and is mainly
> based on the USB (printer) device ID. I need to extend the record, but
> I need a reliable way to find out via USB whether the device is only a
> printer or has also a scanner built-in.
>
> With a deeper look into the source code of HPLIP one can perhaps also
> find a way to use eSCL via USB without ippusbxd but I do not recommend
> it. With ippusbxd one gets both printing and scanning to work in a
> driverless (driver = device-model-specific software and/or data)
> manner, using the capability of the hardware to advertise itself and
> to provide a full list of capabilities and having universal software
> to do the job (cups-filters for printing and the eSCL SANE backend for
> scanning).
>
> See the output of
>
> wget http://localhost:60000/eSCL/ScannerCapabilities
>
> on my device below.
I tried "ippusbxd", I have a mistake. I'll dig into the idea because it
would solve a lot of my scanner problems.
/usr/sbin/ippusbxd -v 0x04a9 -m 0x1827
60002|1541|root at thierry-Lenovo-ideapad-700-15ISK:/home/thierry/arcanist#
<1392766784>Error: Error registering TS3100 series as IPP printer
(_ipp._tcp): -8
<1392766784>Error: Error registering web interface of TS3100 series
(_http._tcp): -8
Thierry
>
> Till
>
> ----------
>
> <?xml version="1.0" encoding="UTF-8"?>
> <!---->
> <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>
>
>
>
>
>
> On 15/12/2019 15:54, Till Kamppeter wrote:
>>> I didn't see any device managing Tiff, send me the capability file, I
>>> could add the support.
>>> curl http://<ip>:<port>/eSCL/ScannerCapabilities
>>> or
>>> curl -k https://<ip>:<port>/eSCL/ScannerCapabilities
>>>
>>
>> Below is the output of my HP DeskJet 2540, it seems to only support
>> JPEG and PDF, so the backend should also support PDF (and if SANE does
>> not support PDF, SANE needs either to get appropriately extended
>> (preferred solution) or the backend should convert PDF to TIFF, which
>> would not need a PDF interpreter as this PDF consists only of
>> bitmaps).
>>
>> Note that these outputs should not be collected and added to the
>> backend as a database, but rather the backend should poll this from
>> the scanner whenever it is called.
>>
>> By the way, the output has PWG in it, so it seems that this eSCL
>> scanning standard was developed by or in cooperation with the Printer
>> Working Group.
>>
>> Till
>>
>> ----------
>> <!-- -->
>> <scan:ScannerCapabilities
>> xmlns:scan="http://schemas.hp.com/imaging/escl/2011/05/03"
> [...]
More information about the sane-devel
mailing list