Hp LaserJet M2727dnf
burnbabyburn opened this issue · 1 comments
Hi, hope this is the right place for this prob.
My MFP needs the proprietary HP-binary-plugin (e.g. hplip-3.22.4-plugin.run) to work correctly. I am using a network setup. (Printer: 192.168.1.233 on localnet and 10.0.0.29 on different network, Airsane: 192.168.1.234, IPP_Service_Host: 192.168.1.10
)
the printers http service pages shows an WS-Discovery Service so we should have a WSD up and running.
But it seems to not register in MDNS/WSSD/ZEROCONF and so airscan is not able to detect it. I tested my normal setup with an avahi-reflector and also moved the printer to the same network segment as airscan. It made no difference.
while tcpdumping a hpaio://
scan (scanimage --test --verbose --progress
) i was able to see the WSD XML the printer reported:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:wscn="http://tempuri.org/wscn.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SOAP-ENV:Body>
<wscn:ScanElements>
<ScannerConfiguration>
<DeviceSettings>
<FormatSupported xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="wscn:ScanDocumentFormat" SOAP-ENC:arraySize="2">
<item>jfif</item>
<item>hpraw</item>
</FormatSupported>
<QualityFactorSupported>false</QualityFactorSupported>
<ContentSupported xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="wscn:ContentType" SOAP-ENC:arraySize="1">
<item>Auto</item>
</ContentSupported>
<DocumentSizeAutoDetectSupported>false</DocumentSizeAutoDetectSupported>
<FeederCapacity>50</FeederCapacity>
<DuplexRotation>180</DuplexRotation>
<Rotation>0</Rotation>
</DeviceSettings>
<Platen>
<ColorSupported xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="wscn:ColorEntryType" SOAP-ENC:arraySize="4">
<item>BlackandWhite1</item>
<item>GrayScale8</item>
<item>RGB24</item>
<item>RGB48</item>
</ColorSupported>
<PlatenMinimumSize>
<Width>1920</Width>
<Height>1920</Height>
</PlatenMinimumSize>
<PlatenMaximumSize>
<Width>8500</Width>
<Height>11690</Height>
</PlatenMaximumSize>
<PlatenOpticalResolution>
<Width>1200</Width>
<Height>1200</Height>
</PlatenOpticalResolution>
<FlatbedSupported>true</FlatbedSupported>
</Platen>
<ADF>
<ADFSupported>true</ADFSupported>
<ADFSupportsDuplex>true</ADFSupportsDuplex>
<ADFMinimumSize>
<Width>1920</Width>
<Height>1920</Height>
</ADFMinimumSize>
<ADFMaximumSize>
<Width>8500</Width>
<Height>15000</Height>
</ADFMaximumSize>
<ADFOpticalResolution>
<Width>300</Width>
<Height>300</Height>
</ADFOpticalResolution>
</ADF>
</ScannerConfiguration>
<ScannerStatus>
<ScannerCurrentTime>2018-07-23T12:50:41Z</ScannerCurrentTime>
<ScannerState>Idle</ScannerState>
<ScannerStateReason>None</ScannerStateReason>
<ScanToStatus>
<PaperInADF>false</PaperInADF>
<ScanToAvailable>false</ScanToAvailable>
</ScanToStatus>
</ScannerStatus>
<ScannerInfo>
<ModelNumber>CB532A</ModelNumber>
</ScannerInfo>
</wscn:ScanElements>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
And i was able to forge a curl post for wsdiscovery - So airscan stuff should work
curl --verbose --header Accept: --header "Content-Type: application/soap+xml; charset=utf-8" --header "Transfer-Encoding: chunked" --user-agent "gSOAP/2.7" --data @req 10.0.0.29:8289/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery
* Trying 10.0.0.29:8289...
* Connected to 10.0.0.29 (10.0.0.29) port 8289 (#0)
> POST /StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery HTTP/1.1
> Host: 10.0.0.29:8289
> User-Agent: gSOAP/2.7
> Content-Type: application/soap+xml; charset=utf-8
> Transfer-Encoding: chunked
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 202 ACCEPTED
< Server: gSOAP/2.7
< Content-Type: application/soap+xml; charset=utf-8
< Transfer-Encoding: chunked
< Connection: close
<
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wscn="http://tempuri.org/wscn.xsd"><SOAP-ENV:Body><wscn:ScanElements><ScannerConfiguration><DeviceSettings><FormatSupported xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="wscn:ScanDocumentFormat" SOAP-ENC:arraySize="2"><item>jfif</item><item>hpraw</item></FormatSupported><QualityFactorSupported>false</QualityFactorSupported><ContentSupported xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="wscn:ContentType" SOAP-ENC:arraySize="1"><item>Auto</item></ContentSupported><DocumentSizeAutoDetectSupported>false</DocumentSizeAutoDetectSupported><FeederCapacity>50</FeederCapacity><DuplexRotation>180</DuplexRotation><Rotation>0</Rotation></DeviceSettings><Platen><ColorSupported xsi:type="SOAP-ENC:Array" SOAP-ENC:itemType="wscn:ColorEntryType" SOAP-ENC:arraySize="4"><item>BlackandWhite1</item><item>GrayScale8</item><item>RGB24</item><item>RGB48</item></ColorSupported><PlatenMinimumSize><Width>1920</Width><Height>1920</Height></PlatenMinimumSize><PlatenMaximumSize><Width>8500</Width><Height>11690</Height></PlatenMaximumSize><PlatenOpticalResolution><Width>1200</Width><Height>1200</Height></PlatenOpticalResolution><FlatbedSupported>true</FlatbedSupported></Platen><ADF><ADFSupported>true</ADFSupported><ADFSupportsDuplex>true</ADFSupportsDuplex><ADFMinimumSize><Width>1920</Width><Height>1920</Height></ADFMinimumSize><ADFMaximumSize><Width>8500</Width><Height>15000</Height></ADFMaximumSize><ADFOpticalResolution><Width>300</Width><Height>300</Height></ADFOpticalResolution></ADF></ScannerConfiguration><ScannerStatus><ScannerCurrentTime>2018-07-23T15:20:04Z</ScannerCurrentTime><ScannerState>Idle</ScannerState><ScannerStateReason>None</ScannerStateReason><ScanToStatus><PaperInADF>false</PaperInADF><ScanToAvailable>false</ScanToAvailable></ScanToStatus></ScannerStatus>* Closing connection 0
<ScannerInfo><ModelNumber>CB532A</ModelNumber></ScannerInfo></wscn:ScanElements></SOAP-ENV:Body></SOAP-ENV:Envelope>
avahi (thx to reflector) lists the printer on localnet and different net
= eth0 IPv4 HP LaserJet M2727nf MFP (8A21A9) Web Site local
hostname = [Drucker.local]
address = [10.0.0.29]
port = [80]
txt = []
= eth0 IPv4 HP LaserJet M2727nf MFP (8A21A9) UNIX Printer local
hostname = [Drucker.local]
address = [10.0.0.29]
port = [515]
txt = ["TBCP=T" "Binary=T" "Transparent=T" "adminurl=http://Drucker.local." "priority=50" "product=(HP LaserJet M2727nf MFP)" "ty=HP LaserJet M2727nf MFP" "rp=RAW" "qtotal=1" "txtvers=1"]
= eth0 IPv4 HP LaserJet M2727nf MFP (8A21A9) PDL Printer local
hostname = [Drucker.local]
address = [10.0.0.29]
airscan-discover -d
e.g.
MDNS: resolve-ipv4("_ipp._tcp", "HP_LaserJet_M2727nf_MFP_fax @ odroidn2"): 192.168.1.10:631
WSDD: directed probe: trying if=enp0s3, addr=192.168.1.10
WSDD: HTTP POST http://192.168.1.10/StableWSDiscoveryEndpoint/schemas-xmlsoap-org_ws_2005_04_discovery
WSDD: HTTP resolving 192.168.1.10 80
WSDD: HTTP trying 192.168.1.10:80
But airscan only seems to scan Printers reporting _ipp._tcp and _ipps._tcp, which is not ideal in my case. The printer does not provide ipp and so the ipp service address is provided via DrPsychick docker-cups-airprint
logfile airscan-discover -d (valid 3weeks)
pcap success scanning hpaio (valid 2weeks)
intended for backend not frontend. mb