Oneiric usblp no longer loaded when USB printer is connected, printer not recognized by the new libusb-based CUPS backend

Bug #842823 reported by Chris Bainbridge on 2011-09-06
This bug affects 11 people
Affects Status Importance Assigned to Milestone
cups (Ubuntu)

Bug Description

After updating from Natty to Oneiric my USB printer stopped working. It turned out /dev/usb/lp0 was missing. This appears to be due to the module usblp no longer being loaded automatically when the printer is connected.


[ 171.216266] usb 1-4: new high speed USB device using ehci_hcd and address 2
[ 171.688446] usblp0: USB Bidirectional printer dev 2 if 0 alt 0 proto 2 vid
0x04A9 pid 0x26DA
[ 171.689057] usbcore: registered new interface driver usblp
[ 173.109642] usb 1-4: usbfs: interface 0 claimed by usblp while 'usb' sets
config #1


[ 975.800030] usb 1-7: new high speed USB device number 9 using ehci_hcd

Changed in udev (Ubuntu):
status: New → Confirmed
tags: added: oneiric

Till Kamppeter says:

"Following some e-mail exchange with Mike Sweet I have deprecated the usblp
kernel module in Ubuntu and Debian, at least if CUPS is used as the
printing system.

In the Debian/Ubuntu package of CUPS I have switched over from getting the
usblp kernel module auto-loaded and using the usblp-based "usb" CUPS
backend to blacklisting the usblp kernel module and using the libusb-based
"usb" CUPS backend."

affects: udev (Ubuntu) → cups (Ubuntu)
Till Kamppeter (till-kamppeter) wrote :

To get your printer back working you need to switch your print queue to the new printer-ID-based URI. The old "usb:/dev/usb/lpX" are not valid any more for longer time, also workaround URIs of the form "file:/dev/usb/lpX" or "parallel:/dev/usb/lpX" cannot be used any more. Make sure you get a preint queue with a URI like "usb://..." or "hp://usb/...".

To do so start system-config-printer (in Oneiric click the logout/system button at the upper right, and choose "Printers" in the menu. In the main window right click the icon of your print queue, choose "Properties" in the pop-up menu, click "Change" at the "Device URI" entry. Now an auto-detection process starts and after a second or so, all USB printers which are connected and turned on get added to the list. Choose your printer and click "Apply". Now your printer's URI is updated and you should be able to print.

If your printer is an old parallel-port printer connected via a USB/Parallel adapter cable, and your printer's manufacturer and model name does not show up, try entries like "Unknown model".

Changed in cups (Ubuntu):
status: Confirmed → Won't Fix
Jon Rogers (jonrogersuk) wrote :

I have a similar issue, with a USB/parallel adapter that shows up as a parallel port but the printer is not auto-detected by the "printers" tool. I know that my model is still in the list of printers that Ubuntu supports, but I can't get a URI for it.

Till Kamppeter (till-kamppeter) wrote :

If your USB->Parallel adapter does not show up in Oneiric, this can also be caused by bug 872711. The fix already exists and is about to be packaged soon. Please have a look there.

summary: - Oneiric usblp no longer loaded when USB printer is connected
+ Oneiric usblp no longer loaded when USB printer is connected, printer
+ not recognized by the new libusb-based CUPS backend

To clarify: my problem was that I have a Canon LBP3010 printer which doesn't appear to be supported by Cups. It works with the Canon CAPT drivers: cndrvcups-{capt,common} from a PPA , which appear to require the kernel usblp module. As I understand it, the usblp module is now deprecated under Cups. Presumably this means that the Canon packages need updating to use libusb instead? I'm not really sure why separate Canon PPA packages are necessary in the first place, as some Canon printers are supported by Cups without these packages (does Cups have its own implementation of CAPT?). The integration between Cups and these CAPT drivers does not seem very smooth...

Till Kamppeter (till-kamppeter) wrote :

Note that CUPS itself does not support very many printer types. It has some sample drivers for common languages like PCL, but the mass of printer drivers are separate packages: HPLIP, Gutenprint, foo2zjs, SpliX, ... Drivers which are free/open source software ship with Ubuntu, proprietary/closed-source drivers we usually cannot ship. The many Canon printers supported out-of-the-box by the Ubuntu Linux distributions are not CAPT-based, these are PostScript (supported by PostScript PPD files) and PCL (supported by Ghostscript's built-in drivers and by HPIJS) laser printers and also inkjet printers (supported by Gutenprint).

CAPT-based laser printers need a proprietary driver from Canon. This driver does not fit very well with the many different Linux distributions. Perhaps it is even older and did not get updated for recent changes in the printing infrastructures. The PPA packages try to adapt the drivers as well as possible to the recent changes in the Ubuntu distribution.

Problem now is that the Canon driver package does not only ship a filter to generate CAPT output from the print job data but also a CUPS backend to communicate with Canon's printer. This backend uses the usblp kernel module and not libusb.

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

Other bug subscribers