cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F USB Device with USB3 host

Daniel Squires
Associate II
Posted on March 12, 2014 at 17:40

Hi,

I'm developing both a driver on the host side and application on the client/device side using the onboard FS phy. Provided the host is USB2 both sides are behaving as expected. If I plug the device into a USB3 port on the same host PC things stop working.

The first bulk OUT  write all goes well, the application at the device end sees the packet and handles the data. However with a subsequent bulk OUT  write things go wrong. According to wire shark the packet was sent, and the device acknowledged. According the the device driver this was also the case. However no interrupt occurs at the device, the device application doesn't get any data. If the host sends a control packet it works as expected. If the device sends bulk IN packets these too work as expected. 

Does anybody have any idea what night be happening? It seems as if some interrupt for bulk OUTs on the device is left disabled but I do not understand why the host side being USB3 would cause this to happen.
11 REPLIES 11
Daniel Squires
Associate II
Posted on March 14, 2014 at 13:01

I've made some progress.

Ported the VCP demo to the F4 Discovery and proved that the newer drivers in the Cube Package do seem to fix the problem.

I will next port my application to these new drivers and see if it then  works on the STM32F4.

If that works (and I suspect it will) I will be left awaiting fixed driver for the STM32F105 from ST.

Daniel Squires
Associate II
Posted on March 20, 2014 at 21:55

I never did get to the bottom of why this problem was occurring. But I did solve it.

I started again from the VCP demo in the the V2.1.0 package, changing first just the descriptors, and then making a copy of the CDC class and VCP interface.Changed the implementation of each to suit my needs and at the end it all worked :)

P.S this forum software sucks!