forked from Minki/linux
ef955341f6
Some devices which use mode switching revert to their primary mode as they are reset. They must not be reset for error handling. As user spaces makes the switch it also has to tell the kernel that a device is quirky. Signed-off-by: Oliver Neukum <oliver@neukum.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
173 lines
6.2 KiB
Plaintext
173 lines
6.2 KiB
Plaintext
What: /sys/bus/usb/devices/.../power/autosuspend
|
|
Date: March 2007
|
|
KernelVersion: 2.6.21
|
|
Contact: Alan Stern <stern@rowland.harvard.edu>
|
|
Description:
|
|
Each USB device directory will contain a file named
|
|
power/autosuspend. This file holds the time (in seconds)
|
|
the device must be idle before it will be autosuspended.
|
|
0 means the device will be autosuspended as soon as
|
|
possible. Negative values will prevent the device from
|
|
being autosuspended at all, and writing a negative value
|
|
will resume the device if it is already suspended.
|
|
|
|
The autosuspend delay for newly-created devices is set to
|
|
the value of the usbcore.autosuspend module parameter.
|
|
|
|
What: /sys/bus/usb/devices/.../power/level
|
|
Date: March 2007
|
|
KernelVersion: 2.6.21
|
|
Contact: Alan Stern <stern@rowland.harvard.edu>
|
|
Description:
|
|
Each USB device directory will contain a file named
|
|
power/level. This file holds a power-level setting for
|
|
the device, either "on" or "auto".
|
|
|
|
"on" means that the device is not allowed to autosuspend,
|
|
although normal suspends for system sleep will still
|
|
be honored. "auto" means the device will autosuspend
|
|
and autoresume in the usual manner, according to the
|
|
capabilities of its driver.
|
|
|
|
During normal use, devices should be left in the "auto"
|
|
level. The "on" level is meant for administrative uses.
|
|
If you want to suspend a device immediately but leave it
|
|
free to wake up in response to I/O requests, you should
|
|
write "0" to power/autosuspend.
|
|
|
|
Device not capable of proper suspend and resume should be
|
|
left in the "on" level. Although the USB spec requires
|
|
devices to support suspend/resume, many of them do not.
|
|
In fact so many don't that by default, the USB core
|
|
initializes all non-hub devices in the "on" level. Some
|
|
drivers may change this setting when they are bound.
|
|
|
|
What: /sys/bus/usb/devices/.../power/persist
|
|
Date: May 2007
|
|
KernelVersion: 2.6.23
|
|
Contact: Alan Stern <stern@rowland.harvard.edu>
|
|
Description:
|
|
If CONFIG_USB_PERSIST is set, then each USB device directory
|
|
will contain a file named power/persist. The file holds a
|
|
boolean value (0 or 1) indicating whether or not the
|
|
"USB-Persist" facility is enabled for the device. Since the
|
|
facility is inherently dangerous, it is disabled by default
|
|
for all devices except hubs. For more information, see
|
|
Documentation/usb/persist.txt.
|
|
|
|
What: /sys/bus/usb/device/.../power/connected_duration
|
|
Date: January 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Sarah Sharp <sarah.a.sharp@intel.com>
|
|
Description:
|
|
If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
|
|
is present. When read, it returns the total time (in msec)
|
|
that the USB device has been connected to the machine. This
|
|
file is read-only.
|
|
Users:
|
|
PowerTOP <power@bughost.org>
|
|
http://www.lesswatts.org/projects/powertop/
|
|
|
|
What: /sys/bus/usb/device/.../power/active_duration
|
|
Date: January 2008
|
|
KernelVersion: 2.6.25
|
|
Contact: Sarah Sharp <sarah.a.sharp@intel.com>
|
|
Description:
|
|
If CONFIG_PM and CONFIG_USB_SUSPEND are enabled, then this file
|
|
is present. When read, it returns the total time (in msec)
|
|
that the USB device has been active, i.e. not in a suspended
|
|
state. This file is read-only.
|
|
|
|
Tools can use this file and the connected_duration file to
|
|
compute the percentage of time that a device has been active.
|
|
For example,
|
|
echo $((100 * `cat active_duration` / `cat connected_duration`))
|
|
will give an integer percentage. Note that this does not
|
|
account for counter wrap.
|
|
Users:
|
|
PowerTOP <power@bughost.org>
|
|
http://www.lesswatts.org/projects/powertop/
|
|
|
|
What: /sys/bus/usb/device/<busnum>-<devnum>...:<config num>-<interface num>/supports_autosuspend
|
|
Date: January 2008
|
|
KernelVersion: 2.6.27
|
|
Contact: Sarah Sharp <sarah.a.sharp@intel.com>
|
|
Description:
|
|
When read, this file returns 1 if the interface driver
|
|
for this interface supports autosuspend. It also
|
|
returns 1 if no driver has claimed this interface, as an
|
|
unclaimed interface will not stop the device from being
|
|
autosuspended if all other interface drivers are idle.
|
|
The file returns 0 if autosuspend support has not been
|
|
added to the driver.
|
|
Users:
|
|
USB PM tool
|
|
git://git.moblin.org/users/sarah/usb-pm-tool/
|
|
|
|
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/.../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
|
|
|
|
What: /sys/bus/usb/device/.../avoid_reset
|
|
Date: December 2009
|
|
Contact: Oliver Neukum <oliver@neukum.org>
|
|
Description:
|
|
Writing 1 to this file tells the kernel that this
|
|
device will morph into another mode when it is reset.
|
|
Drivers will not use reset for error handling for
|
|
such devices.
|
|
Users:
|
|
usb_modeswitch
|