You are not logged in.

#1 2012-12-01 04:45:27

Registered: 2008-07-23
Posts: 297

[SOLVED] CUPS Printing - USB permission problem

Annoying one this, and quite common, from the searching I've done (no fix for me, unfortunately).

My HP PSC1210 All-in-One USB printer stopped working a few weeks ago (not sure exactly after which update, since we don't use the printer that often).

1. CUPS works (both server and client over the LAN). No problems here.
2. However, CUPS is unable to see the printer when "Add Printer" is selected.
3. I am able to add the printer using hp-tools, but it still won't print - CUPS shows the error "filter failed" next to the print job.
4. Problems above are solved by changing the permissions on 'dev/bus/usb/004/004' - where '4' is discoverable by 'lsusb'.

Trouble is, the chmod solution only persists until the next reboot - so I solved that by writing a usbpermission.service and starting it at boot time (I'm on a native systemd setup), which executes "chmod 0666 /dev/bus/usb/004/004".

The next problem will be obvious - the bus ID of the USB printer changes every time it's switched on and off. Although the above workaround is OK, it doesn't really have WAF (Wife Acceptance Factor) for when I'm not around to fiddle in the terminal and resume the printer in CUPS.

I've tried writing udev rules similar to the following to alleviate the permissions problem properly and persistently, to no avail:

SYSFS{idVendor}=="03f0", SYSFS{idProduct}=="2f11", OWNER="root", GROUP="lp", MODE="0666"
SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="2f11", GROUPS="lp", MODE="0666"

Yes, I am a member of "lp".

How to solve what appears to be a USB permissions problem with my printer so it's "fire and forget" ?

Last edited by sultanoswing (2013-09-25 09:34:14)

Arch-lts (x86_64) w/Gnome 3.20.2
ASUS P7P55-E-Pro, Geforce GTX460, i5-750, 8GB, Samsung 830 SSD | Intel NUC 5i5RYK | ASUS ux303ua | HP Folio 13


#2 2013-09-25 09:33:45

Registered: 2008-07-23
Posts: 297

Re: [SOLVED] CUPS Printing - USB permission problem

Solved after some more research! Sorry to necrobump, but it's a solution that finally came to fruition, and may be of help to others.


1. Created a new rules file: /etc/udev/rules.d/10-cups-usb.rules with the following in it:

# HP PSC1210
ATTR{idVendor}=="03f0", ATTR{idProduct}=="2f11", MODE:="0666", GROUP:="lp"

2. Added my user to the "lp" group. And, with the above rule, the printer is now in the "lp" group rather than the oddly named "dialout" group, checked by issuing:

[root@desktop rules.d]# ls -al /dev/bus/usb/004/
total 0
drwxr-xr-x  2 root root       80 oct.  18 11:20 .
drwxr-xr-x  7 root root      140 oct.  18 11:06 ..
crw-rw-r--  1 root root 189, 384 oct.  18 11:06 001
crw-rw-r--+ 1 root lp   189, 387 oct.  18 11:28 004

3. Replugged the printer.....SUCCESS!

I think what finally cracked this for me was creating the new rules file instead of using 55-hpmud.rules and/or using ":=" instead of "=" after MODE and GROUP, which prevents overwriting by later rules.

Either way, my HP USB printer/scanner is *finally* working again as it should i.e. plug & play.

Note, I *didn't* have to blacklist any modules, such as usblp.

Thanks to this thread for guidance:

Last edited by sultanoswing (2013-09-25 09:35:56)

Arch-lts (x86_64) w/Gnome 3.20.2
ASUS P7P55-E-Pro, Geforce GTX460, i5-750, 8GB, Samsung 830 SSD | Intel NUC 5i5RYK | ASUS ux303ua | HP Folio 13


Board footer

Powered by FluxBB