11f77fdf7SHans de GoedeWhat: /sys/bus/usb/devices/.../power/persist 21f77fdf7SHans de GoedeDate: May 2007 31f77fdf7SHans de GoedeKernelVersion: 2.6.23 41f77fdf7SHans de GoedeContact: Alan Stern <stern@rowland.harvard.edu> 51f77fdf7SHans de GoedeDescription: 6cc583db3SPaul Bolle USB device directories can contain a file named power/persist. 7cc583db3SPaul Bolle The file holds a boolean value (0 or 1) indicating whether or 8cc583db3SPaul Bolle not the "USB-Persist" facility is enabled for the device. For 9cc583db3SPaul Bolle hubs this facility is always enabled and their device 10cc583db3SPaul Bolle directories will not contain this file. 11cc583db3SPaul Bolle 12e1c3e6e1SMauro Carvalho Chehab For more information, see Documentation/driver-api/usb/persist.rst. 131f77fdf7SHans de Goede 141f77fdf7SHans de GoedeWhat: /sys/bus/usb/devices/.../power/autosuspend 151f77fdf7SHans de GoedeDate: March 2007 161f77fdf7SHans de GoedeKernelVersion: 2.6.21 171f77fdf7SHans de GoedeContact: Alan Stern <stern@rowland.harvard.edu> 181f77fdf7SHans de GoedeDescription: 191f77fdf7SHans de Goede Each USB device directory will contain a file named 201f77fdf7SHans de Goede power/autosuspend. This file holds the time (in seconds) 211f77fdf7SHans de Goede the device must be idle before it will be autosuspended. 221f77fdf7SHans de Goede 0 means the device will be autosuspended as soon as 231f77fdf7SHans de Goede possible. Negative values will prevent the device from 241f77fdf7SHans de Goede being autosuspended at all, and writing a negative value 251f77fdf7SHans de Goede will resume the device if it is already suspended. 261f77fdf7SHans de Goede 271f77fdf7SHans de Goede The autosuspend delay for newly-created devices is set to 281f77fdf7SHans de Goede the value of the usbcore.autosuspend module parameter. 291f77fdf7SHans de Goede 301f77fdf7SHans de GoedeWhat: /sys/bus/usb/device/.../power/connected_duration 311f77fdf7SHans de GoedeDate: January 2008 321f77fdf7SHans de GoedeKernelVersion: 2.6.25 331f77fdf7SHans de GoedeContact: Sarah Sharp <sarah.a.sharp@intel.com> 341f77fdf7SHans de GoedeDescription: 35ceb6c9c8SRafael J. Wysocki If CONFIG_PM is enabled, then this file is present. When read, 36ceb6c9c8SRafael J. Wysocki it returns the total time (in msec) that the USB device has been 37ceb6c9c8SRafael J. Wysocki connected to the machine. This file is read-only. 381f77fdf7SHans de GoedeUsers: 39aaf3d29fSRafael J. Wysocki PowerTOP <powertop@lists.01.org> 40aaf3d29fSRafael J. Wysocki https://01.org/powertop/ 411f77fdf7SHans de Goede 421f77fdf7SHans de GoedeWhat: /sys/bus/usb/device/.../power/active_duration 431f77fdf7SHans de GoedeDate: January 2008 441f77fdf7SHans de GoedeKernelVersion: 2.6.25 451f77fdf7SHans de GoedeContact: Sarah Sharp <sarah.a.sharp@intel.com> 461f77fdf7SHans de GoedeDescription: 47ceb6c9c8SRafael J. Wysocki If CONFIG_PM is enabled, then this file is present. When read, 48ceb6c9c8SRafael J. Wysocki it returns the total time (in msec) that the USB device has been 49ceb6c9c8SRafael J. Wysocki active, i.e. not in a suspended state. This file is read-only. 501f77fdf7SHans de Goede 511f77fdf7SHans de Goede Tools can use this file and the connected_duration file to 521f77fdf7SHans de Goede compute the percentage of time that a device has been active. 53*98913408SMauro Carvalho Chehab For example:: 54*98913408SMauro Carvalho Chehab 551f77fdf7SHans de Goede echo $((100 * `cat active_duration` / `cat connected_duration`)) 56*98913408SMauro Carvalho Chehab 571f77fdf7SHans de Goede will give an integer percentage. Note that this does not 581f77fdf7SHans de Goede account for counter wrap. 591f77fdf7SHans de GoedeUsers: 60aaf3d29fSRafael J. Wysocki PowerTOP <powertop@lists.01.org> 61aaf3d29fSRafael J. Wysocki https://01.org/powertop/ 621f77fdf7SHans de Goede 631f77fdf7SHans de GoedeWhat: /sys/bus/usb/devices/<busnum>-<port[.port]>...:<config num>-<interface num>/supports_autosuspend 641f77fdf7SHans de GoedeDate: January 2008 651f77fdf7SHans de GoedeKernelVersion: 2.6.27 661f77fdf7SHans de GoedeContact: Sarah Sharp <sarah.a.sharp@intel.com> 671f77fdf7SHans de GoedeDescription: 681f77fdf7SHans de Goede When read, this file returns 1 if the interface driver 691f77fdf7SHans de Goede for this interface supports autosuspend. It also 701f77fdf7SHans de Goede returns 1 if no driver has claimed this interface, as an 711f77fdf7SHans de Goede unclaimed interface will not stop the device from being 721f77fdf7SHans de Goede autosuspended if all other interface drivers are idle. 731f77fdf7SHans de Goede The file returns 0 if autosuspend support has not been 741f77fdf7SHans de Goede added to the driver. 751f77fdf7SHans de GoedeUsers: 761f77fdf7SHans de Goede USB PM tool 771f77fdf7SHans de Goede git://git.moblin.org/users/sarah/usb-pm-tool/ 781f77fdf7SHans de Goede 791f77fdf7SHans de GoedeWhat: /sys/bus/usb/device/.../avoid_reset_quirk 801f77fdf7SHans de GoedeDate: December 2009 811f77fdf7SHans de GoedeContact: Oliver Neukum <oliver@neukum.org> 821f77fdf7SHans de GoedeDescription: 831f77fdf7SHans de Goede Writing 1 to this file tells the kernel that this 841f77fdf7SHans de Goede device will morph into another mode when it is reset. 851f77fdf7SHans de Goede Drivers will not use reset for error handling for 861f77fdf7SHans de Goede such devices. 871f77fdf7SHans de GoedeUsers: 881f77fdf7SHans de Goede usb_modeswitch 891f77fdf7SHans de Goede 901f77fdf7SHans de GoedeWhat: /sys/bus/usb/devices/.../devnum 911f77fdf7SHans de GoedeKernelVersion: since at least 2.6.18 921f77fdf7SHans de GoedeDescription: 931f77fdf7SHans de Goede Device address on the USB bus. 942eb86032SHans de GoedeUsers: 952eb86032SHans de Goede libusb 961f77fdf7SHans de Goede 971f77fdf7SHans de GoedeWhat: /sys/bus/usb/devices/.../bConfigurationValue 981f77fdf7SHans de GoedeKernelVersion: since at least 2.6.18 991f77fdf7SHans de GoedeDescription: 1001f77fdf7SHans de Goede bConfigurationValue of the *active* configuration for the 1011f77fdf7SHans de Goede device. Writing 0 or -1 to bConfigurationValue will reset the 1021f77fdf7SHans de Goede active configuration (unconfigure the device). Writing 1031f77fdf7SHans de Goede another value will change the active configuration. 1041f77fdf7SHans de Goede 1051f77fdf7SHans de Goede Note that some devices, in violation of the USB spec, have a 1061f77fdf7SHans de Goede configuration with a value equal to 0. Writing 0 to 1071f77fdf7SHans de Goede bConfigurationValue for these devices will install that 1081f77fdf7SHans de Goede configuration, rather then unconfigure the device. 1091f77fdf7SHans de Goede 1101f77fdf7SHans de Goede Writing -1 will always unconfigure the device. 1112eb86032SHans de GoedeUsers: 1122eb86032SHans de Goede libusb 1131f77fdf7SHans de Goede 1141f77fdf7SHans de GoedeWhat: /sys/bus/usb/devices/.../busnum 1151f77fdf7SHans de GoedeKernelVersion: 2.6.22 1161f77fdf7SHans de GoedeDescription: 1171f77fdf7SHans de Goede Bus-number of the USB-bus the device is connected to. 1182eb86032SHans de GoedeUsers: 1192eb86032SHans de Goede libusb 1201f77fdf7SHans de Goede 1211f77fdf7SHans de GoedeWhat: /sys/bus/usb/devices/.../descriptors 1221f77fdf7SHans de GoedeKernelVersion: 2.6.26 1231f77fdf7SHans de GoedeDescription: 1241f77fdf7SHans de Goede Binary file containing cached descriptors of the device. The 1251f77fdf7SHans de Goede binary data consists of the device descriptor followed by the 1261f77fdf7SHans de Goede descriptors for each configuration of the device. 1271f77fdf7SHans de Goede Note that the wTotalLength of the config descriptors can not 1281f77fdf7SHans de Goede be trusted, as the device may have a smaller config descriptor 1291f77fdf7SHans de Goede than it advertises. The bLength field of each (sub) descriptor 1301f77fdf7SHans de Goede can be trusted, and can be used to seek forward one (sub) 1311f77fdf7SHans de Goede descriptor at a time until the next config descriptor is found. 1321f77fdf7SHans de Goede All descriptors read from this file are in bus-endian format 1332eb86032SHans de GoedeUsers: 1342eb86032SHans de Goede libusb 135db187a5bSHans de Goede 136db187a5bSHans de GoedeWhat: /sys/bus/usb/devices/.../speed 137db187a5bSHans de GoedeKernelVersion: since at least 2.6.18 138db187a5bSHans de GoedeDescription: 139db187a5bSHans de Goede Speed the device is connected with to the usb-host in 140db187a5bSHans de Goede Mbit / second. IE one of 1.5 / 12 / 480 / 5000. 1412eb86032SHans de GoedeUsers: 1422eb86032SHans de Goede libusb 143