Bug 433428
| Summary: | udev doesn't create by-path symlinks for virtual input devices | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Pierre Ossman <pierre-bugzilla> |
| Component: | kernel | Assignee: | Kernel Maintainer List <kernel-maint> |
| Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | low | Docs Contact: | |
| Priority: | medium | ||
| Version: | 10 | CC: | harald, kay.sievers |
| Target Milestone: | --- | Keywords: | Triaged |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2009-12-18 06:04:24 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
Pierre Ossman
2008-02-19 08:43:55 UTC
please provide the output of: $ for i in /dev/input/*; do echo $i; udevinfo --query=all --name=$i; done [drzeus@mjolnir]$ for i in /dev/input/*; do echo $i; udevinfo --query=all --name=$i; done /dev/input/by-path node name not found /dev/input/event0 P: /devices/virtual/input/input0/event0 N: input/event0 /dev/input/event1 P: /devices/platform/i8042/serio1/input/input1/event1 N: input/event1 S: input/by-path/platform-i8042-serio-1-event-mouse E: ID_CLASS=mouse E: ID_SERIAL=noserial E: ID_PATH=platform-i8042-serio-1 /dev/input/event2 P: /devices/platform/i8042/serio0/input/input2/event2 N: input/event2 S: input/by-path/platform-i8042-serio-0-event-kbd E: ID_CLASS=kbd E: ID_SERIAL=noserial E: ID_PATH=platform-i8042-serio-0 /dev/input/event3 P: /devices/platform/pcspkr/input/input3/event3 N: input/event3 S: input/by-path/platform-pcspkr-event-spkr E: ID_CLASS=spkr E: ID_SERIAL=noserial E: ID_PATH=platform-pcspkr /dev/input/event4 P: /devices/virtual/input/input4/event4 N: input/event4 /dev/input/event5 P: /devices/virtual/input/input5/event5 N: input/event5 /dev/input/event6 P: /devices/virtual/input/input6/event6 N: input/event6 /dev/input/event7 P: /devices/virtual/input/input7/event7 N: input/event7 /dev/input/mice P: /devices/virtual/input/mice N: input/mice /dev/input/mouse0 P: /devices/virtual/input/input0/mouse0 N: input/mouse0 /dev/input/mouse1 P: /devices/platform/i8042/serio1/input/input1/mouse1 N: input/mouse1 S: input/by-path/platform-i8042-serio-1-mouse E: ID_CLASS=mouse E: ID_SERIAL=noserial E: ID_PATH=platform-i8042-serio-1 ok, please the output of
# for i in /dev/input/mouse*; do \
echo $i; udevinfo --query=all --name=$i --attribute-walk; \
done
/dev/input/mouse0
Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/virtual/input/input0/mouse0':
KERNEL=="mouse0"
SUBSYSTEM=="input"
DRIVER==""
ATTR{dev}=="13:32"
looking at parent device '/devices/virtual/input/input0':
KERNELS=="input0"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="DualPoint Stick"
ATTRS{phys}=="isa0060/serio1/input1"
ATTRS{uniq}==""
ATTRS{modalias}=="input:b0011v0002p0008e0000-e0,1,2,k110,111,112,r0,1,amlsfw"
looking at parent device '/devices/virtual/input':
KERNELS=="input"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/virtual':
KERNELS=="virtual"
SUBSYSTEMS==""
DRIVERS==""
/dev/input/mouse1
Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/platform/i8042/serio1/input/input1/mouse1':
KERNEL=="mouse1"
SUBSYSTEM=="input"
DRIVER==""
ATTR{dev}=="13:33"
looking at parent device '/devices/platform/i8042/serio1/input/input1':
KERNELS=="input1"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="AlpsPS/2 ALPS DualPoint TouchPad"
ATTRS{phys}=="isa0060/serio1/input0"
ATTRS{uniq}==""
ATTRS{modalias}=="input:b0011v0002p0008e7301-e0,1,2,3,k110,111,112,145,14A,r0,1,a0,1,18,mlsfw"
looking at parent device '/devices/platform/i8042/serio1/input':
KERNELS=="input"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device '/devices/platform/i8042/serio1':
KERNELS=="serio1"
SUBSYSTEMS=="serio"
DRIVERS=="psmouse"
ATTRS{description}=="i8042 AUX port"
ATTRS{modalias}=="serio:ty01pr00id00ex00"
ATTRS{bind_mode}=="auto"
ATTRS{protocol}=="AlpsPS/2"
ATTRS{rate}=="100"
ATTRS{resolution}=="200"
ATTRS{resetafter}=="5"
ATTRS{resync_time}=="0"
looking at parent device '/devices/platform/i8042':
KERNELS=="i8042"
SUBSYSTEMS=="platform"
DRIVERS=="i8042"
ATTRS{modalias}=="platform:i8042"
looking at parent device '/devices/platform':
KERNELS=="platform"
SUBSYSTEMS==""
DRIVERS==""
/dev/input/mouse2
Udevinfo starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device
'/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/hci0/acl0050F27FB8EE/input/input8/mouse2':
KERNEL=="mouse2"
SUBSYSTEM=="input"
DRIVER==""
ATTR{dev}=="13:34"
looking at parent device
'/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/hci0/acl0050F27FB8EE/input/input8':
KERNELS=="input8"
SUBSYSTEMS=="input"
DRIVERS==""
ATTRS{name}=="Microsoft Mouse"
ATTRS{phys}=="00:1E:4C:FC:DD:C3"
ATTRS{uniq}=="00:50:F2:7F:B8:EE"
ATTRS{modalias}=="input:b0005v045Ep007Ce0033-e0,1,2,4,k110,111,112,113,114,r0,1,8,am4,lsfw"
looking at parent device
'/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/hci0/acl0050F27FB8EE/input':
KERNELS=="input"
SUBSYSTEMS==""
DRIVERS==""
looking at parent device
'/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/hci0/acl0050F27FB8EE':
KERNELS=="acl0050F27FB8EE"
SUBSYSTEMS=="bluetooth"
DRIVERS==""
ATTRS{type}=="ACL"
ATTRS{address}=="00:50:F2:7F:B8:EE"
looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0/hci0':
KERNELS=="hci0"
SUBSYSTEMS=="bluetooth"
DRIVERS==""
ATTRS{type}=="USB"
ATTRS{name}=="Ossman_s Thinkpad"
ATTRS{class}=="0x00010c"
ATTRS{address}=="00:1E:4C:FC:DD:C3"
ATTRS{features}=="0xffff8ffe9bf90080"
ATTRS{manufacturer}=="15"
ATTRS{hci_version}=="3"
ATTRS{hci_revision}=="8491"
ATTRS{inquiry_cache}==""
ATTRS{idle_timeout}=="0"
ATTRS{sniff_max_interval}=="800"
ATTRS{sniff_min_interval}=="80"
looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.0':
KERNELS=="3-1:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="hci_usb"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bAlternateSetting}==" 0"
ATTRS{bNumEndpoints}=="03"
ATTRS{bInterfaceClass}=="e0"
ATTRS{bInterfaceSubClass}=="01"
ATTRS{bInterfaceProtocol}=="01"
ATTRS{modalias}=="usb:v0A5Cp2110d0100dcE0dsc01dp01icE0isc01ip01"
looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3/3-1':
KERNELS=="3-1"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{dev}=="189:260"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 4"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="399726"
ATTRS{idVendor}=="0a5c"
ATTRS{idProduct}=="2110"
ATTRS{bcdDevice}=="0100"
ATTRS{bDeviceClass}=="e0"
ATTRS{bDeviceSubClass}=="01"
ATTRS{bDeviceProtocol}=="01"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{busnum}=="3"
ATTRS{devnum}=="5"
ATTRS{version}==" 2.00"
ATTRS{maxchild}=="0"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Broadcom Corp"
ATTRS{product}=="BCM2045B"
looking at parent device '/devices/pci0000:00/0000:00:1a.0/usb3':
KERNELS=="usb3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{dev}=="189:256"
ATTRS{configuration}==""
ATTRS{bNumInterfaces}==" 1"
ATTRS{bConfigurationValue}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{bMaxPower}==" 0mA"
ATTRS{urbnum}=="91"
ATTRS{idVendor}=="1d6b"
ATTRS{idProduct}=="0001"
ATTRS{bcdDevice}=="0206"
ATTRS{bDeviceClass}=="09"
ATTRS{bDeviceSubClass}=="00"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bNumConfigurations}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{busnum}=="3"
ATTRS{devnum}=="1"
ATTRS{version}==" 1.10"
ATTRS{maxchild}=="2"
ATTRS{quirks}=="0x0"
ATTRS{authorized}=="1"
ATTRS{manufacturer}=="Linux 2.6.25-rc2-00016-g929e681-dirty uhci_hcd"
ATTRS{product}=="UHCI Host Controller"
ATTRS{serial}=="0000:00:1a.0"
ATTRS{authorized_default}=="1"
looking at parent device '/devices/pci0000:00/0000:00:1a.0':
KERNELS=="0000:00:1a.0"
SUBSYSTEMS=="pci"
DRIVERS=="uhci_hcd"
ATTRS{vendor}=="0x8086"
ATTRS{device}=="0x2834"
ATTRS{subsystem_vendor}=="0x17aa"
ATTRS{subsystem_device}=="0x20aa"
ATTRS{class}=="0x0c0300"
ATTRS{irq}=="20"
ATTRS{local_cpus}=="3"
ATTRS{modalias}=="pci:v00008086d00002834sv000017AAsd000020AAbc0Csc03i00"
ATTRS{broken_parity_status}=="0"
ATTRS{msi_bus}==""
looking at parent device '/devices/pci0000:00':
KERNELS=="pci0000:00"
SUBSYSTEMS==""
DRIVERS==""
ID_PATH is missing from "DualPoint Stick", hence no by-path reassigning to kernel Pierre, it looks like this is an upstream issue, better addressed on linux-kernel and/or linux-input. I'm not sure what you think is missing though. The ID_PATH is something udev generates, not something exported by the kernel. So at this point I don't see how the problem can be fixed in the kernel end. oops.. sry.. yes, correct. But udev/PATH_ID needs valid parent device information to generate persistent links. This device is not virtual at all. The kernel should set the correct parent device, and all will just work fine, I expect. See, this looks bogus: P: Phys=isa0060/serio1/input1 S: Sysfs=/devices/virtual/input/input0 It is hardware backed, but shows up in "virtual". Changing version to '9' as part of upcoming Fedora 9 GA. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping Any update? This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle. Changing version to '10'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping This message is a reminder that Fedora 10 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 10. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '10'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 10's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 10 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping Fedora 10 changed to end-of-life (EOL) status on 2009-12-17. Fedora 10 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed. |