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