1eaafbc3aSAlan SternWhat: /sys/bus/usb/devices/.../power/autosuspend 2eaafbc3aSAlan SternDate: March 2007 3eaafbc3aSAlan SternKernelVersion: 2.6.21 4eaafbc3aSAlan SternContact: Alan Stern <stern@rowland.harvard.edu> 5eaafbc3aSAlan SternDescription: 6eaafbc3aSAlan Stern Each USB device directory will contain a file named 7eaafbc3aSAlan Stern power/autosuspend. This file holds the time (in seconds) 8eaafbc3aSAlan Stern the device must be idle before it will be autosuspended. 9eaafbc3aSAlan Stern 0 means the device will be autosuspended as soon as 10eaafbc3aSAlan Stern possible. Negative values will prevent the device from 11eaafbc3aSAlan Stern being autosuspended at all, and writing a negative value 12eaafbc3aSAlan Stern will resume the device if it is already suspended. 13eaafbc3aSAlan Stern 14eaafbc3aSAlan Stern The autosuspend delay for newly-created devices is set to 15eaafbc3aSAlan Stern the value of the usbcore.autosuspend module parameter. 162add5229SAlan Stern 172add5229SAlan SternWhat: /sys/bus/usb/devices/.../power/level 182add5229SAlan SternDate: March 2007 192add5229SAlan SternKernelVersion: 2.6.21 202add5229SAlan SternContact: Alan Stern <stern@rowland.harvard.edu> 212add5229SAlan SternDescription: 222add5229SAlan Stern Each USB device directory will contain a file named 232add5229SAlan Stern power/level. This file holds a power-level setting for 242add5229SAlan Stern the device, one of "on", "auto", or "suspend". 252add5229SAlan Stern 262add5229SAlan Stern "on" means that the device is not allowed to autosuspend, 272add5229SAlan Stern although normal suspends for system sleep will still 282add5229SAlan Stern be honored. "auto" means the device will autosuspend 292add5229SAlan Stern and autoresume in the usual manner, according to the 302add5229SAlan Stern capabilities of its driver. "suspend" means the device 312add5229SAlan Stern is forced into a suspended state and it will not autoresume 322add5229SAlan Stern in response to I/O requests. However remote-wakeup requests 332add5229SAlan Stern from the device may still be enabled (the remote-wakeup 342add5229SAlan Stern setting is controlled separately by the power/wakeup 352add5229SAlan Stern attribute). 362add5229SAlan Stern 372add5229SAlan Stern During normal use, devices should be left in the "auto" 382add5229SAlan Stern level. The other levels are meant for administrative uses. 392add5229SAlan Stern If you want to suspend a device immediately but leave it 402add5229SAlan Stern free to wake up in response to I/O requests, you should 412add5229SAlan Stern write "0" to power/autosuspend. 42b41a60ecSAlan Stern 43b41a60ecSAlan SternWhat: /sys/bus/usb/devices/.../power/persist 44b41a60ecSAlan SternDate: May 2007 45b41a60ecSAlan SternKernelVersion: 2.6.23 46b41a60ecSAlan SternContact: Alan Stern <stern@rowland.harvard.edu> 47b41a60ecSAlan SternDescription: 48b41a60ecSAlan Stern If CONFIG_USB_PERSIST is set, then each USB device directory 49b41a60ecSAlan Stern will contain a file named power/persist. The file holds a 50b41a60ecSAlan Stern boolean value (0 or 1) indicating whether or not the 51b41a60ecSAlan Stern "USB-Persist" facility is enabled for the device. Since the 52b41a60ecSAlan Stern facility is inherently dangerous, it is disabled by default 53b41a60ecSAlan Stern for all devices except hubs. For more information, see 54b41a60ecSAlan Stern Documentation/usb/persist.txt. 55979e524aSSarah Sharp 56979e524aSSarah SharpWhat: /sys/bus/usb/device/.../power/connected_duration 57979e524aSSarah SharpDate: January 2008 58979e524aSSarah SharpKernelVersion: 2.6.25 59979e524aSSarah SharpContact: Sarah Sharp <sarah.a.sharp@intel.com> 60979e524aSSarah SharpDescription: 61979e524aSSarah Sharp If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file 62979e524aSSarah Sharp is present. When read, it returns the total time (in msec) 63979e524aSSarah Sharp that the USB device has been connected to the machine. This 64979e524aSSarah Sharp file is read-only. 65979e524aSSarah SharpUsers: 66979e524aSSarah Sharp PowerTOP <power@bughost.org> 67979e524aSSarah Sharp http://www.lesswatts.org/projects/powertop/ 68979e524aSSarah Sharp 69979e524aSSarah SharpWhat: /sys/bus/usb/device/.../power/active_duration 70979e524aSSarah SharpDate: January 2008 71979e524aSSarah SharpKernelVersion: 2.6.25 72979e524aSSarah SharpContact: Sarah Sharp <sarah.a.sharp@intel.com> 73979e524aSSarah SharpDescription: 74979e524aSSarah Sharp If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file 75979e524aSSarah Sharp is present. When read, it returns the total time (in msec) 76979e524aSSarah Sharp that the USB device has been active, i.e. not in a suspended 77979e524aSSarah Sharp state. This file is read-only. 78979e524aSSarah Sharp 79979e524aSSarah Sharp Tools can use this file and the connected_duration file to 80979e524aSSarah Sharp compute the percentage of time that a device has been active. 81979e524aSSarah Sharp For example, 82979e524aSSarah Sharp echo $((100 * `cat active_duration` / `cat connected_duration`)) 83979e524aSSarah Sharp will give an integer percentage. Note that this does not 84979e524aSSarah Sharp account for counter wrap. 85979e524aSSarah SharpUsers: 86979e524aSSarah Sharp PowerTOP <power@bughost.org> 87979e524aSSarah Sharp http://www.lesswatts.org/projects/powertop/ 88c8cf2465SDavid Vrabel 8949e7cc84SSarah SharpWhat: /sys/bus/usb/device/<busnum>-<devnum>...:<config num>-<interface num>/supports_autosuspend 9049e7cc84SSarah SharpDate: January 2008 9149e7cc84SSarah SharpKernelVersion: 2.6.27 9249e7cc84SSarah SharpContact: Sarah Sharp <sarah.a.sharp@intel.com> 9349e7cc84SSarah SharpDescription: 9449e7cc84SSarah Sharp When read, this file returns 1 if the interface driver 9549e7cc84SSarah Sharp for this interface supports autosuspend. It also 9649e7cc84SSarah Sharp returns 1 if no driver has claimed this interface, as an 9749e7cc84SSarah Sharp unclaimed interface will not stop the device from being 9849e7cc84SSarah Sharp autosuspended if all other interface drivers are idle. 9949e7cc84SSarah Sharp The file returns 0 if autosuspend support has not been 10049e7cc84SSarah Sharp added to the driver. 10149e7cc84SSarah SharpUsers: 10249e7cc84SSarah Sharp USB PM tool 10349e7cc84SSarah Sharp git://git.moblin.org/users/sarah/usb-pm-tool/ 10461e0e79eSDavid Vrabel 105c8cf2465SDavid VrabelWhat: /sys/bus/usb/device/.../authorized 106c8cf2465SDavid VrabelDate: July 2008 107c8cf2465SDavid VrabelKernelVersion: 2.6.26 108c8cf2465SDavid VrabelContact: David Vrabel <david.vrabel@csr.com> 109c8cf2465SDavid VrabelDescription: 110c8cf2465SDavid Vrabel Authorized devices are available for use by device 111c8cf2465SDavid Vrabel drivers, non-authorized one are not. By default, wired 112c8cf2465SDavid Vrabel USB devices are authorized. 113c8cf2465SDavid Vrabel 114c8cf2465SDavid Vrabel Certified Wireless USB devices are not authorized 115c8cf2465SDavid Vrabel initially and should be (by writing 1) after the 116c8cf2465SDavid Vrabel device has been authenticated. 117c8cf2465SDavid Vrabel 118c8cf2465SDavid VrabelWhat: /sys/bus/usb/device/.../wusb_cdid 119c8cf2465SDavid VrabelDate: July 2008 120c8cf2465SDavid VrabelKernelVersion: 2.6.27 121c8cf2465SDavid VrabelContact: David Vrabel <david.vrabel@csr.com> 122c8cf2465SDavid VrabelDescription: 123c8cf2465SDavid Vrabel For Certified Wireless USB devices only. 124c8cf2465SDavid Vrabel 125c8cf2465SDavid Vrabel A devices's CDID, as 16 space-separated hex octets. 126c8cf2465SDavid Vrabel 127c8cf2465SDavid VrabelWhat: /sys/bus/usb/device/.../wusb_ck 128c8cf2465SDavid VrabelDate: July 2008 129c8cf2465SDavid VrabelKernelVersion: 2.6.27 130c8cf2465SDavid VrabelContact: David Vrabel <david.vrabel@csr.com> 131c8cf2465SDavid VrabelDescription: 132c8cf2465SDavid Vrabel For Certified Wireless USB devices only. 133c8cf2465SDavid Vrabel 134c8cf2465SDavid Vrabel Write the device's connection key (CK) to start the 135c8cf2465SDavid Vrabel authentication of the device. The CK is 16 136c8cf2465SDavid Vrabel space-separated hex octets. 137c8cf2465SDavid Vrabel 138c8cf2465SDavid VrabelWhat: /sys/bus/usb/device/.../wusb_disconnect 139c8cf2465SDavid VrabelDate: July 2008 140c8cf2465SDavid VrabelKernelVersion: 2.6.27 141c8cf2465SDavid VrabelContact: David Vrabel <david.vrabel@csr.com> 142c8cf2465SDavid VrabelDescription: 143c8cf2465SDavid Vrabel For Certified Wireless USB devices only. 144c8cf2465SDavid Vrabel 145c8cf2465SDavid Vrabel Write a 1 to force the device to disconnect 146c8cf2465SDavid Vrabel (equivalent to unplugging a wired USB device). 1470c7a2b72SCHENG Renquan 1480c7a2b72SCHENG RenquanWhat: /sys/bus/usb/drivers/.../remove_id 1490c7a2b72SCHENG RenquanDate: November 2009 1500c7a2b72SCHENG RenquanContact: CHENG Renquan <rqcheng@smu.edu.sg> 1510c7a2b72SCHENG RenquanDescription: 1520c7a2b72SCHENG Renquan Writing a device ID to this file will remove an ID 1530c7a2b72SCHENG Renquan that was dynamically added via the new_id sysfs entry. 1540c7a2b72SCHENG Renquan The format for the device ID is: 1550c7a2b72SCHENG Renquan idVendor idProduct. After successfully 1560c7a2b72SCHENG Renquan removing an ID, the driver will no longer support the 1570c7a2b72SCHENG Renquan device. This is useful to ensure auto probing won't 1580c7a2b72SCHENG Renquan match the driver to the device. For example: 1590c7a2b72SCHENG Renquan # echo "046d c315" > /sys/bus/usb/drivers/foo/remove_id 160