From: "Adam Kropelin" <akropel1@rochester.rr.com>
To: linux-hotplug@vger.kernel.org
Subject: Re: Static naming for hiddev nodes
Date: Fri, 03 Aug 2007 01:11:38 +0000 [thread overview]
Message-ID: <025601c7d56b$3e645c10$03c8a8c0@kroptech.com> (raw)
In-Reply-To: <01fe01c7d561$6a20b1a0$03c8a8c0@kroptech.com>
Kay Sievers wrote:
> On 8/3/07, Adam Kropelin <akropel1@rochester.rr.com> wrote:
>> Kay Sievers wrote:
>>> On 8/3/07, Adam Kropelin <akropel1@rochester.rr.com> wrote:
>>>> I'm attempting to establish static naming for some hiddev devices
>>>> (UPSes) based on serial numbers. I used to be able to do this
>>>> fairly easily many moons ago in the early days of udev. Revisiting
>>>> it on a modern distro (RHEL5) I am unable to make it work. Here
>>>> are the udev rules I've tried and what happened with each....
>>>>
>>>> DRIVER="hiddev", SYSFS{serial}="JB0319039999", NAME="ups1"
>>>> - Does not match
>>>>
>>>> DRIVER="usbhid", SYSFS{serial}="JB0319039999", NAME="ups1"
>>>> - Does not match
>>>>
>>>> SYSFS{serial}="JB0319039999", NAME="ups1"
>>>> - Matches, but results in a device node for the usbdev not for
>>>> the hiddev
>>>>
>>>> BUS="usb", SYSFS{serial}="JB0319039999", NAME="ups1"
>>>> - Matches, but results in a device node for the usbdev not for
>>>> the hiddev
>>>>
>>>> SUBSYSTEM="usb", SYSFS{serial}="JB0319039999", NAME="ups1"
>>>> - Does not match
>>>>
>>>> I admit to being almost completely lost in the sysfs hierarchy. I'd
>>>> be happy to post a subtree if someone can suggest which one would
>>>> be helpful. It is worth noting that the default rules create
>>>> correct and working hiddev* nodes...I'm just trying to given them
>>>> persistent names.
>>>
>>> What is the "original" device node name, you expect and want to
>>> rename?
>>
>> hiddev0
>>
>>> What does:
>>> udevmonitor --env --kernel
>>> print when you connect the device?
>>
>> My udevmonitor does not appear to support the --kernel option, but
>> here is output from --env:
>
>> UDEV [1186101575.338918] add@/class/usb/hiddev0
>> UDEV_LOG=3
>> ACTIONd
>> DEVPATH=/class/usb/hiddev0
>> SUBSYSTEM=usb
>> SEQNUM(33
>> PHYSDEVPATH=/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2.3/1-2.3:1.0
>> PHYSDEVBUS=usb
>> PHYSDEVDRIVER=usbhid
>> MAJOR\x180
>> MINOR–
>> UDEVD_EVENT=1
>> DEVNAME=/dev/hiddev0
>
> What does:
> udevinfo -a -p /class/usb/hiddev0
> print?
[adk0212@mail etc]$ udevinfo -a -p /class/usb/hiddev0
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 '/class/usb/hiddev0':
KERNEL="hiddev0"
SUBSYSTEM="usb"
SYSFS{dev}="180:96"
looking at parent device
'/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2.3/1-2.3:1.0':
ID="1-2.3:1.0"
BUS="usb"
DRIVER="usbhid"
SYSFS{modalias}="usb:v051Dp0002d0106dc00dsc00dp00ic03isc00ip00"
SYSFS{bInterfaceProtocol}="00"
SYSFS{bInterfaceSubClass}="00"
SYSFS{bInterfaceClass}="03"
SYSFS{bNumEndpoints}="01"
SYSFS{bAlternateSetting}=" 0"
SYSFS{bInterfaceNumber}="00"
looking at parent device
'/devices/pci0000:00/0000:00:07.2/usb1/1-2/1-2.3':
ID="1-2.3"
BUS="usb"
DRIVER="usb"
SYSFS{configuration}=""
SYSFS{serial}="BB0100009999 "
[I swapped UPSes at one point tonight, which is why this serial doesn't
match the udev rules I quoted earlier. I had the serial number right at
the time I did the test.]
SYSFS{product}="Back-UPS RS 1500 FW:8.g6 .D USB FW:g6 "
SYSFS{manufacturer}="American Power Conversion"
SYSFS{maxchild}="0"
SYSFS{version}=" 1.10"
SYSFS{devnum}="5"
SYSFS{speed}="1.5"
SYSFS{bMaxPacketSize0}="8"
SYSFS{bNumConfigurations}="1"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bDeviceClass}="00"
SYSFS{bcdDevice}="0106"
SYSFS{idProduct}="0002"
SYSFS{idVendor}="051d"
SYSFS{bMaxPower}=" 24mA"
SYSFS{bmAttributes}="a0"
SYSFS{bConfigurationValue}="1"
SYSFS{bNumInterfaces}=" 1"
looking at parent device '/devices/pci0000:00/0000:00:07.2/usb1/1-2':
ID="1-2"
BUS="usb"
DRIVER="usb"
SYSFS{configuration}=""
SYSFS{product}="USB2.0 Hub Controller"
SYSFS{manufacturer}="NEC Corporation"
SYSFS{maxchild}="4"
SYSFS{version}=" 2.00"
SYSFS{devnum}="2"
SYSFS{speed}="12"
SYSFS{bMaxPacketSize0}="64"
SYSFS{bNumConfigurations}="1"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bDeviceClass}="09"
SYSFS{bcdDevice}="0100"
SYSFS{idProduct}="0058"
SYSFS{idVendor}="0409"
SYSFS{bMaxPower}="100mA"
SYSFS{bmAttributes}="e0"
SYSFS{bConfigurationValue}="1"
SYSFS{bNumInterfaces}=" 1"
looking at parent device '/devices/pci0000:00/0000:00:07.2/usb1':
ID="usb1"
BUS="usb"
DRIVER="usb"
SYSFS{configuration}=""
SYSFS{serial}="0000:00:07.2"
SYSFS{product}="UHCI Host Controller"
SYSFS{manufacturer}="Linux 2.6.18-8.1.8.el5 uhci_hcd"
SYSFS{maxchild}="2"
SYSFS{version}=" 1.10"
SYSFS{devnum}="1"
SYSFS{speed}="12"
SYSFS{bMaxPacketSize0}="64"
SYSFS{bNumConfigurations}="1"
SYSFS{bDeviceProtocol}="00"
SYSFS{bDeviceSubClass}="00"
SYSFS{bDeviceClass}="09"
SYSFS{bcdDevice}="0206"
SYSFS{idProduct}="0000"
SYSFS{idVendor}="0000"
SYSFS{bMaxPower}=" 0mA"
SYSFS{bmAttributes}="e0"
SYSFS{bConfigurationValue}="1"
SYSFS{bNumInterfaces}=" 1"
looking at parent device '/devices/pci0000:00/0000:00:07.2':
ID="0000:00:07.2"
BUS="pci"
DRIVER="uhci_hcd"
SYSFS{broken_parity_status}="0"
SYSFS{modalias}="pci:v00008086d00007020sv00000000sd00000000bc0Csc03i00"
SYSFS{local_cpus}="ffffffff"
SYSFS{irq}="11"
SYSFS{class}="0x0c0300"
SYSFS{subsystem_device}="0x0000"
SYSFS{subsystem_vendor}="0x0000"
SYSFS{device}="0x7020"
SYSFS{vendor}="0x8086"
looking at parent device '/devices/pci0000:00':
ID="pci0000:00"
BUS=""
DRIVER=""
--Adam
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
next prev parent reply other threads:[~2007-08-03 1:11 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-03 0:01 Static naming for hiddev nodes Adam Kropelin
2007-08-03 0:12 ` Kay Sievers
2007-08-03 0:44 ` Adam Kropelin
2007-08-03 0:59 ` Kay Sievers
2007-08-03 1:11 ` Adam Kropelin [this message]
2007-08-03 1:29 ` Kay Sievers
2007-08-03 12:12 ` Adam Kropelin
2007-08-03 14:10 ` Kay Sievers
2007-08-03 17:04 ` Adam Kropelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='025601c7d56b$3e645c10$03c8a8c0@kroptech.com' \
--to=akropel1@rochester.rr.com \
--cc=linux-hotplug@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).