udev not creating usb/hiddev* nodes
Are there any prerequisites which much be met in order for udev to create /dev/usb/hiddev* nodes?
I have two Slack 13.0 systems, each connected to a APC UPS via USB, one of which creates a hiddev0 node and the other doesn't. apcupsd can't find the UPS unless this node is present. The "working" system has been stable in its current configuration for so long that I honestly can't remember if I had to tweak anything in this regard. I've verified that it doesn't use any local udev rules to create this node, and to the best of my knowledge there are no external scripts or processes which would create it either. The non-working system has a similar configuration - no local rules and/or scripts which touch usb devices or nodes. I'm stumped, to put it plainly. :scratch: Any suggestions? |
Are both kernels identical? udev will only create the files when the kernel reports finding the devices (the information may come via HAL) so any link in that chain could be causing the problem. One possibility is that the system that does not create the /dev/usb/hiddev* files does not have the necessary drivers or modules so the kernel does not identify the device. Have you compared the /var/log/messages and dmesg files on both systems? The hiddev device should be reported during USB bus probing.
|
More information here: http://www.apcupsd.com/manual/manual...ion-and-driver.
|
Is the hardware platform the same for the two systems?
It may be that the non-working system needs the ohci-hcd kernel module rather than the default uhci-hcd. Try 'modprobe -r uhci-hcd' then 'modprobe ohci-hcd'. If it works then change /etc/modprobe.d/usb-controller.conf to make it permanent. |
[much troubleshooting & exploring later]
I had previous read through the Verify Device Detection and Driver section of the apcupsd manual posted above, but I missed a key item. The non-working system does not have the hiddev driver. I run a custom build of 2.6.29.6 on the working system, where USB_HIDDEV is enabled. The canned "huge" kernel on the non-working system has USB_HIDDEV disabled. Apparently "huge" could stand to be a little ... huge-er ... in my case. |
Solved - adding CONFIG_USB_HIDDEV=Y to the kernel's config was all that was needed. Thanks for the input everyone!
|
Hmmm, I remember seeing this thread a while ago. This means re-compiling and installing the kernel. The reason I have not done that, yet, is I have the module loaded. An I to believe the module probed fails, and compiled into the kernel it works???
I did find another issue. In the online doc, it states Quote:
I'm testing that now, so far, no difference. |
All times are GMT -5. The time now is 11:17 AM. |