Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1113800

Summary: latest hplip breaks scanning, toolbox for non-root
Product: Red Hat Enterprise Linux 6 Reporter: Erik M Jacobs <ejacobs>
Component: hplipAssignee: Tim Waugh <twaugh>
Status: CLOSED CURRENTRELEASE QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.5CC: ejacobs
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-05 16:16:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
output of hp-check as non-root user
none
output of hp-check as root user none

Description Erik M Jacobs 2014-06-27 00:05:43 UTC
Description of problem:
I recently updated everything, including all hplip software, and am finding an issue where the hp device manager reports communications errors (running as non-root) and scanning seems to not work (no devices found).

Version-Release number of selected component (if applicable):
hplip-3.12.4-4.el6_4.1.x86_64
hplip-common-3.12.4-4.el6_4.1.x86_64
hplip-gui-3.12.4-4.el6_4.1.x86_64
hplip-libs-3.12.4-4.el6_4.1.x86_64

If I run hp-scan as root, it seems to work fine. It even briefly "fixes" the status issue with the HP Device manager:
[root@dumpster ~]# hp-scan 
warning: hp-scan should not be run as root/superuser.

HP Linux Imaging and Printing System (ver. 3.12.4)
Scan Utility ver. 2.2

Copyright (c) 2001-14 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.

Using device: hpaio:/usb/hp_LaserJet_3030?serial=00MXBM080429

warning: No destinations specified. Adding 'file' destination by default.
Using device hpaio:/usb/hp_LaserJet_3030?serial=00MXBM080429
Opening connection to device...

Resolution: 300dpi
Mode: gray
Compression: JPEG
Scan area (mm):
  Top left (x,y): (0.000000mm, 0.000000mm)
  Bottom right (x,y): (228.599991mm, 381.000000mm)
  Width: 228.599991mm
  Height: 381.000000mm
Destination(s): file
Output file: 
error: Unable to set option source to value Flatbed
warning: File destination enabled with no output file specified.
Setting output format to PNG for greyscale mode.
warning: Defaulting to '/root/hpscan001.png'.

Warming up...
 

Scanning...
Expecting to read 10.8 MB from scanner.
Reading data: [*********************************************************************************************************************************************] 100%  10.8 MB   
Read 10.8 MB from scanner.
Closing device.

Outputting to destination 'file':
Saving to file /root/hpscan001.png

Done.

However, it does not work as non-root:
[thoraxe@dumpster ~]$ hp-scan

HP Linux Imaging and Printing System (ver. 3.12.4)
Scan Utility ver. 2.2

Copyright (c) 2001-14 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.

Using device: hpaio:/usb/hp_LaserJet_3030?serial=00MXBM080429

warning: No destinations specified. Adding 'file' destination by default.
error: Unable to locate device hpaio:/usb/hp_LaserJet_3030?serial=00MXBM080429 using SANE backend hpaio:. Please check HPLIP installation.

From /var/log/messages:
Jun 26 19:59:00 dumpster python: hp-scan[15097]: warning: hp-scan should not be run as root/superuser.
Jun 26 19:59:00 dumpster python: hp-scan[15097]: warning: No destinations specified. Adding 'file' destination by default.
Jun 26 19:59:03 dumpster python: io/hpmud/pp.c 627: unable to read device-id ret=-1
Jun 26 19:59:04 dumpster python: hp-scan[15097]: error: Unable to set option source to value Flatbed
Jun 26 19:59:04 dumpster python: hp-scan[15097]: warning: File destination enabled with no output file specified.
Jun 26 19:59:04 dumpster python: hp-scan[15097]: warning: Defaulting to '/root/hpscan002.png'.
Jun 26 19:59:10 dumpster python: hp-scan[15097]: error: Aborted.
Jun 26 19:59:11 dumpster python: sane_hpaio_cancel: already cancelled!
Jun 26 19:59:11 dumpster python: io/hpmud/hpmud.c 649: invalid channel_write state
Jun 26 19:59:11 dumpster python: io/hpmud/pml.c 375: SetPml channel_write failed ret=31
Jun 26 19:59:11 dumpster python: io/hpmud/hpmud.c 342: device_cleanup: device uri=hp:/usb/hp_LaserJet_3030?serial=00MXBM080429
Jun 26 19:59:11 dumpster python: io/hpmud/hpmud.c 354: device_cleanup: close device dd=1...
Jun 26 19:59:11 dumpster python: io/hpmud/hpmud.c 356: device_cleanup: done closing device dd=1

When running as non-root:
Jun 26 19:59:33 dumpster python: hp-scan[15237]: warning: No destinations specified. Adding 'file' destination by default.
Jun 26 19:59:36 dumpster python: io/hpmud/musb.c 140: unable get_string_descriptor -1: Operation not permitted
Jun 26 19:59:36 dumpster python: io/hpmud/musb.c 2041: invalid product id string ret=-1
Jun 26 19:59:36 dumpster python: io/hpmud/musb.c 140: unable get_string_descriptor -1: Operation not permitted
Jun 26 19:59:36 dumpster python: io/hpmud/musb.c 2046: invalid serial id string ret=-1
Jun 26 19:59:36 dumpster python: io/hpmud/musb.c 140: unable get_string_descriptor -1: Operation not permitted
Jun 26 19:59:36 dumpster python: io/hpmud/musb.c 2051: invalid manufacturer string ret=-1
Jun 26 19:59:36 dumpster python: hp-scan[15237]: error: Unable to locate device hpaio:/usb/hp_LaserJet_3030?serial=00MXBM080429 using SANE backend hpaio:. Please check HPLIP installation.

Additionally, when running the HP Systray and refreshing the device status (or starting it):
Jun 26 20:00:03 dumpster python: io/hpmud/musb.c 140: unable get_string_descriptor -1: Operation not permitted
Jun 26 20:00:03 dumpster python: io/hpmud/musb.c 613: invalid product id string ret=-1
Jun 26 20:00:03 dumpster python: io/hpmud/musb.c 1126: unable to open hp:/usb/hp_LaserJet_3030?serial=00MXBM080429
Jun 26 20:00:03 dumpster python: hp-systray(hpdio)[15294]: error: Unable to communicate with device (code=12): hp:/usb/hp_LaserJet_3030?serial=00MXBM080429
Jun 26 20:00:03 dumpster python: hp-systray(hpdio)[15294]: error: Device not found
Jun 26 20:00:03 dumpster python: io/hpmud/musb.c 140: unable get_string_descriptor -1: Operation not permitted
Jun 26 20:00:03 dumpster python: io/hpmud/musb.c 613: invalid product id string ret=-1
Jun 26 20:00:03 dumpster python: io/hpmud/musb.c 1126: unable to open hpfax:/usb/hp_LaserJet_3030?serial=00MXBM080429
Jun 26 20:00:03 dumpster python: hp-systray(hpdio)[15294]: error: Unable to communicate with device (code=12): hpfax:/usb/hp_LaserJet_3030?serial=00MXBM080429
Jun 26 20:00:03 dumpster python: hp-systray(hpdio)[15294]: error: Device not found

I'll attach the output of hp-check run as both root and non-root as well.

I am wondering if this is not some kind of permissions issue:
Bus 004 Device 002: ID 03f0:1817 Hewlett-Packard LaserJet 3030
[thoraxe@dumpster ~]$ ls -la /proc/bus/usb/004/002
-rw-rw-rw-. 1 root root 96 Jun 26 18:19 /proc/bus/usb/004/002

Although, HP check run as root says otherwise:
HP Device 0x1817 at 004:002: 
    Device URI: hp:/usb/hp_LaserJet_3030?serial=00MXBM080429
    Device node: /dev/bus/usb/004/002
    Mode: 0664
getfacl: Removing leading '/' from absolute path names
# file: dev/bus/usb/004/002
# owner: root
# group: lp
user::rw-
group::rw-
group:lp:rw-
mask::rw-
other::r--

Comment 1 Erik M Jacobs 2014-06-27 00:06:27 UTC
I forgot to add that normal printing from this machine (eg: cups test page) works just fine. Further, this printer is shared via SMB and printing over SMB works, too.

It just seems to be an issue with non-root users accessing the printer(s).

Comment 2 Erik M Jacobs 2014-06-27 00:09:39 UTC
Created attachment 912613 [details]
output of hp-check as non-root user

Comment 3 Erik M Jacobs 2014-06-27 00:11:09 UTC
Created attachment 912614 [details]
output of hp-check as root user

Comment 5 Erik M Jacobs 2014-06-27 00:13:08 UTC
I decided to roll the dice and add my non-root user to the "lp" group, to see what would happen:

[root@dumpster ~]# id thoraxe
uid=500(thoraxe) gid=500(thoraxe) groups=500(thoraxe),7(lp),10(wheel),501(happyusers)

When I logged out and logged back in, the HP system tray / toolbox came up and correctly reported status and I was able to run hp-scan.

I am not sure why "suddenly" this is the case, or if it should even be the correct fix, but it is at least a temporary workaround.

I am guessing that something has changed with respect to permissions for the printer "device" in the latest version, but I'm not sure why that would be the case.

Comment 6 Tim Waugh 2014-07-03 08:48:57 UTC
This looks like bug #905143, which was fixed in this update:
  http://rhn.redhat.com/errata/RHBA-2014-0767.html

You have hplip-3.12.4-4.el6_4.1 (from 2013), but the fix went into hplip-3.12.4-6.el6.

Could you please try "yum update 'hplip*' hpijs libsane-hpaio"? Reboot after installing the update, to make sure the correct udev rules are in use.

Comment 7 Erik M Jacobs 2014-07-05 16:05:13 UTC
hplip-libs-3.12.4-6.el6.x86_64
libsane-hpaio-3.12.4-6.el6.x86_64
hpijs-3.12.4-6.el6.x86_64
hplip-gui-3.12.4-6.el6.x86_64
hplip-common-3.12.4-6.el6.x86_64
hplip-3.12.4-6.el6.x86_64

At this point, I no longer need to be in the "lp" group in order to be able to access the printer(s). However, I am noticing that samba printing has stopped working. I am not sure if it is related:

[2014/07/05 12:03:42.379584,  0] rpc_server/spoolss/srv_spoolss_nt.c:1748(_spoolss_OpenPrinterEx)
  _spoolss_OpenPrinterEx: Cannot open a printer handle for printer \\dumpster

I'll try to troubleshoot that separately, but I guess this issue is probably resolved.

Comment 8 Erik M Jacobs 2014-07-05 16:16:30 UTC
Not sure what I did, but I was able to get Samba printing to work. This is definitely closed.