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

Create IPP Everywhere printer through IPP #5919

Open
korylprince opened this issue May 4, 2021 · 2 comments
Open

Create IPP Everywhere printer through IPP #5919

korylprince opened this issue May 4, 2021 · 2 comments
Assignees
Labels
enhancement New feature or request priority-low
Milestone

Comments

@korylprince
Copy link

I'm attempting to create an IPP Everywhere Printer via IPP using the CUPS-Add-Modify-Printer operation. Setting ppd-name to everywhere doesn't work (says PPD not found.) Leaving ppd-name unset sets it up as a raw queue.

I've discovered that I can issue a CUPS-Create-Local-Printer operation followed by a CUPS-Get-PPD to get an IPP Everywhere PPD. Note: CUPS-Create-Local-Printer doesn't seem to be synchronous, as running these operations directly back to back causes CUPS-Get-PPD to give a "not found" error. The PPD file can then be passed to CUPS-Add-Modify-Printer to create the printer.

Is this the expected/recommended method to create an (permanent, unshared) IPP Everywhere printer through IPP, or am I missing a parameter to CUPS-Add-Modify-Printer somewhere?

@michaelrsweet
Copy link
Collaborator

@korylprince Currently the "everywhere" model is implemented in lpadmin and admin.cgi for permanent queues and via CUPS-Create-Local-Printer for temporary queues, mainly because the setup is asynchronous and for the most part cupsd is a single-threaded server.

Conceptually we could look at supporting the "everywhere" model like we do for CUPS-Create-Local-Printer, which starts a background thread to communicate with the printer and generate a PPD. But for now the best you can do is create the local queue with a CUPS-Create-Local-Printer request and then set the "printer-is-temporary" boolean attribute to false in a subsequent CUPS-Add-Modify-Printer request.

@michaelrsweet michaelrsweet self-assigned this May 4, 2021
@michaelrsweet michaelrsweet added enhancement New feature or request priority-low labels May 4, 2021
@korylprince
Copy link
Author

Ah, that is a better solution. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request priority-low
Projects
None yet
Development

No branches or pull requests

2 participants