Bug 180325 - udev 071 update breaks hplip
Summary: udev 071 update breaks hplip
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: udev
Version: 4
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Harald Hoyer
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-02-07 10:42 UTC by Kevin Kofler
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-05-11 11:43:16 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Kevin Kofler 2006-02-07 10:42:30 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (compatible; Konqueror/3.5; Linux) KHTML/3.5.1 (like Gecko)

Description of problem:
After upgrading udev to 071-0.FC4.2, my previously working USB HP Officejet  
5605z (configured as an "Officejet 5500" given that the 5600 series isn't  
supported in the current FC4 HPLIP yet, using the hp CUPS transport) suddenly  
stopped working: "Device is powered down or unplugged. (5002)".  
  
This is because udev no longer creates /dev/usb/lp? devices, instead treating  
the USB printer as any other printer and creating a /dev/lp? device instead. 
This causes the hp CUPS transport no longer to find the printer. (It expects 
it on /dev/usb/lp?.) 
 
Therefore, either udev needs to create /dev/usb/lp? again, or hplib needs an 
update. 
  
(Note: This may or may not be related to Bug #177799. I figured it's probably  
a different issue, given that the udev update wasn't out yet when #177799 was  
filed.)  

Version-Release number of selected component (if applicable):
udev-071-0.FC4.2

How reproducible:
Always

Steps to Reproduce:
1. Configure a HP USB printer using the hp CUPS backend. 
2. Upgrade udev to 071. 
(If you try to configure the printer after the udev upgrade, 
system-config-printer won't even offer the hp transport as an option.) 
3. Run hp-toolbox to figure out what's wrong. 

Actual Results:  "Device is powered down or unplugged. (5002)" 

Expected Results:  "The printer is idle. (1000)" 

Additional info:

Temporary, non-persistent workaround: 
mkdir /dev/usb 
ln -s /dev/lp0 /dev/usb/lp0

Comment 1 Harald Hoyer 2006-02-15 12:18:25 UTC
Hmm... there is a rule for that... 
BUS=="usb", KERNEL=="lp[0-9]*", NAME="usb/%k"


Comment 2 Kevin Kofler 2006-02-16 09:19:46 UTC
Maybe the rule fails because there's no /dev/usb directory at all? 

Comment 3 Harald Hoyer 2006-02-16 09:54:03 UTC
The directory should be created by udev with this rule.

Comment 4 Kevin Kofler 2006-02-16 10:03:17 UTC
I think there's some syntax error in the udev rules. Here's what I have in 
my /var/log/messages: 
Feb 16 09:32:57 localhost udev[1917]: add_to_rules: error parsing SYSFS 
attribute in 'BUS' 
Feb 16 09:32:57 localhost udev[1917]: get_key_attribute: missing closing brace 
for format 
Feb 16 09:32:57 localhost udev[1917]: add_to_rules: error parsing SYSFS 
attribute in 'BUS' 
Feb 16 09:32:57 localhost udev[1917]: add_to_rules: error parsing SYSFS 
attribute in 'BUS' 
Feb 16 09:32:57 localhost udev[1917]: get_key_attribute: missing closing brace 
for format 
Feb 16 09:32:57 localhost udev[1917]: add_to_rules: error parsing SYSFS 
attribute in 'BUS' 
Feb 16 09:32:57 localhost udev[1917]: add_to_rules: error parsing SYSFS 
attribute in 'BUS' 
Feb 16 09:32:57 localhost udev[1917]: get_key_attribute: missing closing brace 
for format 
Feb 16 09:32:57 localhost udev[1917]: add_to_rules: error parsing SYSFS 
attribute in 'BUS' 
 
And more of the exact same 2 errors, but with other PIDs, later in the boot 
process. 

Comment 5 Kevin Kofler 2006-03-11 01:19:20 UTC
I just noticed that lp0 through lp3 are listed 
in /etc/udev/makedev.d/50-udev.nodes, which contains the following comment at 
the top of it: 
# These device have to be created manually 
 
Presumably this is what is causing the bug. 

Comment 6 Harald Hoyer 2006-03-13 11:15:30 UTC
well, remove them... and see if it makes a difference ...

Comment 7 Kevin Kofler 2006-03-23 12:50:25 UTC
Still broken in FC5, and the FC5 udev doesn't have these lines 
in /etc/udev/makedev.d/50-udev.nodes, so it must be something else. 

Comment 8 Tim Waugh 2006-04-02 18:54:04 UTC
FWIW, FC5's updates-testing yum repo contains a newer version of HPLIP (0.9.10)
which gives similar symptoms to this: basically, when HPLIP is used to access a
printer, the usblp driver is told to detach from that device, and that removes
the corresponding /dev/usb/lp0 node.

Versions of HPLIP prior to 0.9.9 do not do this, however.

Comment 9 Kevin Kofler 2006-05-11 11:43:16 UTC
I've finally manages to track this down: it is not a Fedora bug. The error 
messages in comment #4 come from a broken udev rules file in Ignacio 
Vazquez-Abrams's kernel-module-qc-usb SRPM (which I rebuilt for current 
kernels). For some reason, older udev apparently ignored the broken rules 
silently, whereas 071 and newer is more picky and completely breaks down if a 
rules file is bad. Fixing that rules file fixes both the error messages and 
this problem.

Sorry for the bogus bug report.


Note You need to log in before you can comment on or make changes to this bug.