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:
107ceb6c9c8SRafael J. Wysocki		If CONFIG_PM is set and a USB 2.0 lpm-capable device is plugged
108ceb6c9c8SRafael J. Wysocki		in to a xHCI host which support link PM, it will perform a LPM
109ceb6c9c8SRafael J. Wysocki		test; if the test is passed and host supports USB2 hardware LPM
110ceb6c9c8SRafael J. Wysocki		(xHCI 1.0 feature), USB2 hardware LPM will be enabled for the
111ceb6c9c8SRafael J. Wysocki		device and the USB device directory will contain a file named
112ceb6c9c8SRafael J. Wysocki		power/usb2_hardware_lpm.  The file holds a string value (enable
113ceb6c9c8SRafael J. Wysocki		or disable) indicating whether or not USB2 hardware LPM is
114ceb6c9c8SRafael J. Wysocki		enabled for the device. Developer can write y/Y/1 or n/N/0 to
115ceb6c9c8SRafael J. Wysocki		the file to enable/disable the feature.
1160846e7e9SMatthew Garrett
1170846e7e9SMatthew GarrettWhat:		/sys/bus/usb/devices/.../removable
1180846e7e9SMatthew GarrettDate:		February 2012
1190846e7e9SMatthew GarrettContact:	Matthew Garrett <mjg@redhat.com>
1200846e7e9SMatthew GarrettDescription:
1210846e7e9SMatthew Garrett		Some information about whether a given USB device is
1220846e7e9SMatthew Garrett		physically fixed to the platform can be inferred from a
123c94bed8eSMasanari Iida		combination of hub descriptor bits and platform-specific data
1240846e7e9SMatthew Garrett		such as ACPI. This file will read either "removable" or
1250846e7e9SMatthew Garrett		"fixed" if the information is available, and "unknown"
1260846e7e9SMatthew Garrett		otherwise.
127024f117cSSarah Sharp
128024f117cSSarah SharpWhat:		/sys/bus/usb/devices/.../ltm_capable
129024f117cSSarah SharpDate:		July 2012
130024f117cSSarah SharpContact:	Sarah Sharp <sarah.a.sharp@linux.intel.com>
131024f117cSSarah SharpDescription:
132024f117cSSarah Sharp		USB 3.0 devices may optionally support Latency Tolerance
133024f117cSSarah Sharp		Messaging (LTM).  They indicate their support by setting a bit
134024f117cSSarah Sharp		in the bmAttributes field of their SuperSpeed BOS descriptors.
135024f117cSSarah Sharp		If that bit is set for the device, ltm_capable will read "yes".
136024f117cSSarah Sharp		If the device doesn't support LTM, the file will read "no".
137024f117cSSarah Sharp		The file will be present for all speeds of USB devices, and will
138024f117cSSarah Sharp		always read "no" for USB 1.1 and USB 2.0 devices.
139fa2a9566SLan Tianyu
140fa2a9566SLan TianyuWhat:		/sys/bus/usb/devices/.../(hub interface)/portX
141fa2a9566SLan TianyuDate:		August 2012
142fa2a9566SLan TianyuContact:	Lan Tianyu <tianyu.lan@intel.com>
143fa2a9566SLan TianyuDescription:
144fa2a9566SLan Tianyu		The /sys/bus/usb/devices/.../(hub interface)/portX
145fa2a9566SLan Tianyu		is usb port device's sysfs directory.
146cef7468cSLan Tianyu
147cef7468cSLan TianyuWhat:		/sys/bus/usb/devices/.../(hub interface)/portX/connect_type
148cef7468cSLan TianyuDate:		January 2013
149cef7468cSLan TianyuContact:	Lan Tianyu <tianyu.lan@intel.com>
150cef7468cSLan TianyuDescription:
151cef7468cSLan Tianyu		Some platforms provide usb port connect types through ACPI.
152cef7468cSLan Tianyu		This attribute is to expose these information to user space.
153cef7468cSLan Tianyu		The file will read "hotplug", "wired" and "not used" if the
154cef7468cSLan Tianyu		information is available, and "unknown" otherwise.
15517f34867SMathias Nyman
15617f34867SMathias NymanWhat:		/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
15717f34867SMathias NymanDate:		May 2013
15817f34867SMathias NymanContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
15917f34867SMathias NymanDescription:
16017f34867SMathias Nyman		USB 2.0 devices may support hardware link power management (LPM)
16117f34867SMathias Nyman		L1 sleep state. The usb2_lpm_l1_timeout attribute allows
16217f34867SMathias Nyman		tuning the timeout for L1 inactivity timer (LPM timer), e.g.
16317f34867SMathias Nyman		needed inactivity time before host requests the device to go to L1 sleep.
16417f34867SMathias Nyman		Useful for power management tuning.
16517f34867SMathias Nyman		Supported values are 0 - 65535 microseconds.
16617f34867SMathias Nyman
16717f34867SMathias NymanWhat:		/sys/bus/usb/devices/.../power/usb2_lpm_besl
16817f34867SMathias NymanDate:		May 2013
16917f34867SMathias NymanContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
17017f34867SMathias NymanDescription:
17117f34867SMathias Nyman		USB 2.0 devices that support hardware link power management (LPM)
17217f34867SMathias Nyman		L1 sleep state now use a best effort service latency value (BESL) to
17317f34867SMathias Nyman		indicate the best effort to resumption of service to the device after the
17417f34867SMathias Nyman		initiation of the resume event.
17517f34867SMathias Nyman		If the device does not have a preferred besl value then the host can select
17617f34867SMathias Nyman		one instead. This usb2_lpm_besl attribute allows to tune the host selected besl
17717f34867SMathias Nyman		value in order to tune power saving and service latency.
17817f34867SMathias Nyman
17917f34867SMathias Nyman		Supported values are 0 - 15.
18017f34867SMathias Nyman		More information on how besl values map to microseconds can be found in
18117f34867SMathias Nyman		USB 2.0 ECN Errata for Link Power Management, section 4.10)
182