OpenPrinting / ipp-usb

ipp-usb -- HTTP reverse proxy, backed by IPP-over-USB connection to device
BSD 2-Clause "Simplified" License
133 stars 13 forks source link

This IPP-USB is installed on the client side, right? For developers, is there any code available for the device end, like the printer's code? Is there any open-source code for the printer? #82

Closed pz123456789 closed 1 day ago

pz123456789 commented 1 month ago

This IPP-USB is installed on the client side, right? For developers, is there any code available for the device end, like the printer's code? Is there any open-source code for the printer? How is the print end implemented to communicate with the client via USB using IPP?

alexpevzner commented 1 month ago

Yes, ipp-usb is the client-side software.

At the printer side, IPP must be somehow implemented (which was initially defined as a network protocol and uses HTTP as a transport), plus some kind of reverse proxy needs to be implemented, which will provide traffic funnelling between USB and IPP server.

About open-source printer firmware, I'm not aware if it exists. Please note, writing production-quality IPP stack from the ground up is a really big task.

pz123456789 commented 1 month ago

Yes, suppose that ippsample has already implemented some form of network transmission, and now the goal is to implement a reverse proxy to funnel traffic between USB and IPP. How would one write this to accept data from USB in the form of file descriptors on the device end?

alexpevzner commented 1 month ago

What operating system runs inside the device?

pz123456789 commented 1 month ago

linux Embedded system

pz123456789 commented 1 month ago

Teacher, can you add a wechat contact? I am a beginner in this field.

alexpevzner commented 1 month ago

linux Embedded system

https://www.kernel.org/doc/html/v4.15/driver-api/usb/gadget.html

Teacher, can you add a wechat contact? I am a beginner in this field.

I don't have wechat. Only e-mail and Telegram.

pz123456789 commented 1 month ago

Could you please share your email address? Thank you, teacher.

alexpevzner commented 1 month ago

pzz@apevzner.com

It is listed at the every ipp-usb source file :)

tillkamppeter commented 4 weeks ago

There is a free implementation of the server side of IPP-over-USB, in PAPPL from Michael Sweet. PAPPL, the Printer APPlication Library is not only there to make Printer Applications, emulations of driverless IPP printers as a replacement for printer drivers, but it also serves as printer firmware, to make the printer driverless. And for USB it has the so-called "Gadget" mode.

See http://github.com/michaelrsweet/pappl