udev rules problem with kernel-2.6.12-1.1372_FC3
Robert Nichols
rnicholsNOSPAM at comcast.net
Sat Jul 16 16:03:00 UTC 2005
My /etc/udev/rules.d/10-local.rules contains (in one line):
BUS="usb", SYSFS{idVendor}="067b", SYSFS{idProduct)="2303",
SYMLINK="UPS"
Under the 2.6.12-1.1372_FC3 kernel this rule never triggers, and the
needed symlink is not created. This was working fine with kernel
2.6.11-1.35_FC3.
The pl2303.ko and usbserial.ko modules are getting loaded, and the
/dev/ttyUSB0 device works just fine. It's just the rule to create
the symlink that is not being satisfied.
In both kernels, directory /sys/devices/pci0000:00/0000:00:03.0/usb2/2-1
exists and contains an idVendor file with contents "067b" and an
idProduct file with contents "2303".
With the 2.6.12-1.1372_FC3 kernel, udevinfo returns little information
for the device (lines rewarpped for readability):
# udevinfo -a -p /class/tty/ttyUSB0
udevinfo starts with the device the node belongs to and then walks up
the device chain, to print for every device found, all possibly useful
attributes in the udev key format.
Only attributes within one device section may be used together in one
rule, to match the device for which the node will be created.
looking at class device '/sys/class/tty/ttyUSB0':
SYSFS{dev}="188:0"
follow the class device's "device"
looking at the device chain at
'/sys/devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/ttyUSB0':
BUS="usb-serial"
ID="ttyUSB0"
whereas with the 2.6.11-1.35_FC3 I see much more:
# udevinfo -a -p /class/tty/ttyUSB0
udevinfo starts with the device the node belongs to and then walks up
the device chain, to print for every device found, all possibly useful
attributes in the udev key format.
Only attributes within one device section may be used together in one
rule, to match the device for which the node will be created.
looking at class device '/sys/class/tty/ttyUSB0':
SYSFS{dev}="188:0"
follow the class device's "device"
looking at the device chain at
'/sys/devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/ttyUSB0':
BUS="usb-serial"
ID="ttyUSB0"
SYSFS{detach_state}="0"
looking at the device chain at
'/sys/devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0':
BUS="usb"
ID="2-1:1.0"
SYSFS{bAlternateSetting}=" 0"
SYSFS{bInterfaceClass}="ff"
SYSFS{bInterfaceNumber}="00"
SYSFS{bInterfaceProtocol}="00"
SYSFS{bInterfaceSubClass}="00"
SYSFS{bNumEndpoints}="03"
SYSFS{detach_state}="0"
looking at the device chain at
'/sys/devices/pci0000:00/0000:00:03.0/usb2/2-1':
BUS="usb"
ID="2-1"
SYSFS{bConfigurationValue}="1"
SYSFS{bDeviceClass}="00"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bMaxPower}="500mA"
SYSFS{bNumConfigurations}="1"
SYSFS{bNumInterfaces}=" 1"
SYSFS{bcdDevice}="0202"
SYSFS{bmAttributes}="a0"
SYSFS{detach_state}="0"
SYSFS{devnum}="2"
SYSFS{idProduct}="2303"
SYSFS{idVendor}="067b"
SYSFS{maxchild}="0"
SYSFS{speed}="12"
SYSFS{version}=" 1.10"
looking at the device chain at
'/sys/devices/pci0000:00/0000:00:03.0/usb2':
BUS="usb"
ID="usb2"
SYSFS{bConfigurationValue}="1"
SYSFS{bDeviceClass}="09"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bMaxPower}=" 0mA"
SYSFS{bNumConfigurations}="1"
SYSFS{bNumInterfaces}=" 1"
SYSFS{bcdDevice}="0206"
SYSFS{bmAttributes}="c0"
SYSFS{detach_state}="0"
SYSFS{devnum}="1"
SYSFS{idProduct}="0000"
SYSFS{idVendor}="0000"
SYSFS{manufacturer}="Linux 2.6.11-1.35_FC3 ohci_hcd"
SYSFS{maxchild}="3"
SYSFS{product}="Silicon Integrated Systems [SiS] USB 1.0
Controller"
SYSFS{serial}="0000:00:03.0"
SYSFS{speed}="12"
SYSFS{version}=" 1.10"
looking at the device chain at
'/sys/devices/pci0000:00/0000:00:03.0':
BUS="pci"
ID="0000:00:03.0"
SYSFS{class}="0x0c0310"
SYSFS{detach_state}="0"
SYSFS{device}="0x7001"
SYSFS{irq}="11"
SYSFS{local_cpus}="1"
SYSFS{subsystem_device}="0x8087"
SYSFS{subsystem_vendor}="0x1043"
SYSFS{vendor}="0x1039"
looking at the device chain at '/sys/devices/pci0000:00':
BUS=""
ID="pci0000:00"
SYSFS{detach_state}="0"
Another difference is that with the 2.6.12-1.1372_FC3 kernel I see just
# ls -l /sys/class/tty/ttyUSB0:
total 0
-r--r--r-- 1 root root 4096 Jul 16 05:25 dev
lrwxrwxrwx 1 root root 0 Jul 16 05:25 device ->
../../../devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/ttyUSB0
whereas with the 2.6.11-1.35_FC3 kernel I see:
# ls -l /sys/class/tty/ttyUSB0
total 0
-r--r--r-- 1 root root 4096 Jul 16 05:38 dev
lrwxrwxrwx 1 root root 0 Jul 16 05:38 device ->
../../../devices/pci0000:00/0000:00:03.0/usb2/2-1/2-1:1.0/ttyUSB0
lrwxrwxrwx 1 root root 0 Jul 16 05:38 driver ->
../../../bus/usb-serial/drivers/PL-2303
More information about the fedora-list
mailing list