[SOLVED] USB Printer no longer recognized with cups 1.5.3
SlackwareThis Forum is for the discussion of Slackware Linux.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Running Slackware64-current. Printer is a Canon PIXMA MP-258. This printer is attached to this computers USB port.
Before updating to -current it worked (cups 1.4.8). After updating (cups 1.5.3) it quit.
The problem is not the driver, that works, I upgraded to gutenprint (5.2.8) prior to upgrading.
The problem is that the usb device is not recognized by cups, 'lpinfo -v' does not show the printer.
kernel: [ 8.515058] usb 1-3: new high-speed USB device number 3 using ehci_hcd
kernel: [ 8.633687] usb 1-3: New USB device found, idVendor=04a9, idProduct=173a
kernel: [ 8.635202] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: [ 8.636710] usb 1-3: Product: MP250 series
kernel: [ 8.638217] usb 1-3: Manufacturer: Canon
kernel: [ 8.639710] usb 1-3: SerialNumber: 931088
Bus 001 Device 003: ID 04a9:173a Canon, Inc.
~# lpinfo -v
~# lpinfo -v
I tried recompiling with the patch applied without success.
I have also tried compiling with --enable-libusb set, though I believe this is now default. At any rate it did nothing.
I also tried blacklisting the kernel module usblp; which of course did nothing.
My work around solution was to go back to cups 1.4.6.
Definitely open to ideas.
Perhaps I will have to wait until cups 1.6?
Well it's past my bed time... off to bed...
I think I *might* know what's going on here. Since even before CUPS 1.4.6, CUPS has been trying to migrate all USB printer support from the kernel usblp module to going through libusb instead. Until a patch was applied to CUPS 1.4.6, that also had similar problems with printers not being detected, and since your output shows a "direct usb" connection I can tell that your printer had been using a connection through the usblp kernel module.
The code in CUPS 1.5.x has changed to the point where it would be difficult to apply the patch restoring the old usblp backend, and as there's no upstream support for it really it should be left behind at this point (if possible). But what I'm thinking is that you've still got the usblp module loaded, and it is interfering with the libusb CUPS backend.
Here's what I'd like for you to try. First, take a look with lsmod and see if usblp is loaded. If so, remove it with 'modprobe -r usblp', and add a line for it in /etc/modprobe.d/blacklist.conf:
Then check and see if your printer is visible again. You may need to power cycle the printer and/or restart CUPS.
Let me know if this helps... if it does, probably we'll need to include this blacklist rule.
I have also had a problem with my USB printer since the upgrade. If I try to print the test page from the CUPS web interfacejob it stalls with a message "Waiting for printer to become available."
In the CUPS error log I have messages:
E [27/Jun/2012:01:37:23 +1000] Filter "hpgltops" not found.
E [27/Jun/2012:01:37:23 +1000] Filter "pstoraster" not found.
Copying the filters hpgltops and gstoraster from my 13.37 system into /usr/lib/cups/filter and creating symlinks pstoraster -> gstoraster ( as discussed here http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=638933 ) clears the error log messages but does not stop the printer stalling.
I have no problem printing the test page to a virtual PDF printer using cups-pdf.
Like the OP, I tried blacklisting the usblp kernel module and rebooting, with no effect.
In my case I am doing this in Slackware64, with the cups-compat32-1.5.3-x86_64-1.txz and glibc-solibs-2.15_multilib-x86_64-4alien.txz packages installed as this printer uses a 32bit driver.
All was working fine before the upgrade with the cups-compat32-1.4.6-x86_64-1.txz and glibc-solibs-2.15_multilib-x86_64-2alien.txz packages installed.
Reverting to the old cups-compat32-1.4.6-x86_64-1.txz package makes no difference.
One thing I did notice with the virtual pdf printer is that the owner of the file was "ANONYMOUS" whereas previously it was my user name. Could there be a permissions issue?
Ah... I see that the OP did blacklist usblp! Sorry, I should have read more closely. Unfortunately, that means that I don't currently have a good idea about what has caused CUPS to break (again), but I'm suspecting the removal of the usblp backend, since this looks all-too-much like the issues people were having with 1.4.x before that backend was restored.
Hopefully we won't have to revert to the older CUPS, but if that was working well (and this version isn't) it could be the best choice.
The output of /usr/lib64/cups/backend/usb is included in the code block.
At the moment I am using the cups 1.5.3, with usblp blacklisted. So you don't have to scroll up, my printer is a Canon PIXMA MP-258, it is plugged in a usb port on this machine. This printer works fine with cups 1.4.6 and gutenprint 5.2.8. I am using Slackware64-current.
On this boot I tried something I have not tried yet. Boot with printer turned off.
I added a bold attribute to two line below that I had missed before. The first look perhaps that a udev rule is needed? The second, I have no clue, but it appear every time the printer is turned on.
# output of /usr/lib64/cups/backend/usb (printer is off)
### Printer turned on
# output of /usr/lib64/cups/backend/usb
direct usb://Canon/MP250%20series?serial=931088&interface=1 "Canon MP250 series" "Canon MP250 series" "MFG:Canon;CMD:BJL,BJRaster3,BSCCe,IVEC,IVECPLI;SOJ:TXT01;MDL:MP250 series;CLS:PRINTER;DES:Canon MP250 series;VER:1.020;STA:10;FSI:00;HRI:ASI;MSI:DAT,E3;PDR:6;" ""
Jun 27 17:56:47 racermach kernel: [ 3041.154066] usb 3-3: new high-speed USB device number 6 using ehci_hcd
Jun 27 17:56:47 racermach kernel: [ 3041.270798] usb 3-3: New USB device found, idVendor=04a9, idProduct=173a
Jun 27 17:56:47 racermach kernel: [ 3041.270801] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 27 17:56:47 racermach kernel: [ 3041.270803] usb 3-3: Product: MP250 series
Jun 27 17:56:47 racermach kernel: [ 3041.270805] usb 3-3: Manufacturer: Canon
Jun 27 17:56:47 racermach kernel: [ 3041.270806] usb 3-3: SerialNumber: 931088
Jun 27 17:56:49 racermach udev-configure-printer: no corresponding CUPS device found
[ 3041.154066] usb 3-3: new high-speed USB device number 6 using ehci_hcd
[ 3041.270798] usb 3-3: New USB device found, idVendor=04a9, idProduct=173a
[ 3041.270801] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 3041.270803] usb 3-3: Product: MP250 series
[ 3041.270805] usb 3-3: Manufacturer: Canon
[ 3041.270806] usb 3-3: SerialNumber: 931088
[ 3041.576491] Did not find alt setting 1 for intf 0, config 1
### Printer turned off
Jun 27 18:03:16 racermach kernel: [ 3430.345756] usb 3-3: USB disconnect, device number 6
[ 3430.345756] usb 3-3: USB disconnect, device number 6
Well I have to go back to cups 1.4.6 right now, my daughter needs to print and so do I.
Hope the above information helps. If needed I can go back to 1.5.3 not a problem.
After logging out of KDE (runlevel 3) I decided to try removing the blacklist for usblp and load it. Here are is the log data.
[ 3960.721873] usblp0: USB Bidirectional printer dev 7 if 1 alt 0 proto 2 vid 0x04A9 pid 0x173A
[ 3960.721886] usbcore: registered new interface driver usblp
Jun 27 20:10:28 racermach kernel: [ 3960.721873] usblp0: USB Bidirectional printer dev 7 if 1 alt 0 proto 2 vid 0x04A9 pid 0x173A
Jun 27 20:10:28 racermach kernel: [ 3960.721886] usbcore: registered new interface driver usblp
Jun 27 20:10:30 racermach udev-configure-printer: no corresponding CUPS device found
Thanks a lot, allend! You seem to have found the missing glue.
I added the appropriate udev line, didn't even blacklist usblp (which is nice, because some apps might like to use that interface), and when I rebooted all my queued documents that had been "waiting for printer to become available" began popping out of my Canon printer. Well, off to find a supported printer ID list or determine if there's a better way to do that than to enumerate them in a udev rule.
Why didn't I think of udev right away? I must be getting old...