Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CUPS does not auto-create queue for IPP-over-USB printer #5206

Closed
tillkamppeter opened this issue Dec 20, 2017 · 4 comments
Closed

CUPS does not auto-create queue for IPP-over-USB printer #5206

tillkamppeter opened this issue Dec 20, 2017 · 4 comments
Assignees
Milestone

Comments

@tillkamppeter
Copy link

IPP-over-USB printing is fully working thanks to the ippusbxd OpenPrinting project. With ippusbxd running and the Avahi patch described in its readme.md file applied an IPP printer with the URI

ipp://localhost:60000/ipp/print

gets advertised by Avahi. ippfind lists this printer and one can set it up with

lpadmin -p ippusb -E -v ipp://localhost:60000/ipp/print -m everywhere

and it works correctly.
Problem is that CUPS does not auto-create a temporary queue for it. Especially lpstat -e does not list it.
Does CUPS filter out printers on "localhost"? Or does it filter out printers on ports other than 631?
The implementation of the IPP-over-USB support is absolutely standards-conforming. The standard asks for using IPP URIs with "localhost" and does not specify a value for the port, but the port must be something other than 631 on most desktop and server machines as CUPS is already running on port 631.
For CUPS filtering out its own shared queues and so avoiding infinite loops when creating temporary queues CUPS should not simply filter out "localhost" URIs but really match the pattern

ipp(s)://localhost:PORT/printers/QUEUE

with PORT being the port on which CUPS is actually sharing its queues and QUEUE the names of the shared queues.
The same happens to printers emulated with ippserver (for development and debugging) on the same host as where CUPS is running but with an alternative port.

@michaelrsweet
Copy link
Collaborator

Right now the code does filter out local queues, but since we already have the list of local queues we probably don't need to do that anymore, plus it will make ippusb printers show up.

Will fix for the next beta.

@michaelrsweet michaelrsweet self-assigned this Dec 21, 2017
@michaelrsweet michaelrsweet added this to the CUPS 2.3.x milestone Dec 21, 2017
michaelrsweet added a commit that referenced this issue Jan 10, 2018
… local

print services like IPP USB devices (Issue #5206)
@michaelrsweet
Copy link
Collaborator

[master 625bb9d] The cupsGetDests and cupsEnumDests functions no longer filter out local print services like IPP USB devices (Issue #5206)

@tillkamppeter
Copy link
Author

I have tested today's GIT snapshot of CUPS and auto-creation of temporary queues for IPP-over-USB printers works now..

@michaelrsweet
Copy link
Collaborator

@tillkamppeter Great, thanks for letting me know!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants