ipp-usb
IPP-over-USB allows using the IPP protocol, normally designed for network printers, to be used with USB printers as well.
The idea behind this standard is simple: It allows to send HTTP requests to the device via a USB connection, so enabling IPP, eSCL (AirScan) and web console on devices without Ethernet or WiFi connections.
Unfortunately, the naive implementation, which simply relays a TCP connection to USB, does not work. It happens because closing the TCP connection on the client side has a useful side effect of discarding all data sent to this connection from the server side, but it does not happen with USB connections. In the case of USB, all data not received by the client will remain in the USB buffers, and the next time the client connects to the device, it will receive unexpected data, left from the previous abnormally completed request.
Actually, it is an obvious flaw in the IPP-over-USB standard, but we have to live with it.
So the implementation, once the HTTP request is sent, must read the entire HTTP response, which means that the implementation must understand the HTTP protocol, and effectively implement a HTTP reverse proxy, backed by the IPP-over-USB connection to the device.
And this is what the ipp-usb program actually does.
- Links to Printing / ipp-usb
- Has a link diff
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout home:jsmeix:branches:Printing/ipp-usb && cd $_
- Create Badge
Source Files (show unmerged sources)
Filename | Size | Changed |
---|---|---|
_service | 0000000546 546 Bytes | |
ipp-usb-0.9.27.tar.zst | 0000093441 91.3 KB | |
ipp-usb.changes | 0000001182 1.15 KB | |
ipp-usb.service | 0000000245 245 Bytes | |
ipp-usb.spec | 0000003336 3.26 KB | |
use-local-goipp.patch | 0000000325 325 Bytes |
Latest Revision
Create a %{go_contribsrcdir}/github.com/OpenPrinting/goipp/go.mod
Comments 0