1eaafbc3aSAlan SternWhat:		/sys/bus/usb/devices/.../power/autosuspend
2eaafbc3aSAlan SternDate:		March 2007
3eaafbc3aSAlan SternKernelVersion:	2.6.21
4eaafbc3aSAlan SternContact:	Alan Stern <stern@rowland.harvard.edu>
5eaafbc3aSAlan SternDescription:
6eaafbc3aSAlan Stern		Each USB device directory will contain a file named
7eaafbc3aSAlan Stern		power/autosuspend.  This file holds the time (in seconds)
8eaafbc3aSAlan Stern		the device must be idle before it will be autosuspended.
9eaafbc3aSAlan Stern		0 means the device will be autosuspended as soon as
10eaafbc3aSAlan Stern		possible.  Negative values will prevent the device from
11eaafbc3aSAlan Stern		being autosuspended at all, and writing a negative value
12eaafbc3aSAlan Stern		will resume the device if it is already suspended.
13eaafbc3aSAlan Stern
14eaafbc3aSAlan Stern		The autosuspend delay for newly-created devices is set to
15eaafbc3aSAlan Stern		the value of the usbcore.autosuspend module parameter.
162add5229SAlan Stern
17b41a60ecSAlan SternWhat:		/sys/bus/usb/devices/.../power/persist
18b41a60ecSAlan SternDate:		May 2007
19b41a60ecSAlan SternKernelVersion:	2.6.23
20b41a60ecSAlan SternContact:	Alan Stern <stern@rowland.harvard.edu>
21b41a60ecSAlan SternDescription:
22b41a60ecSAlan Stern		If CONFIG_USB_PERSIST is set, then each USB device directory
23b41a60ecSAlan Stern		will contain a file named power/persist.  The file holds a
24b41a60ecSAlan Stern		boolean value (0 or 1) indicating whether or not the
25b41a60ecSAlan Stern		"USB-Persist" facility is enabled for the device.  Since the
26b41a60ecSAlan Stern		facility is inherently dangerous, it is disabled by default
27b41a60ecSAlan Stern		for all devices except hubs.  For more information, see
28b41a60ecSAlan Stern		Documentation/usb/persist.txt.
29979e524aSSarah Sharp
30979e524aSSarah SharpWhat:		/sys/bus/usb/device/.../power/connected_duration
31979e524aSSarah SharpDate:		January 2008
32979e524aSSarah SharpKernelVersion:	2.6.25
33979e524aSSarah SharpContact:	Sarah Sharp <sarah.a.sharp@intel.com>
34979e524aSSarah SharpDescription:
35979e524aSSarah Sharp		If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
36979e524aSSarah Sharp		is present.  When read, it returns the total time (in msec)
37979e524aSSarah Sharp		that the USB device has been connected to the machine.  This
38979e524aSSarah Sharp		file is read-only.
39979e524aSSarah SharpUsers:
40979e524aSSarah Sharp		PowerTOP <power@bughost.org>
41979e524aSSarah Sharp		http://www.lesswatts.org/projects/powertop/
42979e524aSSarah Sharp
43979e524aSSarah SharpWhat:		/sys/bus/usb/device/.../power/active_duration
44979e524aSSarah SharpDate:		January 2008
45979e524aSSarah SharpKernelVersion:	2.6.25
46979e524aSSarah SharpContact:	Sarah Sharp <sarah.a.sharp@intel.com>
47979e524aSSarah SharpDescription:
48979e524aSSarah Sharp		If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
49979e524aSSarah Sharp		is present.  When read, it returns the total time (in msec)
50979e524aSSarah Sharp		that the USB device has been active, i.e. not in a suspended
51979e524aSSarah Sharp		state.  This file is read-only.
52979e524aSSarah Sharp
53979e524aSSarah Sharp		Tools can use this file and the connected_duration file to
54979e524aSSarah Sharp		compute the percentage of time that a device has been active.
55979e524aSSarah Sharp		For example,
56979e524aSSarah Sharp		echo $((100 * `cat active_duration` / `cat connected_duration`))
57979e524aSSarah Sharp		will give an integer percentage.  Note that this does not
58979e524aSSarah Sharp		account for counter wrap.
59979e524aSSarah SharpUsers:
60979e524aSSarah Sharp		PowerTOP <power@bughost.org>
61979e524aSSarah Sharp		http://www.lesswatts.org/projects/powertop/
62c8cf2465SDavid Vrabel
6349e7cc84SSarah SharpWhat:		/sys/bus/usb/device/<busnum>-<devnum>...:<config num>-<interface num>/supports_autosuspend
6449e7cc84SSarah SharpDate:		January 2008
6549e7cc84SSarah SharpKernelVersion:	2.6.27
6649e7cc84SSarah SharpContact:	Sarah Sharp <sarah.a.sharp@intel.com>
6749e7cc84SSarah SharpDescription:
6849e7cc84SSarah Sharp		When read, this file returns 1 if the interface driver
6949e7cc84SSarah Sharp		for this interface supports autosuspend.  It also
7049e7cc84SSarah Sharp		returns 1 if no driver has claimed this interface, as an
7149e7cc84SSarah Sharp		unclaimed interface will not stop the device from being
7249e7cc84SSarah Sharp		autosuspended if all other interface drivers are idle.
7349e7cc84SSarah Sharp		The file returns 0 if autosuspend support has not been
7449e7cc84SSarah Sharp		added to the driver.
7549e7cc84SSarah SharpUsers:
7649e7cc84SSarah Sharp		USB PM tool
7749e7cc84SSarah Sharp		git://git.moblin.org/users/sarah/usb-pm-tool/
7861e0e79eSDavid Vrabel
79c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../authorized
80c8cf2465SDavid VrabelDate:		July 2008
81c8cf2465SDavid VrabelKernelVersion:	2.6.26
82c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
83c8cf2465SDavid VrabelDescription:
84c8cf2465SDavid Vrabel		Authorized devices are available for use by device
85c8cf2465SDavid Vrabel		drivers, non-authorized one are not.  By default, wired
86c8cf2465SDavid Vrabel		USB devices are authorized.
87c8cf2465SDavid Vrabel
88c8cf2465SDavid Vrabel		Certified Wireless USB devices are not authorized
89c8cf2465SDavid Vrabel		initially and should be (by writing 1) after the
90c8cf2465SDavid Vrabel		device has been authenticated.
91c8cf2465SDavid Vrabel
92c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../wusb_cdid
93c8cf2465SDavid VrabelDate:		July 2008
94c8cf2465SDavid VrabelKernelVersion:	2.6.27
95c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
96c8cf2465SDavid VrabelDescription:
97c8cf2465SDavid Vrabel		For Certified Wireless USB devices only.
98c8cf2465SDavid Vrabel
99c8cf2465SDavid Vrabel		A devices's CDID, as 16 space-separated hex octets.
100c8cf2465SDavid Vrabel
101c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../wusb_ck
102c8cf2465SDavid VrabelDate:		July 2008
103c8cf2465SDavid VrabelKernelVersion:	2.6.27
104c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
105c8cf2465SDavid VrabelDescription:
106c8cf2465SDavid Vrabel		For Certified Wireless USB devices only.
107c8cf2465SDavid Vrabel
108c8cf2465SDavid Vrabel		Write the device's connection key (CK) to start the
109c8cf2465SDavid Vrabel		authentication of the device.  The CK is 16
110c8cf2465SDavid Vrabel		space-separated hex octets.
111c8cf2465SDavid Vrabel
112c8cf2465SDavid VrabelWhat:		/sys/bus/usb/device/.../wusb_disconnect
113c8cf2465SDavid VrabelDate:		July 2008
114c8cf2465SDavid VrabelKernelVersion:	2.6.27
115c8cf2465SDavid VrabelContact:	David Vrabel <david.vrabel@csr.com>
116c8cf2465SDavid VrabelDescription:
117c8cf2465SDavid Vrabel		For Certified Wireless USB devices only.
118c8cf2465SDavid Vrabel
119c8cf2465SDavid Vrabel		Write a 1 to force the device to disconnect
120c8cf2465SDavid Vrabel		(equivalent to unplugging a wired USB device).
1210c7a2b72SCHENG Renquan
122ff231db8SJosua DietzeWhat:		/sys/bus/usb/drivers/.../new_id
123ff231db8SJosua DietzeDate:		October 2011
124ff231db8SJosua DietzeContact:	linux-usb@vger.kernel.org
125ff231db8SJosua DietzeDescription:
126ff231db8SJosua Dietze		Writing a device ID to this file will attempt to
127ff231db8SJosua Dietze		dynamically add a new device ID to a USB device driver.
128ff231db8SJosua Dietze		This may allow the driver to support more hardware than
129ff231db8SJosua Dietze		was included in the driver's static device ID support
130ff231db8SJosua Dietze		table at compile time. The format for the device ID is:
131ff231db8SJosua Dietze		idVendor idProduct bInterfaceClass.
132ff231db8SJosua Dietze		The vendor ID and device ID fields are required, the
133ff231db8SJosua Dietze		interface class is optional.
134ff231db8SJosua Dietze		Upon successfully adding an ID, the driver will probe
135ff231db8SJosua Dietze		for the device and attempt to bind to it.  For example:
136ff231db8SJosua Dietze		# echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
137ff231db8SJosua Dietze
138ff231db8SJosua DietzeWhat:		/sys/bus/usb-serial/drivers/.../new_id
139ff231db8SJosua DietzeDate:		October 2011
140ff231db8SJosua DietzeContact:	linux-usb@vger.kernel.org
141ff231db8SJosua DietzeDescription:
142ff231db8SJosua Dietze		For serial USB drivers, this attribute appears under the
143ff231db8SJosua Dietze		extra bus folder "usb-serial" in sysfs; apart from that
144ff231db8SJosua Dietze		difference, all descriptions from the entry
145ff231db8SJosua Dietze		"/sys/bus/usb/drivers/.../new_id" apply.
146ff231db8SJosua Dietze
1470c7a2b72SCHENG RenquanWhat:		/sys/bus/usb/drivers/.../remove_id
1480c7a2b72SCHENG RenquanDate:		November 2009
1490c7a2b72SCHENG RenquanContact:	CHENG Renquan <rqcheng@smu.edu.sg>
1500c7a2b72SCHENG RenquanDescription:
1510c7a2b72SCHENG Renquan		Writing a device ID to this file will remove an ID
1520c7a2b72SCHENG Renquan		that was dynamically added via the new_id sysfs entry.
1530c7a2b72SCHENG Renquan		The format for the device ID is:
1540c7a2b72SCHENG Renquan		idVendor idProduct.	After successfully
1550c7a2b72SCHENG Renquan		removing an ID, the driver will no longer support the
1560c7a2b72SCHENG Renquan		device.  This is useful to ensure auto probing won't
1570c7a2b72SCHENG Renquan		match the driver to the device.  For example:
1580c7a2b72SCHENG Renquan		# echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
159ef955341SOliver Neukum
1601e63ef0eSOliver NeukumWhat:		/sys/bus/usb/device/.../avoid_reset_quirk
161ef955341SOliver NeukumDate:		December 2009
162ef955341SOliver NeukumContact:	Oliver Neukum <oliver@neukum.org>
163ef955341SOliver NeukumDescription:
164ef955341SOliver Neukum		Writing 1 to this file tells the kernel that this
165ef955341SOliver Neukum		device will morph into another mode when it is reset.
166ef955341SOliver Neukum		Drivers will not use reset for error handling for
167ef955341SOliver Neukum		such devices.
168ef955341SOliver NeukumUsers:
169ef955341SOliver Neukum		usb_modeswitch
170c1045e87SAndiry Xu
171c1045e87SAndiry XuWhat:		/sys/bus/usb/devices/.../power/usb2_hardware_lpm
172c1045e87SAndiry XuDate:		September 2011
173c1045e87SAndiry XuContact:	Andiry Xu <andiry.xu@amd.com>
174c1045e87SAndiry XuDescription:
175c1045e87SAndiry Xu		If CONFIG_USB_SUSPEND is set and a USB 2.0 lpm-capable device
176c1045e87SAndiry Xu		is plugged in to a xHCI host which support link PM, it will
177c1045e87SAndiry Xu		perform a LPM test; if the test is passed and host supports
178c1045e87SAndiry Xu		USB2 hardware LPM (xHCI 1.0 feature), USB2 hardware LPM will
179c1045e87SAndiry Xu		be enabled for the device and the USB device directory will
180c1045e87SAndiry Xu		contain a file named power/usb2_hardware_lpm.  The file holds
181c1045e87SAndiry Xu		a string value (enable or disable) indicating whether or not
182c1045e87SAndiry Xu		USB2 hardware LPM is enabled for the device. Developer can
183c1045e87SAndiry Xu		write y/Y/1 or n/N/0 to the file to enable/disable the
184c1045e87SAndiry Xu		feature.
1850846e7e9SMatthew Garrett
1860846e7e9SMatthew GarrettWhat:		/sys/bus/usb/devices/.../removable
1870846e7e9SMatthew GarrettDate:		February 2012
1880846e7e9SMatthew GarrettContact:	Matthew Garrett <mjg@redhat.com>
1890846e7e9SMatthew GarrettDescription:
1900846e7e9SMatthew Garrett		Some information about whether a given USB device is
1910846e7e9SMatthew Garrett		physically fixed to the platform can be inferred from a
1920846e7e9SMatthew Garrett		combination of hub decriptor bits and platform-specific data
1930846e7e9SMatthew Garrett		such as ACPI. This file will read either "removable" or
1940846e7e9SMatthew Garrett		"fixed" if the information is available, and "unknown"
1950846e7e9SMatthew Garrett		otherwise.