IPP-over-USB support broken

Bug #1455212 reported by Till Kamppeter
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
system-config-printer (Ubuntu)
Fix Released
High
Unassigned
Vivid
Fix Released
High
Unassigned

Bug Description

The support for IPP-over-USB printers in udev-configure-printer is broken, leading to the following two problems:

1. If the printer connected to USB supports IPP-over-USB, the automatic generation of a print queue can hang for three minutes

2. If the printer connected to USB does not support IPP-over-USB udev-configure-printer calls ippusbxd anyway and errors out, not creating a print queue.

This occurs in Vivid and Wily.

[Impact]

All Vivid users with a USB printer will not get automatic setup of print queues (printer does not do IPP-over-USB) or a print queue setup delayed by around 3 minutes (IPP-over-USB printers).

[Test Case]

Connect a USB printer for which there is not yet set up a local print queue. Usually within some seconds a print queue is set up automatically for it. No queue gets set up, for IPP-over-USB printers it takes around three minutes to get a print queue.

The proposed package fixes this problem.

[Regression Potential]

Very low. The patch is trivial and it affects only the automatic setup of USB printers. Network printer setup and manual setup of USB printers or printing on already existing queues is not affected.

description: updated
Changed in system-config-printer (Ubuntu Vivid):
importance: Undecided → High
milestone: none → vivid-updates
Changed in system-config-printer (Ubuntu):
milestone: vivid-updates → none
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Sanjay, I have prepared the fix now and uploaded the fixed packages to Wily (Ubuntu15.10 under development) and to the proposed package repository for Vivid (current 15.04 release). To get it to be an official update for 15.04 it needs to get tested and feddback to given here. As soon as the 15.04 package is approved for testing instructions will get posted here. Please follow them and give your feedback whether you get quick print queue creation and permission setting for both IPP-over-USB asnd non-IPP-over-USB printers.

Thanks in advance.

Changed in system-config-printer (Ubuntu):
status: New → Fix Committed
Changed in system-config-printer (Ubuntu Vivid):
status: New → In Progress
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

To the SRU team: debdiff attached.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package system-config-printer - 1.5.6+20150318-0ubuntu3

---------------
system-config-printer (1.5.6+20150318-0ubuntu3) wily; urgency=medium

  * debian/patches/33_ipp-over-usb-support.patch: Fixes on IPP-over-USB support,
    to make auto-setup of print queues work correctly again, for both
    devices supporting and not supporting IPP-over-USB (LP: #1455212).

 -- Till Kamppeter <email address hidden> Thu, 14 May 2015 17:02:47 -0300

Changed in system-config-printer (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Till, or anyone else affected,

Accepted system-config-printer into vivid-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/system-config-printer/1.5.6+20150318-0ubuntu2.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in system-config-printer (Ubuntu Vivid):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Sanjay Kumar (sanjay-kumar14) wrote :

Hello Till,

Sorry for the delay. While testing the applied patch in fresh Ubuntu 15.04 machine, the issue seems to be half fixed and can be still reproduced. After comparing the setup with old Ubuntu system, I found that, while debugging I added RUN{builtin}+="uaccess" entry in 56-hpmud.rules file, which I forgot to remove while testing shebang changes and hence I could see permissions getting reflected immediately and ipp queue getting created immediately and therefore I thought that issue is fixed. I am really sorry about that. Basically there were two problems related to system-configure-printer.

ISSUE1: udev-add-printer script cannot be launched from udev-configure-printer process (as python process throws an error "unknown option -") and hence automatic print queues are not added. Provided patch is correct and fixes this issue. Anyway I am providing the test code (in the attached file) using which this issue could be reproduced.

ISSUE2: Not yet fixed. Need to write proper udev rules for the programs that create daemons. I have explained the issue properly in the attached file.
systemd-udevd worker process hangs for about 3 minutes and hence
    1) Setting permissions to device node in /dev directory is delayed by 3 minutes.
    2) udev-add-printer process remains in Zombie state for about 3 minutes as parent process does not read its exit value
    3) ippusbxd daemon (which is forked from ippusbxd main process before returning ipp port) is terminated after 3 minutes, and hence ipp uri becomes unusable as there is no daemon listening to ipp requests.

I could not spend more time to test the proposed fix (i.e using TAG+= "systemd", ENV{SYSTEMD-WANTED}="configure-printer@.service" and then writing proper service file etc etc.) due to lack of time. Please check if you can reproduce the issue non IPP usb printer and also please let me know if you need any other information regarding this issue.

Thanks,
Sanjay

Revision history for this message
Sanjay Kumar (sanjay-kumar14) wrote :
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

The proposed package fixes the more important issue of print queues not auto-created at all for all non-IPP-over-USB printers, which is an essential feature of Ubuntu (Plug'n'Print) which got completely lost. The 3-minute delay on IPP-over-USB printers (which are still a minority under the USB printers) is caused by the switchover from Upstart to systemd is not covered. As the former issue is much more important the SRU is worth it already without the fix for the latter issue. Therefore I mark this "verification-done" to make the fix for the first issue going into -updates and will issue another SRU as soon as there is a fix for the other problem.

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package system-config-printer - 1.5.6+20150318-0ubuntu2.1

---------------
system-config-printer (1.5.6+20150318-0ubuntu2.1) vivid-proposed; urgency=medium

  * debian/patches/33_ipp-over-usb-support.patch: Fixes on IPP-over-USB support,
    to make auto-setup of print queues work correctly again, for both
    devices supporting and not supporting IPP-over-USB (LP: #1455212).

 -- Till Kamppeter <email address hidden> Thu, 14 May 2015 17:02:47 -0300

Changed in system-config-printer (Ubuntu Vivid):
status: Fix Committed → Fix Released
Revision history for this message
Brian Murray (brian-murray) wrote : Update Released

The verification of the Stable Release Update for system-config-printer has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.