Commit | Line | Data |
---|---|---|
7f59c150 SK |
1 | What: /sys/bus/usb/devices/INTERFACE/authorized |
2 | Date: August 2015 | |
3 | Description: | |
4 | This allows to authorize (1) or deauthorize (0) | |
5 | individual interfaces instead a whole device | |
6 | in contrast to the device authorization. | |
7 | If a deauthorized interface will be authorized | |
8 | so the driver probing must be triggered manually | |
9 | by writing INTERFACE to /sys/bus/usb/drivers_probe | |
10 | This allows to avoid side-effects with drivers | |
11 | that need multiple interfaces. | |
12 | A deauthorized interface cannot be probed or claimed. | |
13 | ||
14 | What: /sys/bus/usb/devices/usbX/interface_authorized_default | |
15 | Date: August 2015 | |
16 | Description: | |
17 | This is used as value that determines if interfaces | |
18 | would be authorized by default. | |
19 | The value can be 1 or 0. It's by default 1. | |
20 | ||
c8cf2465 DV |
21 | What: /sys/bus/usb/device/.../authorized |
22 | Date: July 2008 | |
23 | KernelVersion: 2.6.26 | |
24 | Contact: David Vrabel <david.vrabel@csr.com> | |
25 | Description: | |
26 | Authorized devices are available for use by device | |
27 | drivers, non-authorized one are not. By default, wired | |
28 | USB devices are authorized. | |
29 | ||
30 | Certified Wireless USB devices are not authorized | |
31 | initially and should be (by writing 1) after the | |
32 | device has been authenticated. | |
33 | ||
34 | What: /sys/bus/usb/device/.../wusb_cdid | |
35 | Date: July 2008 | |
36 | KernelVersion: 2.6.27 | |
37 | Contact: David Vrabel <david.vrabel@csr.com> | |
38 | Description: | |
39 | For Certified Wireless USB devices only. | |
40 | ||
41 | A devices's CDID, as 16 space-separated hex octets. | |
42 | ||
43 | What: /sys/bus/usb/device/.../wusb_ck | |
44 | Date: July 2008 | |
45 | KernelVersion: 2.6.27 | |
46 | Contact: David Vrabel <david.vrabel@csr.com> | |
47 | Description: | |
48 | For Certified Wireless USB devices only. | |
49 | ||
50 | Write the device's connection key (CK) to start the | |
51 | authentication of the device. The CK is 16 | |
52 | space-separated hex octets. | |
53 | ||
54 | What: /sys/bus/usb/device/.../wusb_disconnect | |
55 | Date: July 2008 | |
56 | KernelVersion: 2.6.27 | |
57 | Contact: David Vrabel <david.vrabel@csr.com> | |
58 | Description: | |
59 | For Certified Wireless USB devices only. | |
60 | ||
61 | Write a 1 to force the device to disconnect | |
62 | (equivalent to unplugging a wired USB device). | |
0c7a2b72 | 63 | |
ff231db8 JD |
64 | What: /sys/bus/usb/drivers/.../new_id |
65 | Date: October 2011 | |
66 | Contact: linux-usb@vger.kernel.org | |
67 | Description: | |
68 | Writing a device ID to this file will attempt to | |
69 | dynamically add a new device ID to a USB device driver. | |
70 | This may allow the driver to support more hardware than | |
71 | was included in the driver's static device ID support | |
72 | table at compile time. The format for the device ID is: | |
2fc82c2d | 73 | idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct |
ff231db8 | 74 | The vendor ID and device ID fields are required, the |
2fc82c2d WS |
75 | rest is optional. The Ref* tuple can be used to tell the |
76 | driver to use the same driver_data for the new device as | |
77 | it is used for the reference device. | |
ff231db8 JD |
78 | Upon successfully adding an ID, the driver will probe |
79 | for the device and attempt to bind to it. For example: | |
80 | # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id | |
81 | ||
2fc82c2d WS |
82 | Here add a new device (0458:7045) using driver_data from |
83 | an already supported device (0458:704c): | |
84 | # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id | |
85 | ||
e6bbcef0 BM |
86 | Reading from this file will list all dynamically added |
87 | device IDs in the same format, with one entry per | |
88 | line. For example: | |
89 | # cat /sys/bus/usb/drivers/foo/new_id | |
90 | 8086 10f5 | |
91 | dead beef 06 | |
92 | f00d cafe | |
93 | ||
94 | The list will be truncated at PAGE_SIZE bytes due to | |
95 | sysfs restrictions. | |
96 | ||
ff231db8 JD |
97 | What: /sys/bus/usb-serial/drivers/.../new_id |
98 | Date: October 2011 | |
99 | Contact: linux-usb@vger.kernel.org | |
100 | Description: | |
101 | For serial USB drivers, this attribute appears under the | |
102 | extra bus folder "usb-serial" in sysfs; apart from that | |
103 | difference, all descriptions from the entry | |
104 | "/sys/bus/usb/drivers/.../new_id" apply. | |
105 | ||
0c7a2b72 CR |
106 | What: /sys/bus/usb/drivers/.../remove_id |
107 | Date: November 2009 | |
108 | Contact: CHENG Renquan <rqcheng@smu.edu.sg> | |
109 | Description: | |
110 | Writing a device ID to this file will remove an ID | |
111 | that was dynamically added via the new_id sysfs entry. | |
112 | The format for the device ID is: | |
113 | idVendor idProduct. After successfully | |
114 | removing an ID, the driver will no longer support the | |
115 | device. This is useful to ensure auto probing won't | |
116 | match the driver to the device. For example: | |
117 | # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id | |
ef955341 | 118 | |
e6bbcef0 BM |
119 | Reading from this file will list the dynamically added |
120 | device IDs, exactly like reading from the entry | |
121 | "/sys/bus/usb/drivers/.../new_id" | |
122 | ||
c1045e87 AX |
123 | What: /sys/bus/usb/devices/.../power/usb2_hardware_lpm |
124 | Date: September 2011 | |
125 | Contact: Andiry Xu <andiry.xu@amd.com> | |
126 | Description: | |
ceb6c9c8 RW |
127 | If CONFIG_PM is set and a USB 2.0 lpm-capable device is plugged |
128 | in to a xHCI host which support link PM, it will perform a LPM | |
129 | test; if the test is passed and host supports USB2 hardware LPM | |
130 | (xHCI 1.0 feature), USB2 hardware LPM will be enabled for the | |
131 | device and the USB device directory will contain a file named | |
132 | power/usb2_hardware_lpm. The file holds a string value (enable | |
133 | or disable) indicating whether or not USB2 hardware LPM is | |
134 | enabled for the device. Developer can write y/Y/1 or n/N/0 to | |
135 | the file to enable/disable the feature. | |
0846e7e9 | 136 | |
bf5ce5bf LB |
137 | What: /sys/bus/usb/devices/.../power/usb3_hardware_lpm_u1 |
138 | /sys/bus/usb/devices/.../power/usb3_hardware_lpm_u2 | |
139 | Date: November 2015 | |
655fe4ef | 140 | Contact: Kevin Strasser <kevin.strasser@linux.intel.com> |
bf5ce5bf | 141 | Lu Baolu <baolu.lu@linux.intel.com> |
655fe4ef | 142 | Description: |
a2e66ad3 VR |
143 | If CONFIG_PM is set and a USB 3.0 lpm-capable device is plugged |
144 | in to a xHCI host which supports link PM, it will check if U1 | |
145 | and U2 exit latencies have been set in the BOS descriptor; if | |
bf5ce5bf | 146 | the check is passed and the host supports USB3 hardware LPM, |
a2e66ad3 | 147 | USB3 hardware LPM will be enabled for the device and the USB |
bf5ce5bf LB |
148 | device directory will contain two files named |
149 | power/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. These | |
150 | files hold a string value (enable or disable) indicating whether | |
151 | or not USB3 hardware LPM U1 or U2 is enabled for the device. | |
655fe4ef | 152 | |
0846e7e9 MG |
153 | What: /sys/bus/usb/devices/.../removable |
154 | Date: February 2012 | |
155 | Contact: Matthew Garrett <mjg@redhat.com> | |
156 | Description: | |
157 | Some information about whether a given USB device is | |
158 | physically fixed to the platform can be inferred from a | |
c94bed8e | 159 | combination of hub descriptor bits and platform-specific data |
0846e7e9 MG |
160 | such as ACPI. This file will read either "removable" or |
161 | "fixed" if the information is available, and "unknown" | |
c94bed8e | 162 | otherwise. |
024f117c SS |
163 | |
164 | What: /sys/bus/usb/devices/.../ltm_capable | |
165 | Date: July 2012 | |
166 | Contact: Sarah Sharp <sarah.a.sharp@linux.intel.com> | |
167 | Description: | |
168 | USB 3.0 devices may optionally support Latency Tolerance | |
169 | Messaging (LTM). They indicate their support by setting a bit | |
170 | in the bmAttributes field of their SuperSpeed BOS descriptors. | |
171 | If that bit is set for the device, ltm_capable will read "yes". | |
172 | If the device doesn't support LTM, the file will read "no". | |
173 | The file will be present for all speeds of USB devices, and will | |
174 | always read "no" for USB 1.1 and USB 2.0 devices. | |
fa2a9566 LT |
175 | |
176 | What: /sys/bus/usb/devices/.../(hub interface)/portX | |
177 | Date: August 2012 | |
178 | Contact: Lan Tianyu <tianyu.lan@intel.com> | |
179 | Description: | |
180 | The /sys/bus/usb/devices/.../(hub interface)/portX | |
181 | is usb port device's sysfs directory. | |
cef7468c LT |
182 | |
183 | What: /sys/bus/usb/devices/.../(hub interface)/portX/connect_type | |
184 | Date: January 2013 | |
185 | Contact: Lan Tianyu <tianyu.lan@intel.com> | |
186 | Description: | |
187 | Some platforms provide usb port connect types through ACPI. | |
188 | This attribute is to expose these information to user space. | |
189 | The file will read "hotplug", "wired" and "not used" if the | |
190 | information is available, and "unknown" otherwise. | |
17f34867 | 191 | |
513072d9 LB |
192 | What: /sys/bus/usb/devices/.../(hub interface)/portX/usb3_lpm_permit |
193 | Date: November 2015 | |
194 | Contact: Lu Baolu <baolu.lu@linux.intel.com> | |
195 | Description: | |
196 | Some USB3.0 devices are not friendly to USB3 LPM. usb3_lpm_permit | |
197 | attribute allows enabling/disabling usb3 lpm of a port. It takes | |
198 | effect both before and after a usb device is enumerated. Supported | |
199 | values are "0" if both u1 and u2 are NOT permitted, "u1" if only u1 | |
200 | is permitted, "u2" if only u2 is permitted, "u1_u2" if both u1 and | |
201 | u2 are permitted. | |
202 | ||
17f34867 MN |
203 | What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout |
204 | Date: May 2013 | |
205 | Contact: Mathias Nyman <mathias.nyman@linux.intel.com> | |
206 | Description: | |
207 | USB 2.0 devices may support hardware link power management (LPM) | |
208 | L1 sleep state. The usb2_lpm_l1_timeout attribute allows | |
209 | tuning the timeout for L1 inactivity timer (LPM timer), e.g. | |
210 | needed inactivity time before host requests the device to go to L1 sleep. | |
211 | Useful for power management tuning. | |
212 | Supported values are 0 - 65535 microseconds. | |
213 | ||
214 | What: /sys/bus/usb/devices/.../power/usb2_lpm_besl | |
215 | Date: May 2013 | |
216 | Contact: Mathias Nyman <mathias.nyman@linux.intel.com> | |
217 | Description: | |
218 | USB 2.0 devices that support hardware link power management (LPM) | |
219 | L1 sleep state now use a best effort service latency value (BESL) to | |
220 | indicate the best effort to resumption of service to the device after the | |
221 | initiation of the resume event. | |
222 | If the device does not have a preferred besl value then the host can select | |
223 | one instead. This usb2_lpm_besl attribute allows to tune the host selected besl | |
224 | value in order to tune power saving and service latency. | |
225 | ||
226 | Supported values are 0 - 15. | |
227 | More information on how besl values map to microseconds can be found in | |
228 | USB 2.0 ECN Errata for Link Power Management, section 4.10) |