^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) What: /sys/bus/usb/devices/.../power/persist
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) Date: May 2007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) KernelVersion: 2.6.23
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Contact: Alan Stern <stern@rowland.harvard.edu>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) USB device directories can contain a file named power/persist.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) The file holds a boolean value (0 or 1) indicating whether or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) not the "USB-Persist" facility is enabled for the device. For
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) hubs this facility is always enabled and their device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) directories will not contain this file.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) For more information, see Documentation/driver-api/usb/persist.rst.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) What: /sys/bus/usb/devices/.../power/autosuspend
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) Date: March 2007
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) KernelVersion: 2.6.21
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) Contact: Alan Stern <stern@rowland.harvard.edu>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) Each USB device directory will contain a file named
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) power/autosuspend. This file holds the time (in seconds)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) the device must be idle before it will be autosuspended.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) 0 means the device will be autosuspended as soon as
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) possible. Negative values will prevent the device from
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) being autosuspended at all, and writing a negative value
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) will resume the device if it is already suspended.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) The autosuspend delay for newly-created devices is set to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) the value of the usbcore.autosuspend module parameter.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) What: /sys/bus/usb/device/.../power/connected_duration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) Date: January 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) KernelVersion: 2.6.25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33) Contact: Sarah Sharp <sarah.a.sharp@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) If CONFIG_PM is enabled, then this file is present. When read,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) it returns the total time (in msec) that the USB device has been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37) connected to the machine. This file is read-only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) PowerTOP <powertop@lists.01.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) https://01.org/powertop/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) What: /sys/bus/usb/device/.../power/active_duration
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) Date: January 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) KernelVersion: 2.6.25
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) Contact: Sarah Sharp <sarah.a.sharp@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) If CONFIG_PM is enabled, then this file is present. When read,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) it returns the total time (in msec) that the USB device has been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49) active, i.e. not in a suspended state. This file is read-only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) Tools can use this file and the connected_duration file to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) compute the percentage of time that a device has been active.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) For example::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) echo $((100 * `cat active_duration` / `cat connected_duration`))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) will give an integer percentage. Note that this does not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) account for counter wrap.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) PowerTOP <powertop@lists.01.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) https://01.org/powertop/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) What: /sys/bus/usb/devices/<busnum>-<port[.port]>...:<config num>-<interface num>/supports_autosuspend
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) Date: January 2008
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) KernelVersion: 2.6.27
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) Contact: Sarah Sharp <sarah.a.sharp@intel.com>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) When read, this file returns 1 if the interface driver
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) for this interface supports autosuspend. It also
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) returns 1 if no driver has claimed this interface, as an
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) unclaimed interface will not stop the device from being
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) autosuspended if all other interface drivers are idle.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) The file returns 0 if autosuspend support has not been
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) added to the driver.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) USB PM tool
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) git://git.moblin.org/users/sarah/usb-pm-tool/
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) What: /sys/bus/usb/device/.../avoid_reset_quirk
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) Date: December 2009
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) Contact: Oliver Neukum <oliver@neukum.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) Writing 1 to this file tells the kernel that this
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) device will morph into another mode when it is reset.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) Drivers will not use reset for error handling for
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) such devices.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) usb_modeswitch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) What: /sys/bus/usb/devices/.../devnum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) KernelVersion: since at least 2.6.18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) Device address on the USB bus.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) libusb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) What: /sys/bus/usb/devices/.../bConfigurationValue
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98) KernelVersion: since at least 2.6.18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) bConfigurationValue of the *active* configuration for the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) device. Writing 0 or -1 to bConfigurationValue will reset the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) active configuration (unconfigure the device). Writing
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) another value will change the active configuration.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) Note that some devices, in violation of the USB spec, have a
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) configuration with a value equal to 0. Writing 0 to
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) bConfigurationValue for these devices will install that
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) configuration, rather then unconfigure the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) Writing -1 will always unconfigure the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) libusb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) What: /sys/bus/usb/devices/.../busnum
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) KernelVersion: 2.6.22
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) Bus-number of the USB-bus the device is connected to.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) libusb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) What: /sys/bus/usb/devices/.../descriptors
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) KernelVersion: 2.6.26
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) Binary file containing cached descriptors of the device. The
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) binary data consists of the device descriptor followed by the
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) descriptors for each configuration of the device.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) Note that the wTotalLength of the config descriptors can not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) be trusted, as the device may have a smaller config descriptor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) than it advertises. The bLength field of each (sub) descriptor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) can be trusted, and can be used to seek forward one (sub)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) descriptor at a time until the next config descriptor is found.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) All descriptors read from this file are in bus-endian format
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) libusb
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) What: /sys/bus/usb/devices/.../speed
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) KernelVersion: since at least 2.6.18
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) Description:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) Speed the device is connected with to the usb-host in
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) Mbit / second. IE one of 1.5 / 12 / 480 / 5000.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) Users:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) libusb