Unable to print to networked printer after fresh install of Ubuntu 12.04 64 bit

Bug #990734 reported by Kevin Soviero
96
This bug affects 20 people
Affects Status Importance Assigned to Milestone
CUPS
New
Undecided
Unassigned
cups (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
High
Unassigned
system-config-printer (Ubuntu)
Fix Released
Undecided
Unassigned
Precise
Fix Released
Undecided
Unassigned

Bug Description

Background:

I have a server running ClearOS, operating as my print server (among other services). Back when I was using Ubuntu 10.04, I was able to print to it fine. Fast forward, I've upgraded to Ubuntu 12.04 64 Bit via a fresh install, and now when I follow the wizard to setup an IPP printer, my documents won't print (though they work from other clients fine).

Testing:

Asside from the fact that this error happens on my main workstation, it also happens on my LTSP server (also 12.04, but 32 bit...).

However, his error does not occur on any other clients including Windows XP, Windows 7, Ubuntu 10.04 32/64 bit...

Problem:

When attempting to print to a printer hosted on a CUPS server, I am unable to. The error in question is:

E [28/Apr/2012:12:41:33 -0500] [Job 9] Unable to add document to print job.

Expected Result:

I expect my documents to print like they used to...

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 x86_64
NonfreeKernelModules: nvidia
ApportVersion: 2.0.1-0ubuntu7
Architecture: amd64
Date: Sat Apr 28 15:25:17 2012
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Release amd64 (20120425)
Lpstat: device for HL-2140: http://pdc.local.enactpc.com:631/printers/Brother_HL-2140_series_USB_1
MachineType: System manufacturer System Product Name
Papersize: letter
PpdFiles: HL-2140: Brother HL-2140 Foomatic/hpijs-pcl5e (recommended)
ProcEnviron:
 LANGUAGE=en_US:en
 TERM=xterm
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-24-generic root=UUID=b1c3987c-c5de-4da6-b81d-5b5c76bc3a83 ro quiet splash vt.handoff=7
SourcePackage: cups
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 10/15/2009
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: 0307
dmi.board.asset.tag: To Be Filled By O.E.M.
dmi.board.name: M4A77TD
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.:bvr0307:bd10/15/2009:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKComputerINC.:rnM4A77TD:rvrRevX.0x:cvnChassisManufacture:ct3:cvrChassisVersion:
dmi.product.name: System Product Name
dmi.product.version: System Version
dmi.sys.vendor: System manufacturer

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

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in cups (Ubuntu):
status: New → Confirmed
Revision history for this message
nepotech (silvan-streit) wrote :

same problem on two machines after an update from 11.10 to 12.04

Revision history for this message
Philip Guyton (phil-lxnet) wrote :

Fresh install of 12.04 with local usb hp1600 printer which works for local prints.
Enabled sharing for this printer but it stated not published so I used http://localhost:631 admin and ticked share.
The printer was then visible on the network to another 11.10 and 12.04 Ubuntu system.

Cannot print from 11.10 Ubuntu system to this 12.04 using the network printer that appears in the list automatically.
the resulting message on the 12.04 hosting the printer was:-

E [04/May/2012:15:19:18 +0100] Returning IPP client-error-document-format-not-supported for Print-Job (ipp://192.168.1.111:631/printers/HP-Color-LaserJet-1600) from 192.168.1.101

Using the network printer that appears automatically in the fresh 12.04 install that does not have the printer attached locally also doesn't work. This printer is found via the DNS-SD system.
Print status as Processing - Not connected?
and cups error_log on that machine states The printer is not responding.

But adding the printer on the 12.04 client system via:-
Add - expand "Network Printer"
ignore the advertised network printer (the DNS-SD one)
- Find Network Printer - and enter the ip address of the 12.04 system hosting the usb printer and clicking the find button.
-- result is a straight ipp address.
--- forward button and changed name and resulting network printer work just dandy.

summary
cant print from 11.10 to 12.04 via ipp
can print from 12.04 to 12.04 via ipp but not if I used the initially supplied dns-sd address.

hope this helps.

Revision history for this message
Philip Guyton (phil-lxnet) wrote :

I may have found a more relevant bug report for my last comment, it may also relate to this bug report.
Bug #992468

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Reported to CUPS upstream a:

http://www.cups.org/str.php?L4080

Please subscribe to this bug report and answer upcoming questions there. Thanks.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Marking as duplicate following upstream ...

Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (4.8 KiB)

This bug was fixed in the package cups - 1.5.3-1

---------------
cups (1.5.3-1) unstable; urgency=low

  [ Till Kamppeter ]
  * New upstream release
     - Numerous fixes on IPP (LP: #945028, LP: #973270, LP: #990734,
       LP: #992468, LP: #992982, LP: #1000172, LP: #1000758)
     - USB backend based on the maintained libusb 1.0.x with support for
       bi-directional communication
     - Fixes on SNMP-based supply level reporting
     - PostScript prtinter auto-configuration reliable now
     - Several fixes on PostScript, SSL, authenticated printing, and
       networking issues
  * debian/patches/ipp-fixes-1.5.3.patch,
    debian/patches/fix-empty-translations.patch,
    debian/patches/ppd-cache-fix-crash.patch,
    debian/patches/commandtops-make-robust-against-broken-postscript.patch,
    debian/patches/cups-polld-reconnect.patch,
    debian/patches/usb-backend-libusb-1.0.patch,
    debian/patches/usb-backend-backchannel-support.patch: Removed patches which
    got included upstream.
  * debian/patches/fix-supply-level-computation-for-percent-supply-unit.patch,
    debian/patches/fix-supply-levels-for-enumerated-prtmarkersupplieslevel.patch,
    debian/patches/fix-status-reports-when-supply-levels-grow.patch,
    debian/patches/add-status-reports-for-full-waste-trays-and-cleaner-unit-eol.patch,
    debian/patches/match-marker-colorants-which-use-non-standard-string.patch,
    debian/patches/truncate-marker-supply-names-at-comma.patch: Removed supply
    level report fixes. This got solved differently upstream.
  * debian/patches/do-not-suppress-inputslot-setting-with-empty-ap-d-inputslot.patch:
    Removed, problem solved differently upstream.
  * debian/patches/cups-avahi.patch: Manually regenerated to adapt to upstream
    changes.
  * debian/patches/ppd-poll-with-client-conf.patch,
    debian/patches/colord-support.patch,
    debian/patches/airprint-support.patch,
    debian/patches/no-conffile-timestamp.patch,
    debian/patches/drop_unnecessary_dependencies.patch,
    debian/patches/read-embedded-options-from-incoming-postscript-and-add-to-ipp-attrs.patch,
    debian/patches/show-compile-command-lines.patch: Refreshed using quilt.
  * debian/patches/usb-backend-busy-loop-fix.patch: Correct loops to repeat
    claiming interfaces on USB devices when they are busy. Before, hitting busy
    state made the device opening function error out without comment
    (LP: #987485).
  * debian/patches/usb-backend-detach-usblp-earlier-crash-guards.patch: Protect
    against crashes by checking error codes of libusb functions (LP: #997040)
    and detach usblp kernel module in an earlier stage when opening a device
    (LP: #987485, LP: #997040).
  * debian/patches/usb-backend-initialize-usblp-attached-state.patch: Initialize
    usblp_attached field in printer data structure to assure that detaching
    and re-attaching the usblp kernel module is always done correctly
    (LP: #902535, LP: #959676, LP: #960666, LP: #987485,
    LP: #995111, LP: #997040, LP: #1000253, LP: #1001028).
  * debian/patches/install-sh-remove-bashism.patch: Removed bashism.
  * debian/local/blacklist-cups-usblp.conf, debian/cups.postinst,
    debian/cups.install: Bla...

Read more...

Changed in cups (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

New CUPS package with the following (and some addtional) fixes uploaded to precise-proposed (proposed updates for 12.04 (Precise)):

 - Crash and busy loop fixes on the USB backend
 - "usblp" kernel module blacklisted again as it also causes problems with the new USB backend
 - Lots of fixes on the IPP backend and also on the IPP server part in the CUPS daemon
 - Other networking issues

These fixes should address most of the bugs reported shortly after the release of Precise, especially the problems with USB printing and network printing. As soon as the package is approved and made available for testing and additional comment with installation instructions will get posted here. Please test the new package then and report here whether this solves your problems. We will decide on the results whether the package will be made an official update for Precise.

Please remove/cancel all jobs and turn off and turn on your printer before testing.

debdiff attached.

Changed in cups (Ubuntu Precise):
importance: Undecided → High
milestone: none → precise-updates
status: New → Fix Committed
Revision history for this message
Martin Pitt (pitti) wrote : Please test proposed package

Hello Kevin, or anyone else affected,

Accepted cups into precise-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

tags: added: verification-needed
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

As the fixes done so far on CUPS' IPP backend did not solve this problem we should avoid using the IPP backend whenever possible. IPP implementations in printers are too often not conforming well with the standards. Therefore I have made a change on system-config-printer now to default to the AppSocket/JetDirect protocol with highest priority and lets IPP being used only if no other protocol is supported by the printer. Note that this is a workaround and not really a fix.

Added system-config-printer task ...

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

This bug was fixed in the package system-config-printer - 1.3.8+20120201-0ubuntu9

---------------
system-config-printer (1.3.8+20120201-0ubuntu9) quantal; urgency=low

  * debian/patches/83_improved-sorting-of-device-lists.patch: Improved sort
    order of device entries, so that in the "Connections" list of a detected
    network printer "AppSocket/JetDirect" always has highest priority and
    "IPP" has lowest. This way we avoid that network printers get set up
    with IPP connection, as many printers do not conform to the IPP
    standards. "AppSocket/JetDirect" is a very simple protocol which usually
    works (Works around LP: #945028, LP: #973270, LP: #990734, LP: #992468,
    LP: #992982).
 -- Till Kamppeter <email address hidden> Tue, 29 May 2012 19:26:31 +0200

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

Uploaded the system-config-printer package with the workaround to precise-proposed. As soon as the package is available to test on Precise, this will be announced with another comment with installation instructions. Please install and test the package then and tell us your results. We need your feedback to be able to make the package an official update for Precise.

To test the new package, install it and then remove the print queue for your printer. After that create the queue again with system-config-printer. Please use the default settings which system-config-printer suggests. Can you print with the new print queue?

For the SRU team: debdiff attached.

Revision history for this message
Colin Watson (cjwatson) wrote :

Hello Kevin, or anyone else affected,

Accepted system-config-printer into precise-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in system-config-printer (Ubuntu Precise):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.8 KiB)

This bug was fixed in the package cups - 1.5.3-0ubuntu1

---------------
cups (1.5.3-0ubuntu1) precise-proposed; urgency=low

  [ Till Kamppeter ]
  * New upstream release
     - Numerous fixes on IPP (LP: #945028, LP: #973270, LP: #990734,
       LP: #992468, LP: #992982, LP: #1000172, LP: #1000758)
     - USB backend based on the maintained libusb 1.0.x with support for
       bi-directional communication
     - Fixes on SNMP-based supply level reporting
     - PostScript prtinter auto-configuration reliable now
     - Several fixes on PostScript, SSL, authenticated printing, and
       networking issues
  * debian/patches/ipp-fixes-1.5.3.patch,
    debian/patches/fix-empty-translations.patch,
    debian/patches/ppd-cache-fix-crash.patch,
    debian/patches/commandtops-make-robust-against-broken-postscript.patch,
    debian/patches/cups-polld-reconnect.patch,
    debian/patches/usb-backend-libusb-1.0.patch,
    debian/patches/usb-backend-backchannel-support.patch: Removed patches which
    got included upstream.
  * debian/patches/fix-supply-level-computation-for-percent-supply-unit.patch,
    debian/patches/fix-supply-levels-for-enumerated-prtmarkersupplieslevel.patch,
    debian/patches/fix-status-reports-when-supply-levels-grow.patch,
    debian/patches/add-status-reports-for-full-waste-trays-and-cleaner-unit-eol.patch,
    debian/patches/match-marker-colorants-which-use-non-standard-string.patch,
    debian/patches/truncate-marker-supply-names-at-comma.patch: Removed supply
    level report fixes. This got solved differently upstream.
  * debian/patches/do-not-suppress-inputslot-setting-with-empty-ap-d-inputslot.patch:
    Removed, problem solved differently upstream.
  * debian/patches/cups-avahi.patch: Manually regenerated to adapt to upstream
    changes.
  * debian/patches/ppd-poll-with-client-conf.patch,
    debian/patches/colord-support.patch,
    debian/patches/airprint-support.patch,
    debian/patches/no-conffile-timestamp.patch,
    debian/patches/drop_unnecessary_dependencies.patch,
    debian/patches/read-embedded-options-from-incoming-postscript-and-add-to-ipp-attrs.patch,
    debian/patches/show-compile-command-lines.patch: Refreshed using quilt.
  * debian/patches/usb-backend-busy-loop-fix.patch: Correct loops to repeat
    claiming interfaces on USB devices when they are busy. Before, hitting busy
    state made the device opening function error out without comment
    (LP: #987485).
  * debian/patches/usb-backend-detach-usblp-earlier-crash-guards.patch: Protect
    against crashes by checking error codes of libusb functions (LP: #997040)
    and detach usblp kernel module in an earlier stage when opening a device
    (LP: #987485, LP: #997040).
  * debian/patches/usb-backend-initialize-usblp-attached-state.patch: Initialize
    usblp_attached field in printer data structure to assure that detaching
    and re-attaching the usblp kernel module is always done correctly
    (LP: #902535, LP: #959676, LP: #960666, LP: #987485,
    LP: #995111, LP: #997040, LP: #1000253, LP: #1001028).
  * debian/patches/install-sh-remove-bashism.patch: Removed bashism.
  * debian/local/blacklist-cups-usblp.conf, debian/cups.postinst,
    de...

Read more...

Changed in cups (Ubuntu Precise):
status: Fix Committed → Fix Released
Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Can anyone of the 16 people telling that this bug affects them test the packages in -proposed and tell whether they fix the problem? Thanks.

Please follow the instructions linked in comment #10 and comment #14.

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

This bug was fixed in the package system-config-printer - 1.3.8+20120201-0ubuntu8.1

---------------
system-config-printer (1.3.8+20120201-0ubuntu8.1) precise-proposed; urgency=low

  * debian/patches/83_improved-sorting-of-device-lists.patch: Improved sort
    order of device entries, so that in the "Connections" list of a detected
    network printer "AppSocket/JetDirect" always has highest priority and
    "IPP" has lowest. This way we avoid that network printers get set up
    with IPP connection, as many printers do not conform to the IPP
    standards. "AppSocket/JetDirect" is a very simple protocol which usually
    works (Works around LP: #945028, LP: #973270, LP: #990734, LP: #992468,
    LP: #992982).
 -- Till Kamppeter <email address hidden> Tue, 29 May 2012 19:26:31 +0200

Changed in system-config-printer (Ubuntu Precise):
status: Fix Committed → Fix Released
tags: removed: verification-needed
Revision history for this message
Kevin Soviero (ksoviero) wrote :

I apologize for the delay, it took me a little while to get a hold of a computer to install Ubuntu 12.04 on for testing (my primary workstation is back on 10.04 for now...).

I enabled "precise-proposed" and updated everything, even rebooted. Unfortunately it did not help, here is an excerpt from the client's CUPS logs:

localhost - - [07/Jun/2012:10:57:22 -0500] "POST /printers/Brother_HL-2140_series_USB_1 HTTP/1.1" 200 17228 Print-Job successful-ok

==> /var/log/cups/error_log <==
E [07/Jun/2012:10:57:23 -0500] [Job 4] Unable to add document to print job.

==> /var/log/cups/page_log <==
Brother_HL-2140_series_USB_1 ksoviero 4 [07/Jun/2012:10:57:23 -0500] total 0 - localhost CUPS Message - -
Brother_HL-2140_series_USB_1 ksoviero 4 [07/Jun/2012:10:57:24 -0500] total 0 - localhost CUPS Message - -
Brother_HL-2140_series_USB_1 ksoviero 4 [07/Jun/2012:10:57:25 -0500] total 0 - localhost CUPS Message - -

However, it does ask for authentication now for every print job, which it doesn't do on Ubuntu 10.04, or CentOS 6 when connecting to the same print server, so that's annoying...

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I have uploaded a modified CUPS package to my PPA now. Please add my PPA to your system as described on

https://launchpad.net/~till-kamppeter/+archive/ppa

in the section "Adding this PPA to your system" and then install the new CUPS package, preferably by simply doing a full system update. The CUPS version must be 1.5.3-0ubuntu2~ppa3.

This CUPS version contains two IPP backends: One is called "ipp" and is the new one of CUPS 1.5.x. This version does not work with your printer. The other is called "ipp14" and is the IPP backend of CUPS 1.4.x, the backend which got used in Natty (11.04) and Oneiric (11.10 with all updates). This backend should work with your printer, as Ubuntu 11.10 worked for you.

So I want to ask you to test with this backend.

Here are ways to get it used:

1. In a terminal window, run the command

lpstat -v

This gives you a list with all print queues. Entries for your non-working printer look like this:

device for ipp-printer: ipp://192.168.1.1/ipp

The word after "device for" is the name of the print queue, the string after the colon is the URI (Unified Resource Identifier) for your print queue.

You need to change your URI so that it starts with "ipp14://" instead of "ipp://". This you do with the command

lpadmin -p <queue name> -v ipp14://<rest of the URI>

or in this example with

lpadmin -p ipp-printer -v ipp14://192.168.1.1/ipp

After that make sure the print queue is cleared and enabled:

cancel -a
cupsenable ipp-printer

and try to print. Does it work now?

2. Create a print queue with system-config-printer (click gear icon in the upper right, then choose "Printers" in the menu, or run the command "system-config-printer &" in a terminal window).

Click the "Add" button (with the green "+"), click "Network Printer" to open the network printer part, choose "Internet Printing Protocol (ipp14)", then enter the URI for your printer in the upper right, like

ipp14://192.168.1.1/ipp

Important is that you use the IP of your printer and that the URI starts with "ipp14://". Click "Forward", then manually choose manufacturer and model of the printer if needed, choose the driver if needed (the recommended one is pre-selected), "Forward", enter desired queue name and finish the wizard.

3. If you have a print queue with a "dnssd://..." URI you can find out the corresponding "ipp://..." URI by printing a job on it (job will not actually print on your printer) and then search your error_log for "ipp://...". Use this URI with the "ipp:" replaced by "ipp14:". Create an appropriate queue as described under 1. or 2..

Try to print on your new print queue now. It should work.

Revision history for this message
Kevin Soviero (ksoviero) wrote :

It works!!!

Yes, using the PPA and appending "ipp14://" to the URI(s) successfully alleviated the issue!

Will this fix be included in 12.04 soon, or will we always need the PPA?

Here are the related log entries for future reference:

==> /var/log/cups/access_log <==
localhost - - [09/Jun/2012:15:21:35 -0500] "POST /printers/Brother-HL-2140 HTTP/1.1" 200 12210 Print-Job successful-ok

==> /var/log/cups/page_log <==
Brother-HL-2140 ksoviero 178 [09/Jun/2012:15:21:40 -0500] total 1 - localhost Untitled Document 1 - -

==> /var/log/cups/error_log <==
W [09/Jun/2012:15:21:40 -0500] failed to CreateProfile: org.freedesktop.ColorManager.AlreadyExists:profile id 'Brother-HL-2140-Gray..' already exists
W [09/Jun/2012:15:21:40 -0500] failed to CreateDevice: org.freedesktop.ColorManager.AlreadyExists:device id 'cups-Brother-HL-2140' already exists

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

Kevin, thank you very much for testing, the ipp14 fallback backend will get included in the next CUPS SRU.

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

I have uploaded a new CUPS version, 1.5.3-0ubuntu2~ppa11 to my PPA now. Please upgrade to this version and now do another test with the "ipp://..." URI again (not the "ipp14://..." of comment #19). Does this work now? Please also with the "ipp://..." URI add "?version=1.1" or "?version=1.0" to the end of the device URI (example: "ipp://192.168.1.1/ipp?version=1.0"). Does one or both of these possibilities work? Please tell. If nothing works, return to using "ipp14://...".

Revision history for this message
launchpadmember (lpuser1138) wrote :

This didn't work for me.

For comment #19, when I got to step 1.
cupsenable ipp-printer

I recieved the following error:
cupsenable: Operation failed: client-error-not-found

After that point, printing no longer worked locally, and still didn't work remotely.
After reinstalling the local printer as a locally connected usb printer, printing locally was restored, and remote printing was still broken.

My setup:
OS: Kubuntu 12.04 64bit (installed directly to the hard drive, not a virtual install (is that what livebox means?))
DS: KDE v4.8.4
MoBo: Asus P5E3 Delux
Mem: 4GB
GPU: NVIDIA GeForce 8800 GT

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.