All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Steinert <hachi@kuiki.net>
To: linux-hotplug@vger.kernel.org
Subject: How can I specify a specific 'sub-device' of a device for udev naming?
Date: Mon, 01 Mar 2004 06:08:47 +0000	[thread overview]
Message-ID: <4042D36F.9020909@kuiki.net> (raw)

Morning everybody,

I'm trying to find how I can write a rule which allows me to say "The 
usb-serial bus interface inside the usb device with a sysfs serial of 
"304087" should be named "foo"

I'll paste my udevinfo output for the device in question (A Belkin USB 
to serial dongle) at the bottom, but I am running into a similar issue 
with my Griffin Powermate.

The rule I came up with, which does not work nor seem correct in the 
first place is:

BUS="usb-serial", SYSFS{serial}="304087", NAME="foo"

Since this does not work, I am asuming that the sysfs attributes to not 
trickle down a driver chain for matching in more specific devices.

This does leave me puzzled about two things:

1) Why does udev have a flag to crawl up the sysfs tree (Asuming my 
observations of udev are correct) but no flag to show the attributes of 
only the device I specify? or only 'n' layers down for that matter?

2) How can I write a rule to match the usb-serial interface of a usb 
device with a particular serial number?

I have no idea what to call this act, apart from 'walking' the sysfs 
tree when checking the rules, so after reading all the documentation 
with udev that I noticed, and all of the messages on the list that I 
thought might be related I've come up with nothing.

Can anyone fill me in on this, possibly telling me what this is called, 
and what I am getting wrong?

Thanks much,

Jonathan Steinert


root@yuumi:/dev# udevinfo -a -p /sys/class/tty/ttyUSB0

device '/sys/class/tty/ttyUSB0' has major:minor 188:0
  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:1d.2/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:1d.2/usb2/2-1/2-1:1.0':
    BUS="usb"
    ID="2-1:1.0"
    SYSFS{detach_state}="0"
    SYSFS{bInterfaceNumber}="00"
    SYSFS{bAlternateSetting}=" 0"
    SYSFS{bNumEndpoints}="03"
    SYSFS{bInterfaceClass}="ff"
    SYSFS{bInterfaceSubClass}="ff"
    SYSFS{bInterfaceProtocol}="ff"
    SYSFS{iInterface}="00"

  looking at the device chain at 
'/sys/devices/pci0000:00/0000:00:1d.2/usb2/2-1':
    BUS="usb"
    ID="2-1"
    SYSFS{detach_state}="0"
    SYSFS{bNumConfigurations}="1"
    SYSFS{bNumInterfaces}=" 1"
    SYSFS{bConfigurationValue}="1"
    SYSFS{bmAttributes}="a0"
    SYSFS{bMaxPower}="100mA"
    SYSFS{idVendor}="050d"
    SYSFS{idProduct}="0109"
    SYSFS{bcdDevice}="0102"
    SYSFS{bDeviceClass}="00"
    SYSFS{bDeviceSubClass}="00"
    SYSFS{bDeviceProtocol}="00"
    SYSFS{speed}="12"
    SYSFS{manufacturer}="Belkin USB PDA Adapter"
    SYSFS{product}="Belkin Components"
    SYSFS{serial}="304087"

  looking at the device chain at 
'/sys/devices/pci0000:00/0000:00:1d.2/usb2':
    BUS="usb"
    ID="usb2"
    SYSFS{detach_state}="0"
    SYSFS{bNumInterfaces}=" 1"
    SYSFS{bConfigurationValue}="1"
    SYSFS{bmAttributes}="40"
    SYSFS{bMaxPower}="  0mA"
    SYSFS{idVendor}="0000"
    SYSFS{idProduct}="0000"
    SYSFS{bcdDevice}="0206"
    SYSFS{bDeviceClass}="09"
    SYSFS{bDeviceSubClass}="00"
    SYSFS{bDeviceProtocol}="00"
    SYSFS{bNumConfigurations}="1"
    SYSFS{speed}="12"
    SYSFS{manufacturer}="Linux 2.6.3 uhci_hcd"
    SYSFS{product}="UHCI Host Controller"
    SYSFS{serial}="0000:00:1d.2"

  looking at the device chain at '/sys/devices/pci0000:00/0000:00:1d.2':
    BUS="pci"
    ID="0000:00:1d.2"
    SYSFS{detach_state}="0"
    SYSFS{vendor}="0x8086"
    SYSFS{device}="0x2487"
    SYSFS{subsystem_vendor}="0x8086"
    SYSFS{subsystem_device}="0x4541"
    SYSFS{class}="0x0c0300"
    SYSFS{irq}="11"

  looking at the device chain at '/sys/devices/pci0000:00':
    BUS=""
    ID="pci0000:00"
    SYSFS{detach_state}="0"



-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id\x1356&alloc_id438&op=click
_______________________________________________
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

             reply	other threads:[~2004-03-01  6:08 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-01  6:08 Jonathan Steinert [this message]
2004-03-01 12:36 ` How can I specify a specific 'sub-device' of a device for udev Kay Sievers
2004-03-01 16:23 ` Jonathan Steinert
2004-03-01 17:00 ` Kay Sievers
2004-03-01 23:56 ` Jonathan Steinert
2004-03-02  0:37 ` How can I specify a specific 'sub-device' of a device for udev naming? Kay Sievers
2004-03-04  7:19 ` How can I specify a specific 'sub-device' of a device for udev Jonathan Steinert
2004-03-04 19:53 ` How can I specify a specific 'sub-device' of a device for udev naming? Greg KH

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=4042D36F.9020909@kuiki.net \
    --to=hachi@kuiki.net \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.