Ioctl_usbio_reset_device – Motorola USB08 User Manual

Page 167

Advertising
background image

Universal USB Device Driver (USBIO)

Programming Interface

USB08 Evaluation Board

Designer Reference Manual

MOTOROLA

Universal USB Device Driver (USBIO)

167

IOCTL_USBIO_RESET_DEVICE

The IOCTL_USBIO_RESET_DEVICE operation causes a reset at the
hub port in which the device is plugged in.

lpInBuffer

Not used with this operation. Set to NULL.

nInBufferSize

Not used with this operation. Set to zero.

lpOutBuffer

Not used with this operation. Set to NULL.

nOutBufferSize

Not used with this operation. Set to zero.

Comments

The following events occur on the bus if this request is issued:

USB Reset
GET_DEVICE_DESCRIPTOR
USB Reset
SET_ADDRESS
GET_DEVICE_DESCRIPTOR
GET_CONFIGURATION_DESCRIPTOR

All pipes associated with the device will be unbound and all pending
requests will be cancelled. Note that the device receives two USB
Resets and a new USB address is assigned by USBD. After this
operation the device is in the unconfigured state.

The USBIO driver allows an USB reset request only if the device is
configured. That means IOCTL_USBIO_SET_CONFIGURATION
(

page 159

) was successfully executed. If the device is in the

unconfigured state this request returns with an error status. This
limitation is caused by the behaviour of Windows 2000. A system crash
would occur on Windows 2000 if an USB Reset would be issued for an
unconfigured device. Therefore, USBIO does not allow to issue an USB
Reset while the device is configured.

If the device changes its USB descriptor set during an USB Reset the
IOCTL_USBIO_CYCLE_PORT (

page 172

) request should be used

instead of IOCTL_USBIO_RESET_DEVICE.

This request does not work if the system-provided multi-interface driver
is used.

Advertising