bcebb9eaedce04da1d4040450bc38878b208428b
[linux-2.6.git] / Documentation / ABI / testing / sysfs-bus-usb
1 What:           /sys/bus/usb/devices/.../power/autosuspend
2 Date:           March 2007
3 KernelVersion:  2.6.21
4 Contact:        Alan Stern <stern@rowland.harvard.edu>
5 Description:
6                 Each USB device directory will contain a file named
7                 power/autosuspend.  This file holds the time (in seconds)
8                 the device must be idle before it will be autosuspended.
9                 0 means the device will be autosuspended as soon as
10                 possible.  Negative values will prevent the device from
11                 being autosuspended at all, and writing a negative value
12                 will resume the device if it is already suspended.
13
14                 The autosuspend delay for newly-created devices is set to
15                 the value of the usbcore.autosuspend module parameter.
16
17 What:           /sys/bus/usb/devices/.../power/level
18 Date:           March 2007
19 KernelVersion:  2.6.21
20 Contact:        Alan Stern <stern@rowland.harvard.edu>
21 Description:
22                 Each USB device directory will contain a file named
23                 power/level.  This file holds a power-level setting for
24                 the device, either "on" or "auto".
25
26                 "on" means that the device is not allowed to autosuspend,
27                 although normal suspends for system sleep will still
28                 be honored.  "auto" means the device will autosuspend
29                 and autoresume in the usual manner, according to the
30                 capabilities of its driver.
31
32                 During normal use, devices should be left in the "auto"
33                 level.  The "on" level is meant for administrative uses.
34                 If you want to suspend a device immediately but leave it
35                 free to wake up in response to I/O requests, you should
36                 write "0" to power/autosuspend.
37
38                 Device not capable of proper suspend and resume should be
39                 left in the "on" level.  Although the USB spec requires
40                 devices to support suspend/resume, many of them do not.
41                 In fact so many don't that by default, the USB core
42                 initializes all non-hub devices in the "on" level.  Some
43                 drivers may change this setting when they are bound.
44
45 What:           /sys/bus/usb/devices/.../power/persist
46 Date:           May 2007
47 KernelVersion:  2.6.23
48 Contact:        Alan Stern <stern@rowland.harvard.edu>
49 Description:
50                 If CONFIG_USB_PERSIST is set, then each USB device directory
51                 will contain a file named power/persist.  The file holds a
52                 boolean value (0 or 1) indicating whether or not the
53                 "USB-Persist" facility is enabled for the device.  Since the
54                 facility is inherently dangerous, it is disabled by default
55                 for all devices except hubs.  For more information, see
56                 Documentation/usb/persist.txt.
57
58 What:           /sys/bus/usb/device/.../power/connected_duration
59 Date:           January 2008
60 KernelVersion:  2.6.25
61 Contact:        Sarah Sharp <sarah.a.sharp@intel.com>
62 Description:
63                 If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
64                 is present.  When read, it returns the total time (in msec)
65                 that the USB device has been connected to the machine.  This
66                 file is read-only.
67 Users:
68                 PowerTOP <power@bughost.org>
69                 http://www.lesswatts.org/projects/powertop/
70
71 What:           /sys/bus/usb/device/.../power/active_duration
72 Date:           January 2008
73 KernelVersion:  2.6.25
74 Contact:        Sarah Sharp <sarah.a.sharp@intel.com>
75 Description:
76                 If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
77                 is present.  When read, it returns the total time (in msec)
78                 that the USB device has been active, i.e. not in a suspended
79                 state.  This file is read-only.
80
81                 Tools can use this file and the connected_duration file to
82                 compute the percentage of time that a device has been active.
83                 For example,
84                 echo $((100 * `cat active_duration` / `cat connected_duration`))
85                 will give an integer percentage.  Note that this does not
86                 account for counter wrap.
87 Users:
88                 PowerTOP <power@bughost.org>
89                 http://www.lesswatts.org/projects/powertop/
90
91 What:           /sys/bus/usb/device/<busnum>-<devnum>...:<config num>-<interface num>/supports_autosuspend
92 Date:           January 2008
93 KernelVersion:  2.6.27
94 Contact:        Sarah Sharp <sarah.a.sharp@intel.com>
95 Description:
96                 When read, this file returns 1 if the interface driver
97                 for this interface supports autosuspend.  It also
98                 returns 1 if no driver has claimed this interface, as an
99                 unclaimed interface will not stop the device from being
100                 autosuspended if all other interface drivers are idle.
101                 The file returns 0 if autosuspend support has not been
102                 added to the driver.
103 Users:
104                 USB PM tool
105                 git://git.moblin.org/users/sarah/usb-pm-tool/
106
107 What:           /sys/bus/usb/device/.../authorized
108 Date:           July 2008
109 KernelVersion:  2.6.26
110 Contact:        David Vrabel <david.vrabel@csr.com>
111 Description:
112                 Authorized devices are available for use by device
113                 drivers, non-authorized one are not.  By default, wired
114                 USB devices are authorized.
115
116                 Certified Wireless USB devices are not authorized
117                 initially and should be (by writing 1) after the
118                 device has been authenticated.
119
120 What:           /sys/bus/usb/device/.../wusb_cdid
121 Date:           July 2008
122 KernelVersion:  2.6.27
123 Contact:        David Vrabel <david.vrabel@csr.com>
124 Description:
125                 For Certified Wireless USB devices only.
126
127                 A devices's CDID, as 16 space-separated hex octets.
128
129 What:           /sys/bus/usb/device/.../wusb_ck
130 Date:           July 2008
131 KernelVersion:  2.6.27
132 Contact:        David Vrabel <david.vrabel@csr.com>
133 Description:
134                 For Certified Wireless USB devices only.
135
136                 Write the device's connection key (CK) to start the
137                 authentication of the device.  The CK is 16
138                 space-separated hex octets.
139
140 What:           /sys/bus/usb/device/.../wusb_disconnect
141 Date:           July 2008
142 KernelVersion:  2.6.27
143 Contact:        David Vrabel <david.vrabel@csr.com>
144 Description:
145                 For Certified Wireless USB devices only.
146
147                 Write a 1 to force the device to disconnect
148                 (equivalent to unplugging a wired USB device).
149
150 What:           /sys/bus/usb/drivers/.../remove_id
151 Date:           November 2009
152 Contact:        CHENG Renquan <rqcheng@smu.edu.sg>
153 Description:
154                 Writing a device ID to this file will remove an ID
155                 that was dynamically added via the new_id sysfs entry.
156                 The format for the device ID is:
157                 idVendor idProduct.     After successfully
158                 removing an ID, the driver will no longer support the
159                 device.  This is useful to ensure auto probing won't
160                 match the driver to the device.  For example:
161                 # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
162
163 What:           /sys/bus/usb/device/.../avoid_reset_quirk
164 Date:           December 2009
165 Contact:        Oliver Neukum <oliver@neukum.org>
166 Description:
167                 Writing 1 to this file tells the kernel that this
168                 device will morph into another mode when it is reset.
169                 Drivers will not use reset for error handling for
170                 such devices.
171 Users:
172                 usb_modeswitch