** Description changed: After update from oneiric to precise Samsung SCX-4200 usb printer prints one page and stops responding to CUPS. Turning the printer off and on crashes usb backend. + + [IMPACT] + + Many users of USB-connected Samsung printers are not able to print any + more after the upgrade from Lucid LTS or Oneiric to Precise LTS. In + Precise the problem was solved by an ugly workaround of blacklisting the + usblp kernel module in the first CUPS SRU. This solution breaks printing + for other users, those who use proprietary printer drivers with CUPS + backends based on the old /dev/usb/lp* device files and also users who + send jobs by directly sending data to the /dev/usb/lp* device files. + This worked under Lucid LTS. + + 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. + Especially this backend now works with said Samsung printers, without + blacklisting the usblp module. So this second SRU is an improved + solution. + + [TESTCASE] + + Unfortunately, for reproducing this bug one needs the actual hardware. + + Connect a Samsung printer to the USB port of the computer. + + With stock Precise (without updates) you will not be able to print. + After applying the already available updates (including the first SRU + for CUPS) you will be able to print, but only because the usblp kernel + module is blacklisted. Remove the blacklisting via + + sudo mv /etc/modprobe.d/blacklist-cups-usblp.conf ~ + sudo modprobe usblp + + and you will not be able to print any more. + + After installing the proposed package the kernel module is not + blacklisted any more and you will still be able to print. + + If you are on a Precise with all updates and you have a print queue with + an URI containing /dev/usb/lp* you will not be able to print. This + worked with stock Precise and works again with the proposed package. + + You can easily test this with any Ubuntu-supported USB printer: + + lpadmin -p test -E -v parallel:/dev/usb/lp0 -m <PPD file which works with this printer> + lpadmin -p teat -o PageSize=A4 + lp- d test ~/.bashrc + + The printing on this queue works on stock Precise, does not work on + Precise with all updates (usblp is blacklisted) and works again with the + proposed package. + + [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. + ProblemType: Bug DistroRelease: Ubuntu 12.04 Package: cups 1.5.2-9ubuntu1 ProcVersionSignature: Ubuntu 3.2.0-24.37-generic 3.2.14 Uname: Linux 3.2.0-24-generic i686 ApportVersion: 2.0.1-0ubuntu7 Architecture: i386 Date: Wed May 9 13:23:47 2012 Lpstat: device for Samsung_SCX-4200_Series: usb://Samsung/SCX-4200%20Series?serial=8T66BADQ207127T.&interface=1 Lsusb: - Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub - Bus 001 Device 002: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58) - Bus 001 Device 004: ID 04e8:341b Samsung Electronics Co., Ltd SCX-4200 series + Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub + Bus 001 Device 002: ID 046d:c03e Logitech, Inc. Premium Optical Wheel Mouse (M-BT58) + Bus 001 Device 004: ID 04e8:341b Samsung Electronics Co., Ltd SCX-4200 series MachineType: Hewlett-Packard HP Vectra Papersize: letter PpdFiles: Samsung_SCX-4200_Series: Samsung SCX-4200, 2.0.0 ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-24-generic root=UUID=8bffe6fd-56b5-46d1-b332-ba7f756f4244 ro quiet splash acpi=force vt.handoff=7 SourcePackage: cups UpgradeStatus: Upgraded to precise on 2012-05-09 (0 days ago) dmi.bios.date: 11/23/99 dmi.bios.vendor: Phoenix Technologies Ltd. dmi.bios.version: HZ.01.10US dmi.board.name: HP Holmes System Board dmi.board.vendor: Hewlett-Packard dmi.board.version: D4066-60001 dmi.chassis.asset.tag: N/A dmi.chassis.type: 3 dmi.chassis.vendor: Hewlett-Packard dmi.chassis.version: N/A dmi.modalias: dmi:bvnPhoenixTechnologiesLtd.:bvrHZ.01.10US:bd11/23/99:svnHewlett-Packard:pnHPVectra:pvrVLi8:rvnHewlett-Packard:rnHPHolmesSystemBoard:rvrD4066-60001:cvnHewlett-Packard:ct3:cvrN/A: dmi.product.name: HP Vectra dmi.product.version: VLi8 dmi.sys.vendor: Hewlett-Packard modified.conffile..etc.cups.cupsd.conf.default: [deleted] mtime.conffile..etc.cups.cupsd.conf: 2012-05-09T13:05:57.439873
** Tags removed: verification-done -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/997040 Title: usb printer backend hangs when usblp kernel module is loaded To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cups/+bug/997040/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
