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

Reply via email to