1c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../authorized
2c8cf2465SDavid VrabelDate:		July 2008
3c8cf2465SDavid VrabelKernelVersion:	2.6.26
4c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
5c8cf2465SDavid VrabelDescription:
6c8cf2465SDavid Vrabel		Authorized devices are available for use by device
7c8cf2465SDavid Vrabel		drivers, non-authorized one are not.  By default, wired
8c8cf2465SDavid Vrabel		USB devices are authorized.
9c8cf2465SDavid Vrabel
10c8cf2465SDavid Vrabel		Certified Wireless USB devices are not authorized
11c8cf2465SDavid Vrabel		initially and should be (by writing 1) after the
12c8cf2465SDavid Vrabel		device has been authenticated.
13c8cf2465SDavid Vrabel
14c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../wusb_cdid
15c8cf2465SDavid VrabelDate:		July 2008
16c8cf2465SDavid VrabelKernelVersion:	2.6.27
17c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
18c8cf2465SDavid VrabelDescription:
19c8cf2465SDavid Vrabel		For Certified Wireless USB devices only.
20c8cf2465SDavid Vrabel
21c8cf2465SDavid Vrabel		A devices's CDID, as 16 space-separated hex octets.
22c8cf2465SDavid Vrabel
23c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../wusb_ck
24c8cf2465SDavid VrabelDate:		July 2008
25c8cf2465SDavid VrabelKernelVersion:	2.6.27
26c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
27c8cf2465SDavid VrabelDescription:
28c8cf2465SDavid Vrabel		For Certified Wireless USB devices only.
29c8cf2465SDavid Vrabel
30c8cf2465SDavid Vrabel		Write the device's connection key (CK) to start the
31c8cf2465SDavid Vrabel		authentication of the device.  The CK is 16
32c8cf2465SDavid Vrabel		space-separated hex octets.
33c8cf2465SDavid Vrabel
34c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../wusb_disconnect
35c8cf2465SDavid VrabelDate:		July 2008
36c8cf2465SDavid VrabelKernelVersion:	2.6.27
37c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
38c8cf2465SDavid VrabelDescription:
39c8cf2465SDavid Vrabel		For Certified Wireless USB devices only.
40c8cf2465SDavid Vrabel
41c8cf2465SDavid Vrabel		Write a 1 to force the device to disconnect
42c8cf2465SDavid Vrabel		(equivalent to unplugging a wired USB device).
430c7a2b72SCHENG Renquan
44ff231db8SJosua DietzeWhat:		/sys/bus/usb/drivers/.../new_id
45ff231db8SJosua DietzeDate:		October 2011
46ff231db8SJosua DietzeContact:	linux-usb@vger.kernel.org
47ff231db8SJosua DietzeDescription:
48ff231db8SJosua Dietze		Writing a device ID to this file will attempt to
49ff231db8SJosua Dietze		dynamically add a new device ID to a USB device driver.
50ff231db8SJosua Dietze		This may allow the driver to support more hardware than
51ff231db8SJosua Dietze		was included in the driver's static device ID support
52ff231db8SJosua Dietze		table at compile time. The format for the device ID is:
532fc82c2dSWolfram Sang		idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct
54ff231db8SJosua Dietze		The vendor ID and device ID fields are required, the
552fc82c2dSWolfram Sang		rest is optional. The Ref* tuple can be used to tell the
562fc82c2dSWolfram Sang		driver to use the same driver_data for the new device as
572fc82c2dSWolfram Sang		it is used for the reference device.
58ff231db8SJosua Dietze		Upon successfully adding an ID, the driver will probe
59ff231db8SJosua Dietze		for the device and attempt to bind to it.  For example:
60ff231db8SJosua Dietze		# echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
61ff231db8SJosua Dietze
622fc82c2dSWolfram Sang		Here add a new device (0458:7045) using driver_data from
632fc82c2dSWolfram Sang		an already supported device (0458:704c):
642fc82c2dSWolfram Sang		# echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id
652fc82c2dSWolfram Sang
66e6bbcef0SBjørn Mork		Reading from this file will list all dynamically added
67e6bbcef0SBjørn Mork		device IDs in the same format, with one entry per
68e6bbcef0SBjørn Mork		line. For example:
69e6bbcef0SBjørn Mork		# cat /sys/bus/usb/drivers/foo/new_id
70e6bbcef0SBjørn Mork		8086 10f5
71e6bbcef0SBjørn Mork		dead beef 06
72e6bbcef0SBjørn Mork		f00d cafe
73e6bbcef0SBjørn Mork
74e6bbcef0SBjørn Mork		The list will be truncated at PAGE_SIZE bytes due to
75e6bbcef0SBjørn Mork		sysfs restrictions.
76e6bbcef0SBjørn Mork
77ff231db8SJosua DietzeWhat:		/sys/bus/usb-serial/drivers/.../new_id
78ff231db8SJosua DietzeDate:		October 2011
79ff231db8SJosua DietzeContact:	linux-usb@vger.kernel.org
80ff231db8SJosua DietzeDescription:
81ff231db8SJosua Dietze		For serial USB drivers, this attribute appears under the
82ff231db8SJosua Dietze		extra bus folder "usb-serial" in sysfs; apart from that
83ff231db8SJosua Dietze		difference, all descriptions from the entry
84ff231db8SJosua Dietze		"/sys/bus/usb/drivers/.../new_id" apply.
85ff231db8SJosua Dietze
860c7a2b72SCHENG RenquanWhat:		/sys/bus/usb/drivers/.../remove_id
870c7a2b72SCHENG RenquanDate:		November 2009
880c7a2b72SCHENG RenquanContact:	CHENG Renquan <rqcheng@smu.edu.sg>
890c7a2b72SCHENG RenquanDescription:
900c7a2b72SCHENG Renquan		Writing a device ID to this file will remove an ID
910c7a2b72SCHENG Renquan		that was dynamically added via the new_id sysfs entry.
920c7a2b72SCHENG Renquan		The format for the device ID is:
930c7a2b72SCHENG Renquan		idVendor idProduct.	After successfully
940c7a2b72SCHENG Renquan		removing an ID, the driver will no longer support the
950c7a2b72SCHENG Renquan		device.  This is useful to ensure auto probing won't
960c7a2b72SCHENG Renquan		match the driver to the device.  For example:
970c7a2b72SCHENG Renquan		# echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
98ef955341SOliver Neukum
99e6bbcef0SBjørn Mork		Reading from this file will list the dynamically added
100e6bbcef0SBjørn Mork		device IDs, exactly like reading from the entry
101e6bbcef0SBjørn Mork		"/sys/bus/usb/drivers/.../new_id"
102e6bbcef0SBjørn Mork
103c1045e87SAndiry XuWhat:		/sys/bus/usb/devices/.../power/usb2_hardware_lpm
104c1045e87SAndiry XuDate:		September 2011
105c1045e87SAndiry XuContact:	Andiry Xu <andiry.xu@amd.com>
106c1045e87SAndiry XuDescription:
1074e9c8e5cSAlan Stern		If CONFIG_PM_RUNTIME is set and a USB 2.0 lpm-capable device
108c1045e87SAndiry Xu		is plugged in to a xHCI host which support link PM, it will
109c1045e87SAndiry Xu		perform a LPM test; if the test is passed and host supports
110c1045e87SAndiry Xu		USB2 hardware LPM (xHCI 1.0 feature), USB2 hardware LPM will
111c1045e87SAndiry Xu		be enabled for the device and the USB device directory will
112c1045e87SAndiry Xu		contain a file named power/usb2_hardware_lpm.  The file holds
113c1045e87SAndiry Xu		a string value (enable or disable) indicating whether or not
114c1045e87SAndiry Xu		USB2 hardware LPM is enabled for the device. Developer can
115c1045e87SAndiry Xu		write y/Y/1 or n/N/0 to the file to enable/disable the
116c1045e87SAndiry Xu		feature.
1170846e7e9SMatthew Garrett
1180846e7e9SMatthew GarrettWhat:		/sys/bus/usb/devices/.../removable
1190846e7e9SMatthew GarrettDate:		February 2012
1200846e7e9SMatthew GarrettContact:	Matthew Garrett <mjg@redhat.com>
1210846e7e9SMatthew GarrettDescription:
1220846e7e9SMatthew Garrett		Some information about whether a given USB device is
1230846e7e9SMatthew Garrett		physically fixed to the platform can be inferred from a
124c94bed8eSMasanari Iida		combination of hub descriptor bits and platform-specific data
1250846e7e9SMatthew Garrett		such as ACPI. This file will read either "removable" or
1260846e7e9SMatthew Garrett		"fixed" if the information is available, and "unknown"
1270846e7e9SMatthew Garrett		otherwise.
128024f117cSSarah Sharp
129024f117cSSarah SharpWhat:		/sys/bus/usb/devices/.../ltm_capable
130024f117cSSarah SharpDate:		July 2012
131024f117cSSarah SharpContact:	Sarah Sharp <sarah.a.sharp@linux.intel.com>
132024f117cSSarah SharpDescription:
133024f117cSSarah Sharp		USB 3.0 devices may optionally support Latency Tolerance
134024f117cSSarah Sharp		Messaging (LTM).  They indicate their support by setting a bit
135024f117cSSarah Sharp		in the bmAttributes field of their SuperSpeed BOS descriptors.
136024f117cSSarah Sharp		If that bit is set for the device, ltm_capable will read "yes".
137024f117cSSarah Sharp		If the device doesn't support LTM, the file will read "no".
138024f117cSSarah Sharp		The file will be present for all speeds of USB devices, and will
139024f117cSSarah Sharp		always read "no" for USB 1.1 and USB 2.0 devices.
140fa2a9566SLan Tianyu
141fa2a9566SLan TianyuWhat:		/sys/bus/usb/devices/.../(hub interface)/portX
142fa2a9566SLan TianyuDate:		August 2012
143fa2a9566SLan TianyuContact:	Lan Tianyu <tianyu.lan@intel.com>
144fa2a9566SLan TianyuDescription:
145fa2a9566SLan Tianyu		The /sys/bus/usb/devices/.../(hub interface)/portX
146fa2a9566SLan Tianyu		is usb port device's sysfs directory.
147cef7468cSLan Tianyu
148cef7468cSLan TianyuWhat:		/sys/bus/usb/devices/.../(hub interface)/portX/connect_type
149cef7468cSLan TianyuDate:		January 2013
150cef7468cSLan TianyuContact:	Lan Tianyu <tianyu.lan@intel.com>
151cef7468cSLan TianyuDescription:
152cef7468cSLan Tianyu		Some platforms provide usb port connect types through ACPI.
153cef7468cSLan Tianyu		This attribute is to expose these information to user space.
154cef7468cSLan Tianyu		The file will read "hotplug", "wired" and "not used" if the
155cef7468cSLan Tianyu		information is available, and "unknown" otherwise.
15617f34867SMathias Nyman
15717f34867SMathias NymanWhat:		/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
15817f34867SMathias NymanDate:		May 2013
15917f34867SMathias NymanContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
16017f34867SMathias NymanDescription:
16117f34867SMathias Nyman		USB 2.0 devices may support hardware link power management (LPM)
16217f34867SMathias Nyman		L1 sleep state. The usb2_lpm_l1_timeout attribute allows
16317f34867SMathias Nyman		tuning the timeout for L1 inactivity timer (LPM timer), e.g.
16417f34867SMathias Nyman		needed inactivity time before host requests the device to go to L1 sleep.
16517f34867SMathias Nyman		Useful for power management tuning.
16617f34867SMathias Nyman		Supported values are 0 - 65535 microseconds.
16717f34867SMathias Nyman
16817f34867SMathias NymanWhat:		/sys/bus/usb/devices/.../power/usb2_lpm_besl
16917f34867SMathias NymanDate:		May 2013
17017f34867SMathias NymanContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
17117f34867SMathias NymanDescription:
17217f34867SMathias Nyman		USB 2.0 devices that support hardware link power management (LPM)
17317f34867SMathias Nyman		L1 sleep state now use a best effort service latency value (BESL) to
17417f34867SMathias Nyman		indicate the best effort to resumption of service to the device after the
17517f34867SMathias Nyman		initiation of the resume event.
17617f34867SMathias Nyman		If the device does not have a preferred besl value then the host can select
17717f34867SMathias Nyman		one instead. This usb2_lpm_besl attribute allows to tune the host selected besl
17817f34867SMathias Nyman		value in order to tune power saving and service latency.
17917f34867SMathias Nyman
18017f34867SMathias Nyman		Supported values are 0 - 15.
18117f34867SMathias Nyman		More information on how besl values map to microseconds can be found in
18217f34867SMathias Nyman		USB 2.0 ECN Errata for Link Power Management, section 4.10)
183