When udev tries to create entries in some cases it uses modprobe, and if
this fails it causes an entry to be created in /dev/.udev/failed/

However, this only works correctly if your device drivers are installed
as modules, if the device driver is compiled into the kernel rather than
being a module, the modprobe fails and udev thinks there's a problem
when there isn't. As a result I have 35 entries in /dev/.udev/failed/ a
large number of which I believe are falsely generated, and since I want
to use a monolithic style kernel it's going to be very difficult
spotting the devices that are really failing from the falsely reported ones.

The example I used was the usb/host/uhci-hcd.ko driver. If I have this
compiled into the kernel I have 35 entries in /dev/.udev/failed/, if I
compile this as a module I have 31 entries in /dev/.udev/failed/, the
four entries which no longer exist are all handled by uhci-hcd (I have 4
USB hubs in the machine). I know that in both cases the uhci-hcd driver
is working correctly because without it, all the other usb entries
dissappear - I did an rmmod when it was compiled as a module, and my
entry count went down to 21.

I'm sorry I don't have a fix for this as I'm still trying to work out
how the device driver selection and loading system works.... If I work
out a fix I'll post it but don't hold your breath.

Tony Wright.

--
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to