MASTER: Printing via HPLIP does not work any more

Bug #147369 reported by Richard Kleeman on 2007-09-30
68
Affects Status Importance Assigned to Milestone
hplip (Ubuntu)
High
Unassigned
system-config-printer (Ubuntu)
Undecided
Unassigned

Bug Description

Binary package hint: system-config-printer

A usb connected printer can be configured fine manually but does not work when automatically detected.

In the first case the device uri used is

usb://hp/photosmart%207550?serial=CN33I4116P7E

while in the automatic case that fails the device uri is instead

hp:/usb/photosmart_7550?serial=CN33I4116P7E

Error messages the user.log are of the form

Sep 30 15:57:31 richard-desktop python: hp-makeuri[32595]: error: Error: Unknown/invalid device-uri field
Sep 30 15:57:31 richard-desktop python: hp-makeuri[32595]: error: Device not found

Richard Kleeman (kleeman) wrote :

Other messages include

Sep 30 16:15:40 richard-desktop photosmart_7550?serial=CN33I4116P7E: io/hpmud/musb.c 549: invalid product id string: Operation not permitted
Sep 30 16:15:40 richard-desktop photosmart_7550?serial=CN33I4116P7E: io/hpmud/musb.c 1003: unable to open hp:/usb/photosmart_7550?serial=CN33I4116P7E
Sep 30 16:15:40 richard-desktop photosmart_7550?serial=CN33I4116P7E: INFO: open device failed; will retry in 30 seconds...

Tim Waugh (twaugh) wrote :

What does 'hp-probe' say?

Richard Kleeman (kleeman) wrote :

After automatic and manual configuration:

HP Linux Imaging and Printing System (ver. 2.7.7)
Printer Discovery Utility ver. 3.2

Copyright (c) 2001-7 Hewlett-Packard Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

  Device URI Model
  ------------------------------------------- ------------------
  hp:/usb/photosmart_7550?serial=CN33I4116P7E HP photosmart 7550

Found 1 printer(s) on the 'usb' bus

Till Kamppeter (till-kamppeter) wrote :

Can you also run

lpinfo -l -v

Then do "lsusb" and you get something like

Bus XXX Device YYY: ID 03f0:ZZZZ Hewlett-Packard

For each line containing "Hewlett-Packard" do

hp-makeuri XXX:YYY

Post the output here.

Changed in hplip:
status: New → Incomplete
Changed in system-config-printer:
status: New → Incomplete
Richard Kleeman (kleeman) wrote :
Download full text (3.2 KiB)

OK so I did this after the automatic configuration of the printer (not the manual)

lpinfo -l -v gives:

Device: uri = socket
        class = network
        info = AppSocket/HP JetDirect
        make-and-model = Unknown
        device-id =
Device: uri = beh
        class = network
        info = Backend Error Handler
        make-and-model = Unknown
        device-id =
Device: uri = canon:/dev/lp0
        class = direct
        info = Gutenprint Parallel Port #1
        make-and-model = CANON
        device-id =
Device: uri = epson:/dev/lp0
        class = direct
        info = Gutenprint Parallel Port #1
        make-and-model = EPSON
        device-id =
Device: uri = hpfax
        class = direct
        info = HP Fax (HPLIP)
        make-and-model = Unknown
        device-id =
Device: uri = hal:///org/freedesktop/Hal/devices/usb_device_ffffffff_ffffffff_noserial_printer_CN33I4116P7E
        class = direct
        info = hp photosmart 7550
        make-and-model = hp photosmart 7550
        device-id = MFG:hp;MDL:photosmart 7550;CLS:PRINTER;SN:CN33I4116P7E;
Device: uri = usb://hp/photosmart%207550?serial=CN33I4116P7E
        class = direct
        info = hp photosmart 7550 USB #1
        make-and-model = hp photosmart 7550
        device-id = MFG:hp;MDL:photosmart 7550;CID:hpdeskjet_5550A851;CMD:MLC,PCL,PML,DW-PCL,DYN,DESKJET;CLS:PRINTER;DES:hp photosmart 7550;SN:CN33I4116P7E;S:0380088084001000003c148005cc2500042c358004f;P:08C0,FL,B0;J: ;
Device: uri = hp
        class = direct
        info = HP Printer (HPLIP)
        make-and-model = Unknown
        device-id =
Device: uri = http
        class = network
        info = Internet Printing Protocol (http)
        make-and-model = Unknown
        device-id =
Device: uri = ipp
        class = network
        info = Internet Printing Protocol (ipp)
        make-and-model = Unknown
        device-id =
Device: uri = lpd
        class = network
        info = LPD/LPR Host or Printer
        make-and-model = Unknown
        device-id =
Device: uri = parallel:/dev/lp0
        class = direct
        info = LPT #1
        make-and-model = Unknown
        device-id =
Device: uri = cups-pdf:/
        class = file
        info = Print into PDF file
        make-and-model = Generic PDF file generator
        device-id = MFG:Generic;MDL:PDF file generator;DES:Generic PDF file generator;CLS:PRINTER;CMD:POSTSCRIPT;
Device: uri = scsi
        class = direct
        info = SCSI Printer
        make-and-model = Unknown
        device-id =
Device: uri = smb
        class = network
        info = Windows Printer via SAMBA
        make-and-model = Unknown
        device-id =
Device: uri = socket://192.168.0.100
        class = network
        info = Xerox Phaser 6350DP;PS5.0.0 192.168.0.100
        make-and-model = Xerox Phaser 6350DP;PS5.0.0
        device-id =

lsusb gives

Bus 005 Device 002: ID 04b8:011e Seiko Epson Corp. Perfection 1660 Photo
Bus 005 Device 001: ID 0000:0000
Bus 002 Device 004: ID 03f0:3e02 Hewlett-Packard
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

and then

hp...

Read more...

Richard Kleeman (kleeman) wrote :

I notice that the uri reported by lpinfo is the one that the manual configure of the printer picks up (see first post).This is despite the automatic configuration already being in place....

I have the same problem (it seems to be global with HP printers on Gutsy) and only thought to report it as bug today. Now I see there is already a report about it.

If you think we can help figuring out the bug, you can give us instructions on whatever you want us to mention. This is rather important, because an innovative tool coming with Gutsy seems not to be working correctly... And the final release is coming soon.

I have described the problem in my words here: https://bugs.launchpad.net/ubuntu/+source/hplip/+bug/148146

Till Kamppeter (till-kamppeter) wrote :

dodgy_pro, can you also do the steps which I described in my previous comment?

For me this seems to be a bug in HPLIP. The printer is recognized by the standard USB backend but not by HPLIP (but it was recognized by HPLIP some days ago when the queue was created).

Don, Raghu, Aaron, can you look into this?

hp-probe returns:

  Device URI Model
  ------------------------------------------------- ----------------------
  hp:/usb/Deskjet_5900_series?serial=CN5771W0FH047H HP Deskjet 5900 series

Found 1 printer(s) on the 'usb' bus.
_________________________________________________________________________________
lpinfo -l -v returns:

Device: uri = socket
        class = network
        info = AppSocket/HP JetDirect
        make-and-model = Unknown
        device-id =
Device: uri = beh
        class = network
        info = Backend Error Handler
        make-and-model = Unknown
        device-id =
Device: uri = canon:/dev/lp0
        class = direct
        info = Gutenprint Parallel Port #1
        make-and-model = CANON
        device-id =
Device: uri = epson:/dev/lp0
        class = direct
        info = Gutenprint Parallel Port #1
        make-and-model = EPSON
        device-id =
Device: uri = hal:///org/freedesktop/Hal/devices/usb_device_3f0_8704_CN5771W0FH047H_if0_printer_CN5771W0FH047H
        class = direct
        info = HP Deskjet 5900 series
        make-and-model = HP Deskjet 5900 series
        device-id = MFG:HP;MDL:Deskjet 5900 series;CLS:PRINTER;SN:CN5771W0FH047H;
Device: uri = usb://HP/Deskjet%205900%20series?serial=CN5771W0FH047H
        class = direct
        info = HP Deskjet 5900 series USB #1
        make-and-model = HP Deskjet 5900 series
        device-id = MFG:HP;MDL:Deskjet 5900 series;CMD:MLC,PCL,PML,DW-PCL,DESKJET,DYN;1284.4DL:4d,4e,1;CLS:PRINTER;DES:5940;SN:CN5771W0FH047H;S:038000C484001021032c1f80000c2f80000;J: ;Z:0102,05000000000000,0600;s�
Device: uri = hpfax
        class = direct
        info = HP Fax (HPLIP)
        make-and-model = Unknown
        device-id =
Device: uri = hp
        class = direct
        info = HP Printer (HPLIP)
        make-and-model = Unknown
        device-id =
Device: uri = http
        class = network
        info = Internet Printing Protocol (http)
        make-and-model = Unknown
        device-id =
Device: uri = ipp
        class = network
        info = Internet Printing Protocol (ipp)
        make-and-model = Unknown
        device-id =
Device: uri = lpd
        class = network
        info = LPD/LPR Host or Printer
        make-and-model = Unknown
        device-id =
Device: uri = parallel:/dev/lp0
        class = direct
        info = LPT #1
        make-and-model = Unknown
        device-id =
Device: uri = cups-pdf:/
        class = file
        info = Print into PDF file
        make-and-model = Generic PDF file generator
        device-id = MFG:Generic;MDL:PDF file generator;DES:Generic PDF file generator;CLS:PRINTER;CMD:POSTSCRIPT;
Device: uri = scsi
        class = direct
        info = SCSI Printer
        make-and-model = Unknown
        device-id =
Device: uri = smb
        class = network
        info = Windows Printer via SAMBA
        make-and-model = Unknown
        device-id =
______________________________________________________________________________________
and finally hp-makeuri XXX:YYY returns:

CUPS URI: hp:/usb/Deskjet_5900_series?serial=CN5771W0FH047H

This looks like that the "hp" CUPS backend has problems accessing the printer.

Can you all do the following tests:

1. Do

/usr/lib/cups/backend/hp

and post the output

2. Do

sudo aa-complain cupsd
/usr/lib/cups/backend/hp

and post the output.

3. Can you print after doing

sudo aa-complain cupsd

The syslog message "Sep 30 16:15:40 richard-desktop photosmart_7550?serial=CN33I4116P7E: io/hpmud/musb.c 549: invalid product id string: Operation not permitted" means that the /dev/bus/usb/xxx/xxx permissions are not set correctly.

The udev 55-hpmud.rules file from 2.7.9 should fix this issue.

Dave, can you post this file here, or a patch for 2.7.7, as we are after feature freeze and therefore we cannot upgrade to 2.7.9 any more. Thanks.

Changed in system-config-printer:
status: Incomplete → Invalid
Changed in hplip:
assignee: nobody → david-suffield
status: Incomplete → In Progress
Richard Kleeman (kleeman) wrote :

Results of the 3 tests:

1. /usr/lib/cups/backend/hp

direct hp:/usb/photosmart_7550?serial=CN33I4116P7E "HP photosmart 7550" "HP photosmart 7550 USB CN33I4116P7E HPLIP" "MFG:HP;MDL:photosmart 7550;CLS:PRINTER;DES:photosmart 7550;SN:CN33I4116P7E;"

2. Results same as 1.

3. Printing still fails

Richard, thank you. It turned out that the problem is in HPLIP and not in the AppArmor protection of CUPS. Please return your configuration to the original state with

sudo aa-enforce cupsd

Let me post mine results:

1) direct hp:/usb/Deskjet_5900_series?serial=CN5771W0FH047H "HP Deskjet 5900 series" "HP Deskjet 5900 series USB CN5771W0FH047H HPLIP" "MFG:HP;MDL:Deskjet 5900 series;CLS:PRINTER;DES:Deskjet 5900 series;SN:CN5771W0FH047H;"

2) Setting /etc/apparmor.d/usr.sbin.cupsd to complain mode.

3) I can print after that, though I have already been able using the right URI given by the system when I ran a manual installation of the printer.

I have attached a copy of the new 55-hpmud.rules file. The new rules file is product-id specific where the old one was not. It also sets the device node permissions to 0666. See the http://hplip.sourceforge.net/tech_docs/tarball_install.html udev notes for more info.

Richard Kleeman (kleeman) wrote :

I added this file (55-hpmud.rules) in /etc/udev/rules.d as root
and the problem is solved i.e. the automatically configured printer now works.
dodgy_pro does it work for you also (with the automatic configuration of the printer I mean)?

Richard Kleeman (kleeman) wrote :

An editorial ;-) (sorry about the didactic tone):

It is bugs like this that can give a distro a bad name. If I plug in my common as dirt hp printer and the yellow dialog tells me it is configured and ready to go and then it doesn't work your typical user will be quite discouraged. There are 16 days left to Gutsy release, I agree with dodgy_pro this really needs fixing.....

Richard, the fix is now provided by HP, so this one will get fixed. I have marked it a milestone for the Release Candidate of 7.10 now.

Changed in hplip:
assignee: david-suffield → nobody
importance: Undecided → High
Richard Kleeman (kleeman) wrote :

Great thanks Till!

I uninstalled all printers and removed them from the computer (USB).
I rebooted.
I connected my HP Deskjet 5940 to the USB.
After a few seconds I was given the tip that the printer was found and installed.
It had been recognised by both the System/Administration/Printing tool and the HPLIP Toolbox, having the URI that was not working previously (i.e. hp:/usb/Deskjet....), BUT
It worked flaulessly!...

Job is done and it really should have been done. Bug seems to be fixed. I will inform friends of mine who are also beta-testing Gutsy and had the same problem.

My only thought now, is why jobs are compiled continuously to the printer... I mean whatever I send for printing takes a job-number ever increasing (for instance I send a test page and it is printed as job... 45), but I cannot find how I reset the counting. If it is something worth considering, let us now please.

Thanks for the fix! It was important for the upcoming release of Ubuntu.

OK, bug #144974 was marked as duplicate so I post my errors here:

Have downloaded newest patches today, but problem IS stil there!

Description:

When I install my HP DeskJet 930C with system-config-printer, I CANNOT use HP toolbox to show my ink cartrigde etc. but get an error message.

I have attached screenshots which show the problems.

laksdjfaasdf (laksdjfaasdf) wrote :
laksdjfaasdf (laksdjfaasdf) wrote :

As an end user I don't care if I need a hp:/ or a usb:/ URI for my printer! I just want to open HP Toolbox to see how much ink is still in my cartridge etc. This should be possible out the box without hacking in command line.

laksdjfaasdf (laksdjfaasdf) wrote :

After running hp-setup as root in command line, I can open HP Toolbox which shows me the information I want.

BUT: That's not userfriendly!

Adding a hp:/... printer must be done by system-config-printer, so that you have full features for HP printers with Toolbox etc. without hacking in command line!

Здравствуйте, felix.rommel.

Вы писали 3 октября 2007 г., 16:23:34:

felix.rommel> After running hp-setup as root in command line, I can open HP Toolbox
felix.rommel> which shows me the information I want.

felix.rommel> BUT: That's not userfriendly!

felix.rommel> Adding a hp:/... printer must be done by
felix.rommel> system-config-printer, so that
felix.rommel> you have full features for HP printers with Toolbox etc. without hacking
felix.rommel> in command line!

     ЗАЕБАЛИ!!!!!!!!!!!!!!!!!!!!!!!!!!

--
С уважением,
 Eduard mailto:<email address hidden>

etos@bk.ru (etos) wrote :

Здравствуйте, felix.rommel.

Вы писали 3 октября 2007 г., 16:07:26:

felix.rommel> OK, bug #144974 was marked as duplicate so I post my errors here:

felix.rommel> Have downloaded newest patches today, but problem IS stil there!

felix.rommel> Description:

felix.rommel> When I install my HP DeskJet 930C with system-config-printer, I CANNOT
felix.rommel> use HP toolbox to show my ink cartrigde etc. but get an error message.

felix.rommel> I have attached screenshots which show the problems.

felix.rommel> ** Attachment added: "Selecting the only possible printer type"
felix.rommel> http://launchpadlibrarian.net/9705781/no-hp-uri.png

ЗАЕБАЛИ!!!!!!!!!!!!!!!!!!!!!!!!!!

--
С уважением,
 Eduard mailto:<email address hidden>

etos@bk.ru (etos) wrote :

Здравствуйте, felix.rommel.

Вы писали 3 октября 2007 г., 16:08:02:

felix.rommel> ** Attachment added: "Selecting recommended driver"
felix.rommel> http://launchpadlibrarian.net/9705790/no-driver-hp-uri.png

   ЗАЕБАЛИ!!!!!!!!!!!!!!!!!!!!!!!!!!

--
С уважением,
 Eduard mailto:<email address hidden>

etos@bk.ru (etos) wrote :

Здравствуйте, felix.rommel.

Вы писали 3 октября 2007 г., 16:09:37:

felix.rommel> As an end user I don't care if I need a hp:/ or a usb:/ URI for my
felix.rommel> printer! I just want to open HP Toolbox to see how much ink is still in
felix.rommel> my cartridge etc. This should be possible out the box without hacking in
felix.rommel> command line.

felix.rommel> ** Attachment added: "Opening HP Toolbox fails"
felix.rommel>
felix.rommel> http://launchpadlibrarian.net/9705802/HP-Device-Manager_-_No_Installed_HP_Devices_Found.png
    ЗАЕБАЛИ!!!!!!!!!!!!!!!!!!!!!!!!!!

--
С уважением,
 Eduard mailto:<email address hidden>

etos@bk.ru (etos) wrote :

Здравствуйте, Till.

Вы писали 3 октября 2007 г., 15:56:16:

Till Kamppeter> ** Summary changed:

Till Kamppeter> - system-config-printer fails to automatically configure a printer
Till Kamppeter> + Printing via HPLIP does not work any more

ЗАЕБАЛИ!!!!!!!!!!!!!!!!!!!!!!!!!!

--
С уважением,
 Eduard mailto:<email address hidden>

So do you have to do anything to fix this or just update the computer?

oss_test_launchpad, please use the attached 55-hpmud.rules file as described in Dave Suffield's comment

https://bugs.edge.launchpad.net/ubuntu/+source/system-config-printer/+bug/147369/comments/17

felix.rommel, have you used the attached 55-hpmud.rules file as described in Dave Suffield's comment

https://bugs.edge.launchpad.net/ubuntu/+source/system-config-printer/+bug/147369/comments/17

laksdjfaasdf (laksdjfaasdf) wrote :

@Eduard (<email address hidden>)

My linguistic knowledge is not the best, but as far as I understand you, you said: "He's a pain in my neck." Please correct me if I'm wrong.

In the future, please post in english, that everyone can understand you. Otherwise many people will have problems to understand your superb posts which are so important for the world.

felix.rommel, please note also that system-config-printer automatically selects the "hp:/..." URI if HPLIP supports the printer. If not, there is most probably a problem with HPLIP. Therefore please try the fix proposed for HPLIP here at first.

For everyone who prefers testing the fix by installing Ubuntu packages instead of editing/replacing files, here are the new packages supposed to hit Gutsy soon:

http://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/hplip/

Changed in hplip:
status: In Progress → Fix Committed

hplip (2.7.7.dfsg.1-0ubuntu3) gutsy; urgency=low

  * debian/rules, debian/55-hpmud.rules:
    Updated UDEV rules for HPLIP to the ones of HPLIP 2.7.9. The current
    rules do not work any more (LP: #147369)

 -- Till Kamppeter <email address hidden> Wed, 3 Oct 2007 16:05:57 +0100

Changed in hplip:
status: Fix Committed → Fix Released
laksdjfaasdf (laksdjfaasdf) wrote :

Thanks Till and Dave, the offered 55-hpmud.rules file fixes the error! I copied it manually to /etc/udev/rules.d and it works now.

My DeskJet 930C is detected correctly in system-config-printer and after installing it, I can open HP Toolbox. Bug is fixed from my point of view.

By the way - the newest drivers seem to fixed another problem with my printer. I thought hardware is damaged because it did not sound good when making line feeds and printout quality was not very good. But these problems seem to be fixed, too.

Please pay attention!!!

We were all happy yesterday about the fix offered by David (http://launchpadlibrarian.net/9682810/C%3A%5Cdes%5Ctmp%5C55-hpmud.rules) and it worked indeed!

BUT! Today after the everyday update of my system, a new hplip was downloaded, which I expected to include the fix. It indeed included a "55-hpmud.rules" file, though it had some differences with the one offered here AND IT CAUSES NEW PROBLEMS for me at least.

The printer is correctly recognised and installed, but it only works through System/Administration/Printing (I can print test pages), BUT NOWHERE ELSE (for example printing from OpenOffice). The HPLIP tool also DOES NOT recognise the printer after the installation.

The difference between the two files (the one given us here and the one taken through the update process) concern different permissions and owners ("root" instead of "lp" and "0664" instead of "0666"). I tried the old file and it works fine but the new does NOT!

Please check it out!

Sorry, I tested only as the privileged user (is in group "lp"). I have repackaged now to use 666 permissions and tested as unprivileged user (not in group "lp"). Package is on the way to Gutsy.

Changed in hplip:
status: Fix Released → Fix Committed
Martin Pitt (pitti) wrote :

No, it is absolutely wrong for the devices to be world writable. Users should not directly access them, this is reserved to the daemons (cupsys and hplip). On a related note, users shuold not be in group 'lp', so I wonder how that worked before. Printer administrators should be in 'lpadmin' only.

Changed in hplip:
status: Fix Committed → Incomplete
Martin Pitt (pitti) wrote :

Current solution is to make the device nodes lp:scanner 0660, so that the mud library can access it.

Doing the change proposed by pitti in the 55-hpmud.rules file, I can scan and see ink levels as unprivileged user (in group "scanner" but not in "lp"). Also printing as unprivileged user works for me. Also setting up print queues and Plug'n'Print work.

So I will upload HPLIP with these settings now.

Changed in hplip:
status: Incomplete → In Progress

Note: This is a workaround for bug 149045. It works only under Ubuntu due to the use of the "scanner" group.

New HPLIP packages for Gutsy are on their way. Get the packages here for immediate testing

http://www.linux-foundation.org/~till/tmp/ubuntu/gutsy/hplip/

To get rid of hand-edited UDEV rule files do

sudo dpkg -P --force-depends hplip

before installing the new packages with

sudo dpkg -i *.deb

Changed in hplip:
status: In Progress → Fix Committed

hplip (2.7.7.dfsg.1-0ubuntu4) gutsy; urgency=low

  * debian/55-hpmud.rules: Changed UDEV rules to set owner "lp",
    group "scanner", and permissions 0660 for the /dev/... files, so
    that non-privileged users (not in "lp" group, but in "scanner"
    group) can also access the HP printers. Simply using 0666
    permissions is a security problem (LP: #147369).

 -- Till Kamppeter <email address hidden> Thu, 4 Oct 2007 21:05:57 +0100

Changed in hplip:
status: Fix Committed → Fix Released

This last fix seems to work flawlessly again. If everything is OK with the permissions given, as discussed, that should be the eternal solution to the problem. Thanks!

Richard Kleeman (kleeman) wrote :

Tested on October 6 with fully updated gutsy system and works perfectly. Thanks Till.

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

Other bug subscribers