SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
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.
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.
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.
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.
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:
--enable-usb Turns on generation of the USB driver code. By default this is disabled.
It looks to me as if usb is not the default when you compile the daemon. I have since re-compiled the kernel with this option turned on; ./configure --enable-usb then make, and make install.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.