Description of problem: At execution of rule file kernel major number is not known. Version-Release number of selected component (if applicable): udev-127-3.fc10.x86_64 How reproducible: Every time. Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: First time we have tried writing a udev rules file for unique hardware. Here is our rules file. #PROGRAM=="/bin/sh -c "cat /proc/devices | grep -w uceipci | cut -d' ' -f1", MAJOR="%c" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_0 c 253 0" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_1 c 253 1" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_2 c 253 2" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_3 c 253 3" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_4 c 253 4" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_5 c 253 5" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_6 c 253 6" ACTION=="add", SUBSYSTEM=="pci", SYSFS{vendor}=="0x13c6", SYSFS{device}=="0x1553", RUN+="/bin/mknod --mode=666 /dev/uceipci_7 c 253 7" Tried using the first line to define the major number but it did not work. Driver loads but device entries were not being created.
It seems the kernel module for uceipci is broken. This is not the way udev should be used. Fix the kernel module.
Any pointer the source of this kernel module? So we can take a look at it, what is needed. The driver needs to hook into the kernel driver core properly, udev does not support any such setup.
It is a commercial driver. So we will pursue it with the vendor. Is there a good reference document on the process of hardware discovery; loading driver modules and creating the device entries. Done a lot of Google searches but found no adequate documentation. I will close the report on the next change. Thanks
Not a bug, commercial vendor driver that needs work.
(In reply to comment #3) > It is a commercial driver. So we will pursue it with the vendor. Is there a > good reference document on the process of hardware discovery; loading driver > modules and creating the device entries. Done a lot of Google searches but > found no adequate documentation. There is lots of documentation on how to do this, including the book, Linux Device Drivers, third edition. Things have changed a bit since the release of the book, but the general concepts are the same.