Bug 476855

Summary: Major number not known
Product: [Fedora] Fedora Reporter: David Highley <david.m.highley>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 10CC: greg, harald, kay.sievers, kernel-maint, quintela
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-12-17 17:22:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description David Highley 2008-12-17 15:07:53 UTC
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.

Comment 1 Harald Hoyer 2008-12-17 15:23:21 UTC
It seems the kernel module for uceipci is broken. This is not the way udev should be used. Fix the kernel module.

Comment 2 Kay Sievers 2008-12-17 15:57:55 UTC
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.

Comment 3 David Highley 2008-12-17 17:21:27 UTC
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

Comment 4 David Highley 2008-12-17 17:22:21 UTC
Not a bug, commercial vendor driver that needs work.

Comment 5 Greg Kroah-Hartman 2008-12-17 18:20:59 UTC
(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.