All of lore.kernel.org
 help / color / mirror / Atom feed
* USB Hardware Power Control, IOCTL_USB_HUB_CYCLE_PORT Equivalent
@ 2020-09-15  2:14 Sid Spry
  2020-09-15  4:50 ` Greg KH
  2020-09-15 14:45 ` Alan Stern
  0 siblings, 2 replies; 3+ messages in thread
From: Sid Spry @ 2020-09-15  2:14 UTC (permalink / raw)
  To: linux-usb

Hi, after a fair bit of looking I do not see a way to do a hard reset of
a device. Windows seems to expose some functionality that hints these things
are possible. Does anyone know if it is and is implemented in the Linux
drivers?

I only find reference to automatic power management in /sys.

The ioctl in the title (IOCTL_USB_HUB_CYCLE_PORT) is joined by others that seem
to actually control the power to the port.

I recently saw patches that would control hub power state via additional
hardware. It would be good to have a uniform way for userspace to take
advantage of this power control. Userspace may have further hints that can be
applied to power consumption, and may need to decide to undertake device
recovery.

What originally made me investigate this issue was a series of MCU development
boards that crash needing power removed to recover. This seems to be impossible
to do on most hardware. Why? There's no good reason to remove a complete power
down from the spec. There are also instances where a hard reset for PCIe, e.g.
cards malfunctioning when used with VFIO-VGA would have saved hardware from
being hopelessly broken. So if you are involved in hardware design please
consider these things.

Cheers.

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-09-15 14:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-15  2:14 USB Hardware Power Control, IOCTL_USB_HUB_CYCLE_PORT Equivalent Sid Spry
2020-09-15  4:50 ` Greg KH
2020-09-15 14:45 ` Alan Stern

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.