[SPAM]: Re: [SPAM]: How to Trigger a USB Host Reset of Device?

On Jun 3, 2018, at 6:11 PM, xxxxx@gmail.com wrote:
> Per http://microchipdeveloper.com/usb:reset-suspend-resume, which
> references the USB specification, a host can issue a device a reset
> command by holding both D- and D+ low for 10ms.

The HOST cannot do this. It has to come from a hub, since it is specific to a port. The hub is commanded by the host, but it happens farther away from the host than the host controller.

> However per a past thread about USB DFU and device resets
> (https://www.osronline.com/showthread.cfm?link=252223) seems to imply
> that Windows does not expose this functionality for some reason. Per
> the documentation for IOCTL_USB_HUB_CYCLE_PORT it was unavailable in
> some versions of Windows.

Very old versions of Windows used IOCTL_USB_HUB_RESET_PORT as the “power cycle” signal. CYCLE has now been separated out, and RESET does a software-oriented reset.

> It is my understanding these versions of Windows are thus noncompliant
> with the USB specification.

That’s just imaginative nonsense. The USB specification does not say what functionality the operating system has to expose. Besides, the power cycling ability is available in all versions.

> Further, it is not very clear to me if any
> IOCTLs actually generate the condition described by the standard or a
> condition that provokes reenumeration as is intended by the DFU
> specification. There is no clear distinction about what is being reset
> for some USB IOCTLs. Some do specifically mention they only reset
> internal structures.

Right. IOCTL_USB_HUB_RESET_PORT is an internal structure thing. IOCTL_USB_HUB_CYCLE_PORT sends a reset request to the hub. It is the hub that executes the actual disconnect sequence, not Windows, not the host controller.

> Can anyone provide some clarification? I have filed a documentation
> bug at https://github.com/MicrosoftDocs/windows-driver-docs-ddi/issues/97
> but this may be a more serious issue.

In what way do you believe the documentation is flawed?

Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.