On Mon, 7 Nov 2005, moreau francis wrote:

> Hi,
> 
> I have a simple question on sysfs structure for usb. I haven't find out an
> answer in neither kernel documentation nor FAQ linux-usb web site. I just want
> to know the naming scheme in /sys/bus/usb/device.
> 
> For example in my directory I have:
> 
> # ls  /sys/bus/usb/devices/
> 1-0:1.0      1-1.3        1-1.3.1:1.0  1-1:1.0
> 1-1          1-1.3.1      1-1.3:1.0    usb1
> 
> How can I know the meaning of each directory ?

The names that begin with "usb" refer to USB controllers.  More 
accurately, they refer to the "root hub" associated with each controller.  
The number is the USB bus number.  Apparently you only have one 
controller, so its bus is number 1.  Hence the name "usb1".

"1-0:1.0" is a special case.  It refers to the root hub's interface.  This 
acts just like the interface in an actual hub an almost every respect; see 
below.

All the other entries refer to genuine USB devices and their interfaces.  
The devices are named by a scheme like this:

        bus-port.port.port ...

In other words, the name starts with the bus number followed by a '-'.  
Then comes the sequence of port numbers for each of the intermediate hubs 
along the path to the device.

For example, "1-1" is a device plugged into bus 1, port 1.  It happens to 
be a hub, and "1-1.3" is the device plugged into port 3 of that hub.  That 
device is another hub, and "1-1.3.1" is the device plugged into its port 
1.

The interfaces are indicated by suffixes having this form:

        :config.interface

That is, a ':' followed by the configuration number followed by '.' 
followed by the interface number.  In your examples above, each of the 
devices is using configuration 1 and this configuration has only a single 
interface, number 0.  So the interfaces show up as

        1-1:1.0         1-1.3:1.0               1-1.3.1:1.0

A hub will never have more than a single interface; that's part of the USB
spec.  But other devices can and do have multiple interfaces (and
sometimes multiple configurations).  Each interface gets its own entry in
sysfs and can have its own driver.

Alan Stern



-------------------------------------------------------
SF.Net email is sponsored by:
Tame your development challenges with Apache's Geronimo App Server. Download
it for free - -and be entered to win a 42" plasma tv or your very own
Sony(tm)PSP.  Click here to play: http://sourceforge.net/geronimo.php
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to