Uploaded proposed fix for Precise to the precise-proposed package repository. As soon as it gets approved we will post another comment here with instructions how to install and test it. Please test it that as your feedbvack here is required for making the package an official update.
For the SRU team: debdiff attached to bug 945028: https://bugs.launchpad.net/ubuntu/+source/cups/+bug/945028/+attachment/3219011/+files/cups_1.5.3-0ubuntu1_1.5.3-0ubuntu2.debdiff SRU is for bug 945028, bug 973270, bug 987485, bug 997040, bug 1000253, and bug 1001028. ** Description changed: I have a HP LaserJet 4L and a USB to parallel adapter: Bus 004 Device 002: ID 067b:2305 Prolific Technology, Inc. PL2305 Parallel Port When I connect them to my Ubuntu computer it immediately detects the correct printer. I can print ONCE and then the printer will not respond to any more jobs until it has been power cycled. - After running one print job, dmesg and syslog start to fill up with with - these messages: + [IMPACT] + + Everyone who has connected a printer via the Prolific USB -> Parallel + adaptor cannot print on this printer. This worked in Lucid, the previous + LTS, so it is a regression, at least for LTS users. + + The adaptor is very common, and as in the era of parallel port printers + there were made very robust, indestructible printers for which one still + gets toner, like many HP LaserJet models for example, users want to + continue using them on modern computers which do not have parallel ports + any more. + + The libusb-based USB backend of CUPS was far from completely + implemented. It lacked the ability to communicate uni-directionally with + devices which are not able to communicate bi-directionally, refrain from + re-attaching the usblp kernel module after printing for some devices, + reset the printer after printing the job, ... In the proposed package + these adaptations for devices with quirks are done in the USB backend. + + [TESTCASE] + + Unfortunately, for reproducing this bug one needs the actual hardware. + + Connect a parallel printer via a Prolific USB -> Parallel adaptor to the + USB port of the computer. + + With Precise with all updates applied you can set up the printer and + print one job. When printing the second job the printer hangs. You have + to cancel the stuck job, turn off and turn on the printer again and then + you can print another job, but again only one. So you have to power- + cycle the printer after each job. + + After installing the proposed package the problem should disappear or at + least it should work much better. Right after installing the new package + clear the queue and power-cycle the printer, to clean out any remainders + of the old package. After that print several jobs. They should print. If + the printer hangs, then only rarely. + + [Regression Potential] + + The patch looks perhaps more dramatic than it is. This is because + several code sections are put into "if" blocks, indenting all the + (unchanged) code lines. This especially happens because now we suppress + using the back channel for selected printers (and also printers which + claim to be uni-directional only). + + The code was developed in several steps and uploaded step-by-step to my + PPA. There the reporters of the bugs covered by this SRU and some + additional bugs (bug 902535, bug 995111) tested it intensively. They did + not hit any regressions compared to stock Precise or the first CUPS SRU. + + The code is also applied to the CUPS package in Quantal and this also + did not cause any regression bug report yet. + + I have tested the code on four HP printers (HP LaserJet 3390, HP Color + LaserJet CM3530 MFP, HP PhotoSmart C8100, HP PhotoSmart C5200, all on + direct USB) and one Epson printer (Epson Stylus Photo 880, both direct + USB and parallel with Prolific USB -> Parallel adaptor) and all work + fine, no regressions. + + + After running one print job, dmesg and syslog start to fill up with with these messages: Apr 23 20:23:34 al-desktop kernel: [185587.281864] usblp0: removed Apr 23 20:23:44 al-desktop kernel: [185597.289520] usblp0: USB Bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x067B pid 0x2305 Apr 23 20:23:44 al-desktop udev-configure-printer: add /devices/pci0000:00/0000:00:12.1/usb4/4-1/4-1:1.0/usb/lp0 Apr 23 20:23:44 al-desktop udev-configure-printer: device devpath is /devices/pci0000:00/0000:00:12.1/usb4/4-1 Apr 23 20:23:44 al-desktop udev-configure-printer: Device already handled Apr 23 20:23:49 al-desktop kernel: [185602.453587] usblp0: removed Apr 23 20:23:59 al-desktop kernel: [185612.461564] usblp0: USB Bidirectional printer dev 2 if 0 alt 1 proto 2 vid 0x067B pid 0x2305 Apr 23 20:23:59 al-desktop udev-configure-printer: add /devices/pci0000:00/0000:00:12.1/usb4/4-1/4-1:1.0/usb/lp0 Apr 23 20:23:59 al-desktop udev-configure-printer: device devpath is /devices/pci0000:00/0000:00:12.1/usb4/4-1 The printer appears, persists for exactly 5 seconds, and then disconnects. After another 10 seconds it appears again. This continues until the printer is powercycled. If I attempt to send a print job during the 5 second period which the printer is visible it immediately disconnects. This behaviour happens with the ljet4, lj4dith, and hpijs drivers. Also please note that this is not a hardware compatibility issue. The same USB to parallel adapter works correctly when passed through to Windows running in VirtualBox on the same computer - but only if the printer is not already in the error state. Replugging just the USB adapter also does not clear the error. The error can also be cleared by following this exact sequence: 1. Print something. 2. Print a second thing = nothing will happen immediately. 3. Boot up windows in virtualbox to claim the USB device - attempting to print anything in windows will not work, but is not necessary. 4. Shut down virtualbox. 5. The second print job you sent (step 2) will now print. - ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: cups 1.5.2-9ubuntu1 ProcVersionSignature: Ubuntu 3.2.0-23.36-generic 3.2.14 Uname: Linux 3.2.0-23-generic x86_64 NonfreeKernelModules: nvidia ApportVersion: 2.0.1-0ubuntu5 Architecture: amd64 Date: Mon Apr 23 20:26:35 2012 InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120328) Lpstat: device for HP-Deskjet-5100: smb://WORKGROUP/LAPTOP/Colour device for LaserJet-4L: usb://HP/LaserJet%204L MachineType: System manufacturer System Product Name Papersize: a4 PpdFiles: HP-Deskjet-5100: HP Deskjet 5100, hpcups 3.12.2 LaserJet-4L: HP LaserJet 4l hpijs, 3.12.2 ProcEnviron: LANGUAGE=en_GB:en TERM=xterm PATH=(custom, user) LANG=en_GB.UTF-8 SHELL=/bin/bash ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-23-generic root=UUID=52a203b1-3a2e-457f-bee8-6351a1c5421f ro quiet splash vt.handoff=7 SourcePackage: cups UpgradeStatus: No upgrade log present (probably fresh install) dmi.bios.date: 11/25/2009 dmi.bios.vendor: American Megatrends Inc. dmi.bios.version: 0704 dmi.board.asset.tag: To Be Filled By O.E.M. dmi.board.name: M4A79XTD EVO dmi.board.vendor: ASUSTeK Computer INC. dmi.board.version: Rev X.0X dmi.chassis.asset.tag: Asset-1234567890 dmi.chassis.type: 3 dmi.chassis.vendor: Chassis Manufacture dmi.chassis.version: Chassis Version dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvr0704:bd11/25/2009:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnM4A79XTDEVO:rvrRevX.0X:cvnChassisManufacture:ct3:cvrChassisVersion: dmi.product.name: System Product Name dmi.product.version: System Version dmi.sys.vendor: System manufacturer ** Changed in: cups (Ubuntu) Status: Triaged => Fix Released ** Changed in: cups (Ubuntu Precise) Status: Triaged => Fix Committed ** Changed in: cups (Ubuntu) Status: Fix Released => Fix Committed -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/987485 Title: Can only print once with USB to parallel adapter and HP 4L To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cups/+bug/987485/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs