Comment 4 for bug 519707

Revision history for this message
Johannes Meixner (jsmeix) wrote :

I agree with Wolfgang that none of the "missing" packages
have anything to do with the low-level USB failures which
are reported here.

When the low-level base USB connection is lost during communication,
(i.e. when it is as if the device was unplugged and re-plugged), the
device node file /dev/bus/usb/<bus#>/<device#> becomes re-created
with an increased <device#> and afterwards udev would change its
permissions according to what is specified for the particular
model's USB IDs in /etc/udev/rules.d/55-hpmud.rules
But when while this happens io/hpmud/musb.c (which runs as "lp")
continues to write data to the device a "Permission denied" might
happen.

In contrast whe the "Permission denied" is the initial error,
it looks like a duplicate of
https://bugzilla.novell.com/show_bug.cgi?id=542473
(read it in particular for background information)
and for a workaround see in particular
https://bugzilla.novell.com/show_bug.cgi?id=565950#c1

Another way to get device access "Permission denied" issues
while printing totally out of sight is to run /usr/lib{64]/backend/cups/hp
as root, see the "PERMISSIONS" section in "man backend".

But perhaps the root cause of the USB communication breakage
is that the device seems to be operated as "high speed USB device
using ehci_hcd" but actually the device fails to work reliably
in high speed mode. In this case have a look at
http://bugzilla.novell.com/show_bug.cgi?id=554664#c10

Of course when the "ehci" kernel module is unloaded
all USB devices can only work in lower speed but at least
for a test to find out if the USB speed is the root cause
you should check if printing works reliably in lower USB speed.

I am not at all an USB expert and I don't know if it is possible
to tell the USB system in the kernel to use lower USB speed
only for particular USB devices.