162306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/<INTERFACE>/authorized
262306a36Sopenharmony_ciDate:		August 2015
362306a36Sopenharmony_ciDescription:
462306a36Sopenharmony_ci		This allows to authorize (1) or deauthorize (0)
562306a36Sopenharmony_ci		individual interfaces instead a whole device
662306a36Sopenharmony_ci		in contrast to the device authorization.
762306a36Sopenharmony_ci		If a deauthorized interface will be authorized
862306a36Sopenharmony_ci		so the driver probing must be triggered manually
962306a36Sopenharmony_ci		by writing INTERFACE to /sys/bus/usb/drivers_probe
1062306a36Sopenharmony_ci		This allows to avoid side-effects with drivers
1162306a36Sopenharmony_ci		that need multiple interfaces.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ci		A deauthorized interface cannot be probed or claimed.
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/interface_authorized_default
1662306a36Sopenharmony_ciDate:		August 2015
1762306a36Sopenharmony_ciDescription:
1862306a36Sopenharmony_ci		This is used as value that determines if interfaces
1962306a36Sopenharmony_ci		would be authorized by default.
2062306a36Sopenharmony_ci		The value can be 1 or 0. It's by default 1.
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciWhat:		/sys/bus/usb/device/.../authorized
2362306a36Sopenharmony_ciDate:		July 2008
2462306a36Sopenharmony_ciKernelVersion:	2.6.26
2562306a36Sopenharmony_ciContact:	David Vrabel <david.vrabel@csr.com>
2662306a36Sopenharmony_ciDescription:
2762306a36Sopenharmony_ci		Authorized devices are available for use by device
2862306a36Sopenharmony_ci		drivers, non-authorized one are not.  By default, wired
2962306a36Sopenharmony_ci		USB devices are authorized.
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciWhat:		/sys/bus/usb/drivers/.../new_id
3262306a36Sopenharmony_ciDate:		October 2011
3362306a36Sopenharmony_ciContact:	linux-usb@vger.kernel.org
3462306a36Sopenharmony_ciDescription:
3562306a36Sopenharmony_ci		Writing a device ID to this file will attempt to
3662306a36Sopenharmony_ci		dynamically add a new device ID to a USB device driver.
3762306a36Sopenharmony_ci		This may allow the driver to support more hardware than
3862306a36Sopenharmony_ci		was included in the driver's static device ID support
3962306a36Sopenharmony_ci		table at compile time. The format for the device ID is:
4062306a36Sopenharmony_ci		idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct
4162306a36Sopenharmony_ci		The vendor ID and device ID fields are required, the
4262306a36Sopenharmony_ci		rest is optional. The `Ref*` tuple can be used to tell the
4362306a36Sopenharmony_ci		driver to use the same driver_data for the new device as
4462306a36Sopenharmony_ci		it is used for the reference device.
4562306a36Sopenharmony_ci		Upon successfully adding an ID, the driver will probe
4662306a36Sopenharmony_ci		for the device and attempt to bind to it.  For example::
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci		  # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		Here add a new device (0458:7045) using driver_data from
5162306a36Sopenharmony_ci		an already supported device (0458:704c)::
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci		  # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		Reading from this file will list all dynamically added
5662306a36Sopenharmony_ci		device IDs in the same format, with one entry per
5762306a36Sopenharmony_ci		line. For example::
5862306a36Sopenharmony_ci
5962306a36Sopenharmony_ci		  # cat /sys/bus/usb/drivers/foo/new_id
6062306a36Sopenharmony_ci		  8086 10f5
6162306a36Sopenharmony_ci		  dead beef 06
6262306a36Sopenharmony_ci		  f00d cafe
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci		The list will be truncated at PAGE_SIZE bytes due to
6562306a36Sopenharmony_ci		sysfs restrictions.
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ciWhat:		/sys/bus/usb-serial/drivers/.../new_id
6862306a36Sopenharmony_ciDate:		October 2011
6962306a36Sopenharmony_ciContact:	linux-usb@vger.kernel.org
7062306a36Sopenharmony_ciDescription:
7162306a36Sopenharmony_ci		For serial USB drivers, this attribute appears under the
7262306a36Sopenharmony_ci		extra bus folder "usb-serial" in sysfs; apart from that
7362306a36Sopenharmony_ci		difference, all descriptions from the entry
7462306a36Sopenharmony_ci		"/sys/bus/usb/drivers/.../new_id" apply.
7562306a36Sopenharmony_ci
7662306a36Sopenharmony_ciWhat:		/sys/bus/usb/drivers/.../remove_id
7762306a36Sopenharmony_ciDate:		November 2009
7862306a36Sopenharmony_ciContact:	CHENG Renquan <rqcheng@smu.edu.sg>
7962306a36Sopenharmony_ciDescription:
8062306a36Sopenharmony_ci		Writing a device ID to this file will remove an ID
8162306a36Sopenharmony_ci		that was dynamically added via the new_id sysfs entry.
8262306a36Sopenharmony_ci		The format for the device ID is:
8362306a36Sopenharmony_ci		idVendor idProduct.	After successfully
8462306a36Sopenharmony_ci		removing an ID, the driver will no longer support the
8562306a36Sopenharmony_ci		device.  This is useful to ensure auto probing won't
8662306a36Sopenharmony_ci		match the driver to the device.  For example:
8762306a36Sopenharmony_ci		# echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id
8862306a36Sopenharmony_ci
8962306a36Sopenharmony_ci		Reading from this file will list the dynamically added
9062306a36Sopenharmony_ci		device IDs, exactly like reading from the entry
9162306a36Sopenharmony_ci		"/sys/bus/usb/drivers/.../new_id"
9262306a36Sopenharmony_ci
9362306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../power/usb2_hardware_lpm
9462306a36Sopenharmony_ciDate:		September 2011
9562306a36Sopenharmony_ciContact:	Andiry Xu <andiry.xu@amd.com>
9662306a36Sopenharmony_ciDescription:
9762306a36Sopenharmony_ci		If CONFIG_PM is set and a USB 2.0 lpm-capable device is plugged
9862306a36Sopenharmony_ci		in to a xHCI host which support link PM, it will perform a LPM
9962306a36Sopenharmony_ci		test; if the test is passed and host supports USB2 hardware LPM
10062306a36Sopenharmony_ci		(xHCI 1.0 feature), USB2 hardware LPM will be enabled for the
10162306a36Sopenharmony_ci		device and the USB device directory will contain a file named
10262306a36Sopenharmony_ci		power/usb2_hardware_lpm.  The file holds a string value (enable
10362306a36Sopenharmony_ci		or disable) indicating whether or not USB2 hardware LPM is
10462306a36Sopenharmony_ci		enabled for the device. Developer can write y/Y/1 or n/N/0 to
10562306a36Sopenharmony_ci		the file to enable/disable the feature.
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u1
10862306a36Sopenharmony_ci		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u2
10962306a36Sopenharmony_ciDate:		November 2015
11062306a36Sopenharmony_ciContact:	Kevin Strasser <kevin.strasser@linux.intel.com>
11162306a36Sopenharmony_ci		Lu Baolu <baolu.lu@linux.intel.com>
11262306a36Sopenharmony_ciDescription:
11362306a36Sopenharmony_ci		If CONFIG_PM is set and a USB 3.0 lpm-capable device is plugged
11462306a36Sopenharmony_ci		in to a xHCI host which supports link PM, it will check if U1
11562306a36Sopenharmony_ci		and U2 exit latencies have been set in the BOS descriptor; if
11662306a36Sopenharmony_ci		the check is passed and the host supports USB3 hardware LPM,
11762306a36Sopenharmony_ci		USB3 hardware LPM will be enabled for the device and the USB
11862306a36Sopenharmony_ci		device directory will contain two files named
11962306a36Sopenharmony_ci		power/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. These
12062306a36Sopenharmony_ci		files hold a string value (enable or disable) indicating whether
12162306a36Sopenharmony_ci		or not USB3 hardware LPM U1 or U2 is enabled for the device.
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../ltm_capable
12462306a36Sopenharmony_ciDate:		July 2012
12562306a36Sopenharmony_ciContact:	Sarah Sharp <sarah.a.sharp@linux.intel.com>
12662306a36Sopenharmony_ciDescription:
12762306a36Sopenharmony_ci		USB 3.0 devices may optionally support Latency Tolerance
12862306a36Sopenharmony_ci		Messaging (LTM).  They indicate their support by setting a bit
12962306a36Sopenharmony_ci		in the bmAttributes field of their SuperSpeed BOS descriptors.
13062306a36Sopenharmony_ci		If that bit is set for the device, ltm_capable will read "yes".
13162306a36Sopenharmony_ci		If the device doesn't support LTM, the file will read "no".
13262306a36Sopenharmony_ci		The file will be present for all speeds of USB devices, and will
13362306a36Sopenharmony_ci		always read "no" for USB 1.1 and USB 2.0 devices.
13462306a36Sopenharmony_ci
13562306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/<INTERFACE>/wireless_status
13662306a36Sopenharmony_ciDate:		February 2023
13762306a36Sopenharmony_ciContact:	Bastien Nocera <hadess@hadess.net>
13862306a36Sopenharmony_ciDescription:
13962306a36Sopenharmony_ci		Some USB devices use a USB receiver dongle to communicate
14062306a36Sopenharmony_ci		wirelessly with their device using proprietary protocols. This
14162306a36Sopenharmony_ci		attribute allows user-space to know whether the device is
14262306a36Sopenharmony_ci		connected to its receiver dongle, and, for example, consider
14362306a36Sopenharmony_ci		the device to be absent when choosing whether to show the
14462306a36Sopenharmony_ci		device's battery, show a headset in a list of outputs, or show
14562306a36Sopenharmony_ci		an on-screen keyboard if the only wireless keyboard is
14662306a36Sopenharmony_ci		turned off.
14762306a36Sopenharmony_ci		This attribute is not to be used to replace protocol specific
14862306a36Sopenharmony_ci		statuses available in WWAN, WLAN/Wi-Fi, Bluetooth, etc.
14962306a36Sopenharmony_ci		If the device does not use a receiver dongle with a wireless
15062306a36Sopenharmony_ci		device, then this attribute will not exist.
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>
15362306a36Sopenharmony_ciDate:		August 2012
15462306a36Sopenharmony_ciContact:	Lan Tianyu <tianyu.lan@intel.com>
15562306a36Sopenharmony_ciDescription:
15662306a36Sopenharmony_ci		The /sys/bus/usb/devices/.../<hub_interface>/port<X>
15762306a36Sopenharmony_ci		is usb port device's sysfs directory.
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/connect_type
16062306a36Sopenharmony_ciDate:		January 2013
16162306a36Sopenharmony_ciContact:	Lan Tianyu <tianyu.lan@intel.com>
16262306a36Sopenharmony_ciDescription:
16362306a36Sopenharmony_ci		Some platforms provide usb port connect types through ACPI.
16462306a36Sopenharmony_ci		This attribute is to expose these information to user space.
16562306a36Sopenharmony_ci		The file will read "hotplug", "hardwired" and "not used" if the
16662306a36Sopenharmony_ci		information is available, and "unknown" otherwise.
16762306a36Sopenharmony_ci
16862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/location
16962306a36Sopenharmony_ciDate:		October 2018
17062306a36Sopenharmony_ciContact:	Bjørn Mork <bjorn@mork.no>
17162306a36Sopenharmony_ciDescription:
17262306a36Sopenharmony_ci		Some platforms provide usb port physical location through
17362306a36Sopenharmony_ci		firmware. This is used by the kernel to pair up logical ports
17462306a36Sopenharmony_ci		mapping to the same physical connector. The attribute exposes the
17562306a36Sopenharmony_ci		raw location value as a hex integer.
17662306a36Sopenharmony_ci
17762306a36Sopenharmony_ci
17862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/quirks
17962306a36Sopenharmony_ciDate:		May 2018
18062306a36Sopenharmony_ciContact:	Nicolas Boichat <drinkcat@chromium.org>
18162306a36Sopenharmony_ciDescription:
18262306a36Sopenharmony_ci		In some cases, we care about time-to-active for devices
18362306a36Sopenharmony_ci		connected on a specific port (e.g. non-standard USB port like
18462306a36Sopenharmony_ci		pogo pins), where the device to be connected is known in
18562306a36Sopenharmony_ci		advance, and behaves well according to the specification.
18662306a36Sopenharmony_ci		This attribute is a bit-field that controls the behavior of
18762306a36Sopenharmony_ci		a specific port:
18862306a36Sopenharmony_ci
18962306a36Sopenharmony_ci		 - Bit 0 of this field selects the "old" enumeration scheme,
19062306a36Sopenharmony_ci		   as it is considerably faster (it only causes one USB reset
19162306a36Sopenharmony_ci		   instead of 2).
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci		   The old enumeration scheme can also be selected globally
19462306a36Sopenharmony_ci		   using /sys/module/usbcore/parameters/old_scheme_first, but
19562306a36Sopenharmony_ci		   it is often not desirable as the new scheme was introduced to
19662306a36Sopenharmony_ci		   increase compatibility with more devices.
19762306a36Sopenharmony_ci		 - Bit 1 reduces TRSTRCY to the 10 ms that are required by the
19862306a36Sopenharmony_ci		   USB 2.0 specification, instead of the 50 ms that are normally
19962306a36Sopenharmony_ci		   used to help make enumeration work better on some high speed
20062306a36Sopenharmony_ci		   devices.
20162306a36Sopenharmony_ci
20262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/over_current_count
20362306a36Sopenharmony_ciDate:		February 2018
20462306a36Sopenharmony_ciContact:	Richard Leitner <richard.leitner@skidata.com>
20562306a36Sopenharmony_ciDescription:
20662306a36Sopenharmony_ci		Most hubs are able to detect over-current situations on their
20762306a36Sopenharmony_ci		ports and report them to the kernel. This attribute is to expose
20862306a36Sopenharmony_ci		the number of over-current situation occurred on a specific port
20962306a36Sopenharmony_ci		to user space. This file will contain an unsigned 32 bit value
21062306a36Sopenharmony_ci		which wraps to 0 after its maximum is reached. This file supports
21162306a36Sopenharmony_ci		poll() for monitoring changes to this value in user space.
21262306a36Sopenharmony_ci
21362306a36Sopenharmony_ci		Any time this value changes the corresponding hub device will send a
21462306a36Sopenharmony_ci		udev event with the following attributes::
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ci		  OVER_CURRENT_PORT=/sys/bus/usb/devices/.../<hub_interface>/port<X>
21762306a36Sopenharmony_ci		  OVER_CURRENT_COUNT=[current value of this sysfs attribute]
21862306a36Sopenharmony_ci
21962306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/usb3_lpm_permit
22062306a36Sopenharmony_ciDate:		November 2015
22162306a36Sopenharmony_ciContact:	Lu Baolu <baolu.lu@linux.intel.com>
22262306a36Sopenharmony_ciDescription:
22362306a36Sopenharmony_ci		Some USB3.0 devices are not friendly to USB3 LPM.  usb3_lpm_permit
22462306a36Sopenharmony_ci		attribute allows enabling/disabling usb3 lpm of a port. It takes
22562306a36Sopenharmony_ci		effect both before and after a usb device is enumerated. Supported
22662306a36Sopenharmony_ci		values are "0" if both u1 and u2 are NOT permitted, "u1" if only u1
22762306a36Sopenharmony_ci		is permitted, "u2" if only u2 is permitted, "u1_u2" if both u1 and
22862306a36Sopenharmony_ci		u2 are permitted.
22962306a36Sopenharmony_ci
23062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/connector
23162306a36Sopenharmony_ciDate:		December 2021
23262306a36Sopenharmony_ciContact:	Heikki Krogerus <heikki.krogerus@linux.intel.com>
23362306a36Sopenharmony_ciDescription:
23462306a36Sopenharmony_ci		Link to the USB Type-C connector when available. This link is
23562306a36Sopenharmony_ci		only created when USB Type-C Connector Class is enabled, and
23662306a36Sopenharmony_ci		only if the system firmware is capable of describing the
23762306a36Sopenharmony_ci		connection between a port and its connector.
23862306a36Sopenharmony_ci
23962306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/disable
24062306a36Sopenharmony_ciDate:		June 2022
24162306a36Sopenharmony_ciContact:	Michael Grzeschik <m.grzeschik@pengutronix.de>
24262306a36Sopenharmony_ciDescription:
24362306a36Sopenharmony_ci		This file controls the state of a USB port, including
24462306a36Sopenharmony_ci		Vbus power output (but only on hubs that support
24562306a36Sopenharmony_ci		power switching -- most hubs don't support it). If
24662306a36Sopenharmony_ci		a port is disabled, the port is unusable: Devices
24762306a36Sopenharmony_ci		attached to the port will not be detected, initialized,
24862306a36Sopenharmony_ci		or enumerated.
24962306a36Sopenharmony_ci
25062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/early_stop
25162306a36Sopenharmony_ciDate:		Sep 2022
25262306a36Sopenharmony_ciContact:	Ray Chi <raychi@google.com>
25362306a36Sopenharmony_ciDescription:
25462306a36Sopenharmony_ci		Some USB hosts have some watchdog mechanisms so that the device
25562306a36Sopenharmony_ci		may enter ramdump if it takes a long time during port initialization.
25662306a36Sopenharmony_ci		This attribute allows each port just has two attempts so that the
25762306a36Sopenharmony_ci		port initialization will be failed quickly. In addition, if a port
25862306a36Sopenharmony_ci		which is marked with early_stop has failed to initialize, it will ignore
25962306a36Sopenharmony_ci		all future connections until this attribute is clear.
26062306a36Sopenharmony_ci
26162306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/state
26262306a36Sopenharmony_ciDate:		June 2023
26362306a36Sopenharmony_ciContact:	Roy Luo <royluo@google.com>
26462306a36Sopenharmony_ciDescription:
26562306a36Sopenharmony_ci		Indicates current state of the USB device attached to the port.
26662306a36Sopenharmony_ci		Valid states are: 'not-attached', 'attached', 'powered',
26762306a36Sopenharmony_ci		'reconnecting', 'unauthenticated', 'default', 'addressed',
26862306a36Sopenharmony_ci		'configured', and 'suspended'. This file supports poll() to
26962306a36Sopenharmony_ci		monitor the state change from user space.
27062306a36Sopenharmony_ci
27162306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
27262306a36Sopenharmony_ciDate:		May 2013
27362306a36Sopenharmony_ciContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
27462306a36Sopenharmony_ciDescription:
27562306a36Sopenharmony_ci		USB 2.0 devices may support hardware link power management (LPM)
27662306a36Sopenharmony_ci		L1 sleep state. The usb2_lpm_l1_timeout attribute allows
27762306a36Sopenharmony_ci		tuning the timeout for L1 inactivity timer (LPM timer), e.g.
27862306a36Sopenharmony_ci		needed inactivity time before host requests the device to go to L1 sleep.
27962306a36Sopenharmony_ci		Useful for power management tuning.
28062306a36Sopenharmony_ci		Supported values are 0 - 65535 microseconds.
28162306a36Sopenharmony_ci
28262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../power/usb2_lpm_besl
28362306a36Sopenharmony_ciDate:		May 2013
28462306a36Sopenharmony_ciContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
28562306a36Sopenharmony_ciDescription:
28662306a36Sopenharmony_ci		USB 2.0 devices that support hardware link power management (LPM)
28762306a36Sopenharmony_ci		L1 sleep state now use a best effort service latency value (BESL) to
28862306a36Sopenharmony_ci		indicate the best effort to resumption of service to the device after the
28962306a36Sopenharmony_ci		initiation of the resume event.
29062306a36Sopenharmony_ci		If the device does not have a preferred besl value then the host can select
29162306a36Sopenharmony_ci		one instead. This usb2_lpm_besl attribute allows to tune the host selected besl
29262306a36Sopenharmony_ci		value in order to tune power saving and service latency.
29362306a36Sopenharmony_ci
29462306a36Sopenharmony_ci		Supported values are 0 - 15.
29562306a36Sopenharmony_ci		More information on how besl values map to microseconds can be found in
29662306a36Sopenharmony_ci		USB 2.0 ECN Errata for Link Power Management, section 4.10)
29762306a36Sopenharmony_ci
29862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../rx_lanes
29962306a36Sopenharmony_ciDate:		March 2018
30062306a36Sopenharmony_ciContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
30162306a36Sopenharmony_ciDescription:
30262306a36Sopenharmony_ci		Number of rx lanes the device is using.
30362306a36Sopenharmony_ci		USB 3.2 adds Dual-lane support, 2 rx and 2 tx lanes over Type-C.
30462306a36Sopenharmony_ci		Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
30562306a36Sopenharmony_ci		direction. Devices before USB 3.2 are single lane (rx_lanes = 1)
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/.../tx_lanes
30862306a36Sopenharmony_ciDate:		March 2018
30962306a36Sopenharmony_ciContact:	Mathias Nyman <mathias.nyman@linux.intel.com>
31062306a36Sopenharmony_ciDescription:
31162306a36Sopenharmony_ci		Number of tx lanes the device is using.
31262306a36Sopenharmony_ci		USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C.
31362306a36Sopenharmony_ci		Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
31462306a36Sopenharmony_ci		direction. Devices before USB 3.2 are single lane (tx_lanes = 1)
31562306a36Sopenharmony_ci
31662306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bAlternateSetting
31762306a36Sopenharmony_ciDescription:
31862306a36Sopenharmony_ci		The current interface alternate setting number, in decimal.
31962306a36Sopenharmony_ci
32062306a36Sopenharmony_ci		See USB specs for its meaning.
32162306a36Sopenharmony_ci
32262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bcdDevice
32362306a36Sopenharmony_ciDescription:
32462306a36Sopenharmony_ci		The device's release number, in hexadecimal.
32562306a36Sopenharmony_ci
32662306a36Sopenharmony_ci		See USB specs for its meaning.
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bConfigurationValue
32962306a36Sopenharmony_ciDescription:
33062306a36Sopenharmony_ci		While a USB device typically have just one configuration
33162306a36Sopenharmony_ci		setting, some devices support multiple configurations.
33262306a36Sopenharmony_ci
33362306a36Sopenharmony_ci		This value shows the current configuration, in decimal.
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_ci		Changing its value will change the device's configuration
33662306a36Sopenharmony_ci		to another setting.
33762306a36Sopenharmony_ci
33862306a36Sopenharmony_ci		The number of configurations supported by a device is at:
33962306a36Sopenharmony_ci
34062306a36Sopenharmony_ci			/sys/bus/usb/devices/usbX/bNumConfigurations
34162306a36Sopenharmony_ci
34262306a36Sopenharmony_ci		See USB specs for its meaning.
34362306a36Sopenharmony_ci
34462306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bDeviceClass
34562306a36Sopenharmony_ciDescription:
34662306a36Sopenharmony_ci		Class code of the device, in hexadecimal.
34762306a36Sopenharmony_ci
34862306a36Sopenharmony_ci		See USB specs for its meaning.
34962306a36Sopenharmony_ci
35062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bDeviceProtocol
35162306a36Sopenharmony_ciDescription:
35262306a36Sopenharmony_ci		Protocol code of the device, in hexadecimal.
35362306a36Sopenharmony_ci
35462306a36Sopenharmony_ci		See USB specs for its meaning.
35562306a36Sopenharmony_ci
35662306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bDeviceSubClass
35762306a36Sopenharmony_ciDescription:
35862306a36Sopenharmony_ci		Subclass code of the device, in hexadecimal.
35962306a36Sopenharmony_ci
36062306a36Sopenharmony_ci		See USB specs for its meaning.
36162306a36Sopenharmony_ci
36262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bInterfaceClass
36362306a36Sopenharmony_ciDescription:
36462306a36Sopenharmony_ci		Class code of the interface, in hexadecimal.
36562306a36Sopenharmony_ci
36662306a36Sopenharmony_ci		See USB specs for its meaning.
36762306a36Sopenharmony_ci
36862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bInterfaceNumber
36962306a36Sopenharmony_ciDescription:
37062306a36Sopenharmony_ci		Interface number, in hexadecimal.
37162306a36Sopenharmony_ci
37262306a36Sopenharmony_ci		See USB specs for its meaning.
37362306a36Sopenharmony_ci
37462306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bInterfaceProtocol
37562306a36Sopenharmony_ciDescription:
37662306a36Sopenharmony_ci		Protocol code of the interface, in hexadecimal.
37762306a36Sopenharmony_ci
37862306a36Sopenharmony_ci		See USB specs for its meaning.
37962306a36Sopenharmony_ci
38062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bInterfaceSubClass
38162306a36Sopenharmony_ciDescription:
38262306a36Sopenharmony_ci		Subclass code of the interface, in hexadecimal.
38362306a36Sopenharmony_ci
38462306a36Sopenharmony_ci		See USB specs for its meaning.
38562306a36Sopenharmony_ci
38662306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bmAttributes
38762306a36Sopenharmony_ciDescription:
38862306a36Sopenharmony_ci		Attributes of the current configuration, in hexadecimal.
38962306a36Sopenharmony_ci
39062306a36Sopenharmony_ci		See USB specs for its meaning.
39162306a36Sopenharmony_ci
39262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bMaxPacketSize0
39362306a36Sopenharmony_ciDescription:
39462306a36Sopenharmony_ci		Maximum endpoint 0 packet size, in decimal.
39562306a36Sopenharmony_ci
39662306a36Sopenharmony_ci		See USB specs for its meaning.
39762306a36Sopenharmony_ci
39862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bMaxPower
39962306a36Sopenharmony_ciDescription:
40062306a36Sopenharmony_ci		Maximum power consumption of the active configuration of
40162306a36Sopenharmony_ci		the device, in miliamperes.
40262306a36Sopenharmony_ci
40362306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bNumConfigurations
40462306a36Sopenharmony_ciDescription:
40562306a36Sopenharmony_ci		Number of the possible configurations of the device, in
40662306a36Sopenharmony_ci		decimal. The current configuration is controlled via:
40762306a36Sopenharmony_ci
40862306a36Sopenharmony_ci			/sys/bus/usb/devices/usbX/bConfigurationValue
40962306a36Sopenharmony_ci
41062306a36Sopenharmony_ci		See USB specs for its meaning.
41162306a36Sopenharmony_ci
41262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bNumEndpoints
41362306a36Sopenharmony_ciDescription:
41462306a36Sopenharmony_ci		Number of endpoints used on this interface, in hexadecimal.
41562306a36Sopenharmony_ci
41662306a36Sopenharmony_ci		See USB specs for its meaning.
41762306a36Sopenharmony_ci
41862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/bNumInterfaces
41962306a36Sopenharmony_ciDescription:
42062306a36Sopenharmony_ci		Number of interfaces on this device, in decimal.
42162306a36Sopenharmony_ci
42262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/busnum
42362306a36Sopenharmony_ciDescription:
42462306a36Sopenharmony_ci		Number of the bus.
42562306a36Sopenharmony_ci
42662306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/configuration
42762306a36Sopenharmony_ciDescription:
42862306a36Sopenharmony_ci		Contents of the string descriptor associated with the
42962306a36Sopenharmony_ci		current configuration. It may include the firmware version
43062306a36Sopenharmony_ci		of a device and/or its serial number.
43162306a36Sopenharmony_ci
43262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/descriptors
43362306a36Sopenharmony_ciDescription:
43462306a36Sopenharmony_ci		Contains the interface descriptors, in binary.
43562306a36Sopenharmony_ci
43662306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/idProduct
43762306a36Sopenharmony_ciDescription:
43862306a36Sopenharmony_ci		Product ID, in hexadecimal.
43962306a36Sopenharmony_ci
44062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/idVendor
44162306a36Sopenharmony_ciDescription:
44262306a36Sopenharmony_ci		Vendor ID, in hexadecimal.
44362306a36Sopenharmony_ci
44462306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/devspec
44562306a36Sopenharmony_ciDescription:
44662306a36Sopenharmony_ci		Displays the Device Tree Open Firmware node of the interface.
44762306a36Sopenharmony_ci
44862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/avoid_reset_quirk
44962306a36Sopenharmony_ciDescription:
45062306a36Sopenharmony_ci		Most devices have this set to zero.
45162306a36Sopenharmony_ci
45262306a36Sopenharmony_ci		If the value is 1, enable a USB quirk that prevents this
45362306a36Sopenharmony_ci		device to use reset.
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci		(read/write)
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/devnum
45862306a36Sopenharmony_ciDescription:
45962306a36Sopenharmony_ci		USB interface device number, in decimal.
46062306a36Sopenharmony_ci
46162306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/devpath
46262306a36Sopenharmony_ciDescription:
46362306a36Sopenharmony_ci		String containing the USB interface device path.
46462306a36Sopenharmony_ci
46562306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/manufacturer
46662306a36Sopenharmony_ciDescription:
46762306a36Sopenharmony_ci		Vendor specific string containing the name of the
46862306a36Sopenharmony_ci		manufacturer of the device.
46962306a36Sopenharmony_ci
47062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/maxchild
47162306a36Sopenharmony_ciDescription:
47262306a36Sopenharmony_ci		Number of ports of an USB hub
47362306a36Sopenharmony_ci
47462306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/persist
47562306a36Sopenharmony_ciDescription:
47662306a36Sopenharmony_ci		Keeps the device even if it gets disconnected.
47762306a36Sopenharmony_ci
47862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/product
47962306a36Sopenharmony_ciDescription:
48062306a36Sopenharmony_ci		Vendor specific string containing the name of the
48162306a36Sopenharmony_ci		device's product.
48262306a36Sopenharmony_ci
48362306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/speed
48462306a36Sopenharmony_ciDescription:
48562306a36Sopenharmony_ci		Shows the device's max speed, according to the USB version,
48662306a36Sopenharmony_ci		in Mbps.
48762306a36Sopenharmony_ci		Can be:
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci			=======		====================
49062306a36Sopenharmony_ci			Unknown		speed unknown
49162306a36Sopenharmony_ci			1.5		Low speed
49262306a36Sopenharmony_ci			15		Full speed
49362306a36Sopenharmony_ci			480		High Speed
49462306a36Sopenharmony_ci			5000		Super Speed
49562306a36Sopenharmony_ci			10000		Super Speed+
49662306a36Sopenharmony_ci			20000		Super Speed+ Gen 2x2
49762306a36Sopenharmony_ci			=======		====================
49862306a36Sopenharmony_ci
49962306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/supports_autosuspend
50062306a36Sopenharmony_ciDescription:
50162306a36Sopenharmony_ci		Returns 1 if the device doesn't support autosuspend.
50262306a36Sopenharmony_ci		Otherwise, returns 0.
50362306a36Sopenharmony_ci
50462306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/urbnum
50562306a36Sopenharmony_ciDescription:
50662306a36Sopenharmony_ci		Number of URBs submitted for the whole device.
50762306a36Sopenharmony_ci
50862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/version
50962306a36Sopenharmony_ciDescription:
51062306a36Sopenharmony_ci		String containing the USB device version, as encoded
51162306a36Sopenharmony_ci		at the BCD descriptor.
51262306a36Sopenharmony_ci
51362306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/power/autosuspend
51462306a36Sopenharmony_ciDescription:
51562306a36Sopenharmony_ci		Time in milliseconds for the device to autosuspend. If the
51662306a36Sopenharmony_ci		value is negative, then autosuspend is prevented.
51762306a36Sopenharmony_ci
51862306a36Sopenharmony_ci		(read/write)
51962306a36Sopenharmony_ci
52062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/power/active_duration
52162306a36Sopenharmony_ciDescription:
52262306a36Sopenharmony_ci		The total time the device has not been suspended.
52362306a36Sopenharmony_ci
52462306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/power/connected_duration
52562306a36Sopenharmony_ciDescription:
52662306a36Sopenharmony_ci		The total time (in msec) that the device has been connected.
52762306a36Sopenharmony_ci
52862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/power/level
52962306a36Sopenharmony_ciDescription:
53062306a36Sopenharmony_ci
53162306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/bEndpointAddress
53262306a36Sopenharmony_ciDescription:
53362306a36Sopenharmony_ci		The address of the endpoint described by this descriptor,
53462306a36Sopenharmony_ci		in hexadecimal. The endpoint direction on this bitmapped field
53562306a36Sopenharmony_ci		is also shown at:
53662306a36Sopenharmony_ci
53762306a36Sopenharmony_ci			/sys/bus/usb/devices/usbX/ep_<N>/direction
53862306a36Sopenharmony_ci
53962306a36Sopenharmony_ci		See USB specs for its meaning.
54062306a36Sopenharmony_ci
54162306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/bInterval
54262306a36Sopenharmony_ciDescription:
54362306a36Sopenharmony_ci		The interval of the endpoint as described on its descriptor,
54462306a36Sopenharmony_ci		in hexadecimal. The actual interval depends on the version
54562306a36Sopenharmony_ci		of the USB. Also shown in time units at
54662306a36Sopenharmony_ci		/sys/bus/usb/devices/usbX/ep_<N>/interval.
54762306a36Sopenharmony_ci
54862306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/bLength
54962306a36Sopenharmony_ciDescription:
55062306a36Sopenharmony_ci		Number of bytes of the endpoint descriptor, in hexadecimal.
55162306a36Sopenharmony_ci
55262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/bmAttributes
55362306a36Sopenharmony_ciDescription:
55462306a36Sopenharmony_ci		Attributes which apply to the endpoint as described on its
55562306a36Sopenharmony_ci		descriptor, in hexadecimal. The endpoint type on this
55662306a36Sopenharmony_ci		bitmapped field is also shown at:
55762306a36Sopenharmony_ci
55862306a36Sopenharmony_ci			/sys/bus/usb/devices/usbX/ep_<N>/type
55962306a36Sopenharmony_ci
56062306a36Sopenharmony_ci		See USB specs for its meaning.
56162306a36Sopenharmony_ci
56262306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/direction
56362306a36Sopenharmony_ciDescription:
56462306a36Sopenharmony_ci		Direction of the endpoint. Can be:
56562306a36Sopenharmony_ci
56662306a36Sopenharmony_ci		    - both (on control endpoints)
56762306a36Sopenharmony_ci		    - in
56862306a36Sopenharmony_ci		    - out
56962306a36Sopenharmony_ci
57062306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/interval
57162306a36Sopenharmony_ciDescription:
57262306a36Sopenharmony_ci		Interval for polling endpoint for data transfers, in
57362306a36Sopenharmony_ci		milisseconds or microseconds.
57462306a36Sopenharmony_ci
57562306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/type
57662306a36Sopenharmony_ciDescription:
57762306a36Sopenharmony_ci		Descriptor type. Can be:
57862306a36Sopenharmony_ci
57962306a36Sopenharmony_ci		    - Control
58062306a36Sopenharmony_ci		    - Isoc
58162306a36Sopenharmony_ci		    - Bulk
58262306a36Sopenharmony_ci		    - Interrupt
58362306a36Sopenharmony_ci		    - unknown
58462306a36Sopenharmony_ci
58562306a36Sopenharmony_ciWhat:		/sys/bus/usb/devices/usbX/ep_<N>/wMaxPacketSize
58662306a36Sopenharmony_ciDescription:
58762306a36Sopenharmony_ci		Maximum packet size this endpoint is capable of
58862306a36Sopenharmony_ci		sending or receiving, in hexadecimal.
589