What:		/sys/bus/usb/devices/<INTERFACE>/authorized
Date:		August 2015
Description:
		This allows to authorize (1) or deauthorize (0)
		individual interfaces instead a whole device
		in contrast to the device authorization.
		If a deauthorized interface will be authorized
		so the driver probing must be triggered manually
		by writing INTERFACE to /sys/bus/usb/drivers_probe
		This allows to avoid side-effects with drivers
		that need multiple interfaces.

		A deauthorized interface cannot be probed or claimed.

What:		/sys/bus/usb/devices/usbX/interface_authorized_default
Date:		August 2015
Description:
		This is used as value that determines if interfaces
		would be authorized by default.
		The value can be 1 or 0. It's by default 1.

What:		/sys/bus/usb/device/.../authorized
Date:		July 2008
KernelVersion:	2.6.26
Contact:	David Vrabel <david.vrabel@csr.com>
Description:
		Authorized devices are available for use by device
		drivers, non-authorized one are not.  By default, wired
		USB devices are authorized.

		Certified Wireless USB devices are not authorized
		initially and should be (by writing 1) after the
		device has been authenticated.

What:		/sys/bus/usb/device/.../wusb_cdid
Date:		July 2008
KernelVersion:	2.6.27
Contact:	David Vrabel <david.vrabel@csr.com>
Description:
		For Certified Wireless USB devices only.

		A devices's CDID, as 16 space-separated hex octets.

What:		/sys/bus/usb/device/.../wusb_ck
Date:		July 2008
KernelVersion:	2.6.27
Contact:	David Vrabel <david.vrabel@csr.com>
Description:
		For Certified Wireless USB devices only.

		Write the device's connection key (CK) to start the
		authentication of the device.  The CK is 16
		space-separated hex octets.

What:		/sys/bus/usb/device/.../wusb_disconnect
Date:		July 2008
KernelVersion:	2.6.27
Contact:	David Vrabel <david.vrabel@csr.com>
Description:
		For Certified Wireless USB devices only.

		Write a 1 to force the device to disconnect
		(equivalent to unplugging a wired USB device).

What:		/sys/bus/usb/drivers/.../new_id
Date:		October 2011
Contact:	linux-usb@vger.kernel.org
Description:
		Writing a device ID to this file will attempt to
		dynamically add a new device ID to a USB device driver.
		This may allow the driver to support more hardware than
		was included in the driver's static device ID support
		table at compile time. The format for the device ID is:
		idVendor idProduct bInterfaceClass RefIdVendor RefIdProduct
		The vendor ID and device ID fields are required, the
		rest is optional. The `Ref*` tuple can be used to tell the
		driver to use the same driver_data for the new device as
		it is used for the reference device.
		Upon successfully adding an ID, the driver will probe
		for the device and attempt to bind to it.  For example::

		  # echo "8086 10f5" > /sys/bus/usb/drivers/foo/new_id

		Here add a new device (0458:7045) using driver_data from
		an already supported device (0458:704c)::

		  # echo "0458 7045 0 0458 704c" > /sys/bus/usb/drivers/foo/new_id

		Reading from this file will list all dynamically added
		device IDs in the same format, with one entry per
		line. For example::

		  # cat /sys/bus/usb/drivers/foo/new_id
		  8086 10f5
		  dead beef 06
		  f00d cafe

		The list will be truncated at PAGE_SIZE bytes due to
		sysfs restrictions.

What:		/sys/bus/usb-serial/drivers/.../new_id
Date:		October 2011
Contact:	linux-usb@vger.kernel.org
Description:
		For serial USB drivers, this attribute appears under the
		extra bus folder "usb-serial" in sysfs; apart from that
		difference, all descriptions from the entry
		"/sys/bus/usb/drivers/.../new_id" apply.

What:		/sys/bus/usb/drivers/.../remove_id
Date:		November 2009
Contact:	CHENG Renquan <rqcheng@smu.edu.sg>
Description:
		Writing a device ID to this file will remove an ID
		that was dynamically added via the new_id sysfs entry.
		The format for the device ID is:
		idVendor idProduct.	After successfully
		removing an ID, the driver will no longer support the
		device.  This is useful to ensure auto probing won't
		match the driver to the device.  For example:
		# echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id

		Reading from this file will list the dynamically added
		device IDs, exactly like reading from the entry
		"/sys/bus/usb/drivers/.../new_id"

What:		/sys/bus/usb/devices/.../power/usb2_hardware_lpm
Date:		September 2011
Contact:	Andiry Xu <andiry.xu@amd.com>
Description:
		If CONFIG_PM is set and a USB 2.0 lpm-capable device is plugged
		in to a xHCI host which support link PM, it will perform a LPM
		test; if the test is passed and host supports USB2 hardware LPM
		(xHCI 1.0 feature), USB2 hardware LPM will be enabled for the
		device and the USB device directory will contain a file named
		power/usb2_hardware_lpm.  The file holds a string value (enable
		or disable) indicating whether or not USB2 hardware LPM is
		enabled for the device. Developer can write y/Y/1 or n/N/0 to
		the file to enable/disable the feature.

What:		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u1
		/sys/bus/usb/devices/.../power/usb3_hardware_lpm_u2
Date:		November 2015
Contact:	Kevin Strasser <kevin.strasser@linux.intel.com>
		Lu Baolu <baolu.lu@linux.intel.com>
Description:
		If CONFIG_PM is set and a USB 3.0 lpm-capable device is plugged
		in to a xHCI host which supports link PM, it will check if U1
		and U2 exit latencies have been set in the BOS descriptor; if
		the check is passed and the host supports USB3 hardware LPM,
		USB3 hardware LPM will be enabled for the device and the USB
		device directory will contain two files named
		power/usb3_hardware_lpm_u1 and power/usb3_hardware_lpm_u2. These
		files hold a string value (enable or disable) indicating whether
		or not USB3 hardware LPM U1 or U2 is enabled for the device.

What:		/sys/bus/usb/devices/.../ltm_capable
Date:		July 2012
Contact:	Sarah Sharp <sarah.a.sharp@linux.intel.com>
Description:
		USB 3.0 devices may optionally support Latency Tolerance
		Messaging (LTM).  They indicate their support by setting a bit
		in the bmAttributes field of their SuperSpeed BOS descriptors.
		If that bit is set for the device, ltm_capable will read "yes".
		If the device doesn't support LTM, the file will read "no".
		The file will be present for all speeds of USB devices, and will
		always read "no" for USB 1.1 and USB 2.0 devices.

What:		/sys/bus/usb/devices/.../<hub_interface>/port<X>
Date:		August 2012
Contact:	Lan Tianyu <tianyu.lan@intel.com>
Description:
		The /sys/bus/usb/devices/.../<hub_interface>/port<X>
		is usb port device's sysfs directory.

What:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/connect_type
Date:		January 2013
Contact:	Lan Tianyu <tianyu.lan@intel.com>
Description:
		Some platforms provide usb port connect types through ACPI.
		This attribute is to expose these information to user space.
		The file will read "hotplug", "hardwired" and "not used" if the
		information is available, and "unknown" otherwise.

What:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/location
Date:		October 2018
Contact:	Bjørn Mork <bjorn@mork.no>
Description:
		Some platforms provide usb port physical location through
		firmware. This is used by the kernel to pair up logical ports
		mapping to the same physical connector. The attribute exposes the
		raw location value as a hex integer.


What:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/quirks
Date:		May 2018
Contact:	Nicolas Boichat <drinkcat@chromium.org>
Description:
		In some cases, we care about time-to-active for devices
		connected on a specific port (e.g. non-standard USB port like
		pogo pins), where the device to be connected is known in
		advance, and behaves well according to the specification.
		This attribute is a bit-field that controls the behavior of
		a specific port:

		 - Bit 0 of this field selects the "old" enumeration scheme,
		   as it is considerably faster (it only causes one USB reset
		   instead of 2).

		   The old enumeration scheme can also be selected globally
		   using /sys/module/usbcore/parameters/old_scheme_first, but
		   it is often not desirable as the new scheme was introduced to
		   increase compatibility with more devices.
		 - Bit 1 reduces TRSTRCY to the 10 ms that are required by the
		   USB 2.0 specification, instead of the 50 ms that are normally
		   used to help make enumeration work better on some high speed
		   devices.

What:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/over_current_count
Date:		February 2018
Contact:	Richard Leitner <richard.leitner@skidata.com>
Description:
		Most hubs are able to detect over-current situations on their
		ports and report them to the kernel. This attribute is to expose
		the number of over-current situation occurred on a specific port
		to user space. This file will contain an unsigned 32 bit value
		which wraps to 0 after its maximum is reached. This file supports
		poll() for monitoring changes to this value in user space.

		Any time this value changes the corresponding hub device will send a
		udev event with the following attributes::

		  OVER_CURRENT_PORT=/sys/bus/usb/devices/.../<hub_interface>/port<X>
		  OVER_CURRENT_COUNT=[current value of this sysfs attribute]

What:		/sys/bus/usb/devices/.../<hub_interface>/port<X>/usb3_lpm_permit
Date:		November 2015
Contact:	Lu Baolu <baolu.lu@linux.intel.com>
Description:
		Some USB3.0 devices are not friendly to USB3 LPM.  usb3_lpm_permit
		attribute allows enabling/disabling usb3 lpm of a port. It takes
		effect both before and after a usb device is enumerated. Supported
		values are "0" if both u1 and u2 are NOT permitted, "u1" if only u1
		is permitted, "u2" if only u2 is permitted, "u1_u2" if both u1 and
		u2 are permitted.

What:		/sys/bus/usb/devices/.../power/usb2_lpm_l1_timeout
Date:		May 2013
Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
		USB 2.0 devices may support hardware link power management (LPM)
		L1 sleep state. The usb2_lpm_l1_timeout attribute allows
		tuning the timeout for L1 inactivity timer (LPM timer), e.g.
		needed inactivity time before host requests the device to go to L1 sleep.
		Useful for power management tuning.
		Supported values are 0 - 65535 microseconds.

What:		/sys/bus/usb/devices/.../power/usb2_lpm_besl
Date:		May 2013
Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
		USB 2.0 devices that support hardware link power management (LPM)
		L1 sleep state now use a best effort service latency value (BESL) to
		indicate the best effort to resumption of service to the device after the
		initiation of the resume event.
		If the device does not have a preferred besl value then the host can select
		one instead. This usb2_lpm_besl attribute allows to tune the host selected besl
		value in order to tune power saving and service latency.

		Supported values are 0 - 15.
		More information on how besl values map to microseconds can be found in
		USB 2.0 ECN Errata for Link Power Management, section 4.10)

What:		/sys/bus/usb/devices/.../rx_lanes
Date:		March 2018
Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
		Number of rx lanes the device is using.
		USB 3.2 adds Dual-lane support, 2 rx and 2 tx lanes over Type-C.
		Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
		direction. Devices before USB 3.2 are single lane (rx_lanes = 1)

What:		/sys/bus/usb/devices/.../tx_lanes
Date:		March 2018
Contact:	Mathias Nyman <mathias.nyman@linux.intel.com>
Description:
		Number of tx lanes the device is using.
		USB 3.2 adds Dual-lane support, 2 rx and 2 tx -lanes over Type-C.
		Inter-Chip SSIC devices support asymmetric lanes up to 4 lanes per
		direction. Devices before USB 3.2 are single lane (tx_lanes = 1)

What:		/sys/bus/usb/devices/usbX/bAlternateSetting
Description:
		The current interface alternate setting number, in decimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bcdDevice
Description:
		The device's release number, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bConfigurationValue
Description:
		While a USB device typically have just one configuration
		setting, some devices support multiple configurations.

		This value shows the current configuration, in decimal.

		Changing its value will change the device's configuration
		to another setting.

		The number of configurations supported by a device is at:

			/sys/bus/usb/devices/usbX/bNumConfigurations

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bDeviceClass
Description:
		Class code of the device, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bDeviceProtocol
Description:
		Protocol code of the device, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bDeviceSubClass
Description:
		Subclass code of the device, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bInterfaceClass
Description:
		Class code of the interface, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bInterfaceNumber
Description:
		Interface number, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bInterfaceProtocol
Description:
		Protocol code of the interface, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bInterfaceSubClass
Description:
		Subclass code of the interface, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bmAttributes
Description:
		Attributes of the current configuration, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bMaxPacketSize0
Description:
		Maximum endpoint 0 packet size, in decimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bMaxPower
Description:
		Maximum power consumption of the active configuration of
		the device, in miliamperes.

What:		/sys/bus/usb/devices/usbX/bNumConfigurations
Description:
		Number of the possible configurations of the device, in
		decimal. The current configuration is controlled via:

			/sys/bus/usb/devices/usbX/bConfigurationValue

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bNumEndpoints
Description:
		Number of endpoints used on this interface, in hexadecimal.

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/bNumInterfaces
Description:
		Number of interfaces on this device, in decimal.

What:		/sys/bus/usb/devices/usbX/busnum
Description:
		Number of the bus.

What:		/sys/bus/usb/devices/usbX/configuration
Description:
		Contents of the string descriptor associated with the
		current configuration. It may include the firmware version
		of a device and/or its serial number.

What:		/sys/bus/usb/devices/usbX/descriptors
Description:
		Contains the interface descriptors, in binary.

What:		/sys/bus/usb/devices/usbX/idProduct
Description:
		Product ID, in hexadecimal.

What:		/sys/bus/usb/devices/usbX/idVendor
Description:
		Vendor ID, in hexadecimal.

What:		/sys/bus/usb/devices/usbX/devspec
Description:
		Displays the Device Tree Open Firmware node of the interface.

What:		/sys/bus/usb/devices/usbX/avoid_reset_quirk
Description:
		Most devices have this set to zero.

		If the value is 1, enable a USB quirk that prevents this
		device to use reset.

		(read/write)

What:		/sys/bus/usb/devices/usbX/devnum
Description:
		USB interface device number, in decimal.

What:		/sys/bus/usb/devices/usbX/devpath
Description:
		String containing the USB interface device path.

What:		/sys/bus/usb/devices/usbX/manufacturer
Description:
		Vendor specific string containing the name of the
		manufacturer of the device.

What:		/sys/bus/usb/devices/usbX/maxchild
Description:
		Number of ports of an USB hub

What:		/sys/bus/usb/devices/usbX/persist
Description:
		Keeps the device even if it gets disconnected.

What:		/sys/bus/usb/devices/usbX/product
Description:
		Vendor specific string containing the name of the
		device's product.

What:		/sys/bus/usb/devices/usbX/speed
Description:
		Shows the device's max speed, according to the USB version,
		in Mbps.
		Can be:

			=======		====================
			Unknown		speed unknown
			1.5		Low speed
			15		Full speed
			480		High Speed
			5000		Super Speed
			10000		Super Speed+
			20000		Super Speed+ Gen 2x2
			=======		====================

What:		/sys/bus/usb/devices/usbX/supports_autosuspend
Description:
		Returns 1 if the device doesn't support autosuspend.
		Otherwise, returns 0.

What:		/sys/bus/usb/devices/usbX/urbnum
Description:
		Number of URBs submitted for the whole device.

What:		/sys/bus/usb/devices/usbX/version
Description:
		String containing the USB device version, as encoded
		at the BCD descriptor.

What:		/sys/bus/usb/devices/usbX/power/autosuspend
Description:
		Time in milliseconds for the device to autosuspend. If the
		value is negative, then autosuspend is prevented.

		(read/write)

What:		/sys/bus/usb/devices/usbX/power/active_duration
Description:
		The total time the device has not been suspended.

What:		/sys/bus/usb/devices/usbX/power/connected_duration
Description:
		The total time (in msec) that the device has been connected.

What:		/sys/bus/usb/devices/usbX/power/level
Description:

What:		/sys/bus/usb/devices/usbX/ep_<N>/bEndpointAddress
Description:
		The address of the endpoint described by this descriptor,
		in hexadecimal. The endpoint direction on this bitmapped field
		is also shown at:

			/sys/bus/usb/devices/usbX/ep_<N>/direction

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/ep_<N>/bInterval
Description:
		The interval of the endpoint as described on its descriptor,
		in hexadecimal. The actual interval depends on the version
		of the USB. Also shown in time units at
		/sys/bus/usb/devices/usbX/ep_<N>/interval.

What:		/sys/bus/usb/devices/usbX/ep_<N>/bLength
Description:
		Number of bytes of the endpoint descriptor, in hexadecimal.

What:		/sys/bus/usb/devices/usbX/ep_<N>/bmAttributes
Description:
		Attributes which apply to the endpoint as described on its
		descriptor, in hexadecimal. The endpoint type on this
		bitmapped field is also shown at:

			/sys/bus/usb/devices/usbX/ep_<N>/type

		See USB specs for its meaning.

What:		/sys/bus/usb/devices/usbX/ep_<N>/direction
Description:
		Direction of the endpoint. Can be:

		    - both (on control endpoints)
		    - in
		    - out

What:		/sys/bus/usb/devices/usbX/ep_<N>/interval
Description:
		Interval for polling endpoint for data transfers, in
		milisseconds or microseconds.

What:		/sys/bus/usb/devices/usbX/ep_<N>/type
Description:
		Descriptor type. Can be:

		    - Control
		    - Isoc
		    - Bulk
		    - Interrupt
		    - unknown

What:		/sys/bus/usb/devices/usbX/ep_<N>/wMaxPacketSize
Description:
		Maximum packet size this endpoint is capable of
		sending or receiving, in hexadecimal.
