Force USB device to re-enumerate; flush EP2INFIFO in Maxim 3421E

B

Bill Davy

I've opened a USB device and on finding it is not well, I'd like to
effectively simulate temporarily removing the USB cable (a well known way to
clean things up).



In fact, the device is a Maxim 3421E and for some reason there are some
bytes in EP2INFIFO. As a result, all my data reads are offset. I've
written the software (for a SiLab C8051F060) that drives the Maxim over SPI
and it may be that a dodgy SPI clock is to blame for the odd bytes in the
FIFO, but for now I cannot nail that so I am looking for a work-around.
Forcing enumeration of the device will do as then the SiLab resets the Maxim
and that clears EP2INFIFO.



TIA

Bill
 
D

Doron Holan [MSFT]

if you have your own driver, you can cycle the port by sending a
IOCTL_INTERNAL_USB_CYCLE_PORT down the stack
 
B

Bill Davy

Can (and how can) that be done with WinUSB (the drver I'm using,
6001.071220)?
Thanks,
Bill
 
D

Doron Holan [MSFT]

winusb does not (intentionaly) expose cycle port to user mode, it is a
privileged operation that can have serious side effects for the device

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.
 
B

Bill Davy

Shucks.
Bill

Doron Holan said:
winusb does not (intentionaly) expose cycle port to user mode, it is a
privileged operation that can have serious side effects for the device

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no
rights.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top