David Vrabel | c8cf246 | 2008-09-17 16:34:41 +0100 | [diff] [blame] | 1 | What: /sys/bus/usb/device/.../authorized |
| 2 | Date: July 2008 |
| 3 | KernelVersion: 2.6.26 |
| 4 | Contact: David Vrabel <david.vrabel@csr.com> |
| 5 | Description: |
| 6 | Authorized devices are available for use by device |
| 7 | drivers, non-authorized one are not. By default, wired |
| 8 | USB devices are authorized. |
| 9 | |
| 10 | Certified Wireless USB devices are not authorized |
| 11 | initially and should be (by writing 1) after the |
| 12 | device has been authenticated. |
| 13 | |
| 14 | What: /sys/bus/usb/device/.../wusb_cdid |
| 15 | Date: July 2008 |
| 16 | KernelVersion: 2.6.27 |
| 17 | Contact: David Vrabel <david.vrabel@csr.com> |
| 18 | Description: |
| 19 | For Certified Wireless USB devices only. |
| 20 | |
| 21 | A devices's CDID, as 16 space-separated hex octets. |
| 22 | |
| 23 | What: /sys/bus/usb/device/.../wusb_ck |
| 24 | Date: July 2008 |
| 25 | KernelVersion: 2.6.27 |
| 26 | Contact: David Vrabel <david.vrabel@csr.com> |
| 27 | Description: |
| 28 | For Certified Wireless USB devices only. |
| 29 | |
| 30 | Write the device's connection key (CK) to start the |
| 31 | authentication of the device. The CK is 16 |
| 32 | space-separated hex octets. |
| 33 | |
| 34 | What: /sys/bus/usb/device/.../wusb_disconnect |
| 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 | Write a 1 to force the device to disconnect |
| 42 | (equivalent to unplugging a wired USB device). |
CHENG Renquan | 0c7a2b7 | 2009-11-22 01:28:52 +0800 | [diff] [blame] | 43 | |
Josua Dietze | ff231db | 2011-10-23 14:22:29 +0200 | [diff] [blame] | 44 | What: /sys/bus/usb/drivers/.../new_id |
| 45 | Date: October 2011 |
| 46 | Contact: linux-usb@vger.kernel.org |
| 47 | Description: |
| 48 | Writing a device ID to this file will attempt to |
| 49 | dynamically add a new device ID to a USB device driver. |
| 50 | This may allow the driver to support more hardware than |
| 51 | was included in the driver's static device ID support |
| 52 | table at compile time. The format for the device ID is: |
Wolfram Sang | 2fc82c2 | 2014-01-10 19:36:42 +0100 | [diff] [blame] | 53 | idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct |
Josua Dietze | ff231db | 2011-10-23 14:22:29 +0200 | [diff] [blame] | 54 | The vendor ID and device ID fields are required, the |
Wolfram Sang | 2fc82c2 | 2014-01-10 19:36:42 +0100 | [diff] [blame] | 55 | rest is optional. The Ref* tuple can be used to tell the |
| 56 | driver to use the same driver_data for the new device as |
| 57 | it is used for the reference device. |
Josua Dietze | ff231db | 2011-10-23 14:22:29 +0200 | [diff] [blame] | 58 | Upon successfully adding an ID, the driver will probe |
| 59 | for the device and attempt to bind to it. For example: |
| 60 | # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id |
| 61 | |
Wolfram Sang | 2fc82c2 | 2014-01-10 19:36:42 +0100 | [diff] [blame] | 62 | Here add a new device (0458:7045) using driver_data from |
| 63 | an already supported device (0458:704c): |
| 64 | # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id |
| 65 | |
Bjørn Mork | e6bbcef | 2012-05-13 12:34:59 +0200 | [diff] [blame] | 66 | Reading from this file will list all dynamically added |
| 67 | device IDs in the same format, with one entry per |
| 68 | line. For example: |
| 69 | # cat /sys/bus/usb/drivers/foo/new_id |
| 70 | 8086 10f5 |
| 71 | dead beef 06 |
| 72 | f00d cafe |
| 73 | |
| 74 | The list will be truncated at PAGE_SIZE bytes due to |
| 75 | sysfs restrictions. |
| 76 | |
Josua Dietze | ff231db | 2011-10-23 14:22:29 +0200 | [diff] [blame] | 77 | What: /sys/bus/usb-serial/drivers/.../new_id |
| 78 | Date: October 2011 |
| 79 | Contact: linux-usb@vger.kernel.org |
| 80 | Description: |
| 81 | For serial USB drivers, this attribute appears under the |
| 82 | extra bus folder "usb-serial" in sysfs; apart from that |
| 83 | difference, all descriptions from the entry |
| 84 | "/sys/bus/usb/drivers/.../new_id" apply. |
| 85 | |
CHENG Renquan | 0c7a2b7 | 2009-11-22 01:28:52 +0800 | [diff] [blame] | 86 | What: /sys/bus/usb/drivers/.../remove_id |
| 87 | Date: November 2009 |
| 88 | Contact: CHENG Renquan <rqcheng@smu.edu.sg> |
| 89 | Description: |
| 90 | Writing a device ID to this file will remove an ID |
| 91 | that was dynamically added via the new_id sysfs entry. |
| 92 | The format for the device ID is: |
| 93 | idVendor idProduct. After successfully |
| 94 | removing an ID, the driver will no longer support the |
| 95 | device. This is useful to ensure auto probing won't |
| 96 | match the driver to the device. For example: |
| 97 | # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id |
Oliver Neukum | ef95534 | 2010-01-16 01:33:03 +0100 | [diff] [blame] | 98 | |
Bjørn Mork | e6bbcef | 2012-05-13 12:34:59 +0200 | [diff] [blame] | 99 | Reading from this file will list the dynamically added |
| 100 | device IDs, exactly like reading from the entry |
| 101 | "/sys/bus/usb/drivers/.../new_id" |
| 102 | |
Andiry Xu | c1045e8 | 2011-09-23 14:19:53 -0700 | [diff] [blame] | 103 | What: /sys/bus/usb/devices/.../power/usb2_hardware_lpm |
| 104 | Date: September 2011 |
| 105 | Contact: Andiry Xu <andiry.xu@amd.com> |
| 106 | Description: |
Alan Stern | 4e9c8e5 | 2013-03-28 15:31:13 -0400 | [diff] [blame] | 107 | If CONFIG_PM_RUNTIME is set and a USB 2.0 lpm-capable device |
Andiry Xu | c1045e8 | 2011-09-23 14:19:53 -0700 | [diff] [blame] | 108 | is plugged in to a xHCI host which support link PM, it will |
| 109 | perform a LPM test; if the test is passed and host supports |
| 110 | USB2 hardware LPM (xHCI 1.0 feature), USB2 hardware LPM will |
| 111 | be enabled for the device and the USB device directory will |
| 112 | contain a file named power/usb2_hardware_lpm. The file holds |
| 113 | a string value (enable or disable) indicating whether or not |
| 114 | USB2 hardware LPM is enabled for the device. Developer can |
| 115 | write y/Y/1 or n/N/0 to the file to enable/disable the |
| 116 | feature. |
Matthew Garrett | 0846e7e | 2012-02-03 17:11:54 -0500 | [diff] [blame] | 117 | |
| 118 | What: /sys/bus/usb/devices/.../removable |
| 119 | Date: February 2012 |
| 120 | Contact: Matthew Garrett <mjg@redhat.com> |
| 121 | Description: |
| 122 | Some information about whether a given USB device is |
| 123 | physically fixed to the platform can be inferred from a |
Masanari Iida | c94bed8e | 2012-04-10 00:22:13 +0900 | [diff] [blame] | 124 | combination of hub descriptor bits and platform-specific data |
Matthew Garrett | 0846e7e | 2012-02-03 17:11:54 -0500 | [diff] [blame] | 125 | such as ACPI. This file will read either "removable" or |
| 126 | "fixed" if the information is available, and "unknown" |
Masanari Iida | c94bed8e | 2012-04-10 00:22:13 +0900 | [diff] [blame] | 127 | otherwise. |
Sarah Sharp | 024f117 | 2012-07-05 17:17:24 -0700 | [diff] [blame] | 128 | |
| 129 | What: /sys/bus/usb/devices/.../ltm_capable |
| 130 | Date: July 2012 |
| 131 | Contact: Sarah Sharp <sarah.a.sharp@linux.intel.com> |
| 132 | Description: |
| 133 | USB 3.0 devices may optionally support Latency Tolerance |
| 134 | Messaging (LTM). They indicate their support by setting a bit |
| 135 | in the bmAttributes field of their SuperSpeed BOS descriptors. |
| 136 | If that bit is set for the device, ltm_capable will read "yes". |
| 137 | If the device doesn't support LTM, the file will read "no". |
| 138 | The file will be present for all speeds of USB devices, and will |
| 139 | always read "no" for USB 1.1 and USB 2.0 devices. |
Lan Tianyu | fa2a956 | 2012-09-05 13:44:31 +0800 | [diff] [blame] | 140 | |
| 141 | What: /sys/bus/usb/devices/.../(hub interface)/portX |
| 142 | Date: August 2012 |
| 143 | Contact: Lan Tianyu <tianyu.lan@intel.com> |
| 144 | Description: |
| 145 | The /sys/bus/usb/devices/.../(hub interface)/portX |
| 146 | is usb port device's sysfs directory. |
Lan Tianyu | cef7468 | 2013-01-20 01:53:32 +0800 | [diff] [blame] | 147 | |
| 148 | What: /sys/bus/usb/devices/.../(hub interface)/portX/connect_type |
| 149 | Date: January 2013 |
| 150 | Contact: Lan Tianyu <tianyu.lan@intel.com> |
| 151 | Description: |
| 152 | Some platforms provide usb port connect types through ACPI. |
| 153 | This attribute is to expose these information to user space. |
| 154 | The file will read "hotplug", "wired" and "not used" if the |
| 155 | information is available, and "unknown" otherwise. |
Mathias Nyman | 17f3486 | 2013-05-23 17:14:31 +0300 | [diff] [blame] | 156 | |
| 157 | What: /sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout |
| 158 | Date: May 2013 |
| 159 | Contact: Mathias Nyman <mathias.nyman@linux.intel.com> |
| 160 | Description: |
| 161 | USB 2.0 devices may support hardware link power management (LPM) |
| 162 | L1 sleep state. The usb2_lpm_l1_timeout attribute allows |
| 163 | tuning the timeout for L1 inactivity timer (LPM timer), e.g. |
| 164 | needed inactivity time before host requests the device to go to L1 sleep. |
| 165 | Useful for power management tuning. |
| 166 | Supported values are 0 - 65535 microseconds. |
| 167 | |
| 168 | What: /sys/bus/usb/devices/.../power/usb2_lpm_besl |
| 169 | Date: May 2013 |
| 170 | Contact: Mathias Nyman <mathias.nyman@linux.intel.com> |
| 171 | Description: |
| 172 | USB 2.0 devices that support hardware link power management (LPM) |
| 173 | L1 sleep state now use a best effort service latency value (BESL) to |
| 174 | indicate the best effort to resumption of service to the device after the |
| 175 | initiation of the resume event. |
| 176 | If the device does not have a preferred besl value then the host can select |
| 177 | one instead. This usb2_lpm_besl attribute allows to tune the host selected besl |
| 178 | value in order to tune power saving and service latency. |
| 179 | |
| 180 | Supported values are 0 - 15. |
| 181 | More information on how besl values map to microseconds can be found in |
| 182 | USB 2.0 ECN Errata for Link Power Management, section 4.10) |