1 What: /sys/bus/usb/devices/.../power/persist
4 Contact: Alan Stern <stern@rowland.harvard.edu>
6 USB device directories can contain a file named power/persist.
7 The file holds a boolean value (0 or 1) indicating whether or
8 not the "USB-Persist" facility is enabled for the device. For
9 hubs this facility is always enabled and their device
10 directories will not contain this file.
12 For more information, see Documentation/usb/persist.txt.
14 What: /sys/bus/usb/devices/.../power/autosuspend
17 Contact: Alan Stern <stern@rowland.harvard.edu>
19 Each USB device directory will contain a file named
20 power/autosuspend. This file holds the time (in seconds)
21 the device must be idle before it will be autosuspended.
22 0 means the device will be autosuspended as soon as
23 possible. Negative values will prevent the device from
24 being autosuspended at all, and writing a negative value
25 will resume the device if it is already suspended.
27 The autosuspend delay for newly-created devices is set to
28 the value of the usbcore.autosuspend module parameter.
30 What: /sys/bus/usb/device/.../power/connected_duration
33 Contact: Sarah Sharp <sarah.a.sharp@intel.com>
35 If CONFIG_PM_RUNTIME is enabled then this file
36 is present. When read, it returns the total time (in msec)
37 that the USB device has been connected to the machine. This
40 PowerTOP <powertop@lists.01.org>
41 https://01.org/powertop/
43 What: /sys/bus/usb/device/.../power/active_duration
46 Contact: Sarah Sharp <sarah.a.sharp@intel.com>
48 If CONFIG_PM_RUNTIME is enabled then this file
49 is present. When read, it returns the total time (in msec)
50 that the USB device has been active, i.e. not in a suspended
51 state. This file is read-only.
53 Tools can use this file and the connected_duration file to
54 compute the percentage of time that a device has been active.
56 echo $((100 * `cat active_duration` / `cat connected_duration`))
57 will give an integer percentage. Note that this does not
58 account for counter wrap.
60 PowerTOP <powertop@lists.01.org>
61 https://01.org/powertop/
63 What: /sys/bus/usb/devices/<busnum>-<port[.port]>...:<config num>-<interface num>/supports_autosuspend
66 Contact: Sarah Sharp <sarah.a.sharp@intel.com>
68 When read, this file returns 1 if the interface driver
69 for this interface supports autosuspend. It also
70 returns 1 if no driver has claimed this interface, as an
71 unclaimed interface will not stop the device from being
72 autosuspended if all other interface drivers are idle.
73 The file returns 0 if autosuspend support has not been
77 git://git.moblin.org/users/sarah/usb-pm-tool/
79 What: /sys/bus/usb/device/.../avoid_reset_quirk
81 Contact: Oliver Neukum <oliver@neukum.org>
83 Writing 1 to this file tells the kernel that this
84 device will morph into another mode when it is reset.
85 Drivers will not use reset for error handling for
90 What: /sys/bus/usb/devices/.../devnum
91 KernelVersion: since at least 2.6.18
93 Device address on the USB bus.
97 What: /sys/bus/usb/devices/.../bConfigurationValue
98 KernelVersion: since at least 2.6.18
100 bConfigurationValue of the *active* configuration for the
101 device. Writing 0 or -1 to bConfigurationValue will reset the
102 active configuration (unconfigure the device). Writing
103 another value will change the active configuration.
105 Note that some devices, in violation of the USB spec, have a
106 configuration with a value equal to 0. Writing 0 to
107 bConfigurationValue for these devices will install that
108 configuration, rather then unconfigure the device.
110 Writing -1 will always unconfigure the device.
114 What: /sys/bus/usb/devices/.../busnum
115 KernelVersion: 2.6.22
117 Bus-number of the USB-bus the device is connected to.
121 What: /sys/bus/usb/devices/.../descriptors
122 KernelVersion: 2.6.26
124 Binary file containing cached descriptors of the device. The
125 binary data consists of the device descriptor followed by the
126 descriptors for each configuration of the device.
127 Note that the wTotalLength of the config descriptors can not
128 be trusted, as the device may have a smaller config descriptor
129 than it advertises. The bLength field of each (sub) descriptor
130 can be trusted, and can be used to seek forward one (sub)
131 descriptor at a time until the next config descriptor is found.
132 All descriptors read from this file are in bus-endian format
136 What: /sys/bus/usb/devices/.../speed
137 KernelVersion: since at least 2.6.18
139 Speed the device is connected with to the usb-host in
140 Mbit / second. IE one of 1.5 / 12 / 480 / 5000.