FX3 USB3.0 control transfer can't recovery from timeout if it contains data

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
YuRe_4727406
Level 1
Level 1
Welcome!

Hello, I tested that the fx3 usb3.0 control transfer can't recovery from a timeout event if that transfer contains data. But this is not an issue in USB2.0. I tried to flush the ep0 but it doesn't work.

Does anyone know how to fix it?

0 Likes
5 Replies
YuRe_4727406
Level 1
Level 1
Welcome!

I tested that once this happened the host need to send a new control transfer without data to let it recover.

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

Please provide more details on the transfer timed out. Can you provide a trace explaining the issue?

Regards,

Hemanth

Hemanth
0 Likes

Hi, here is the data captured by Wireshark.

pastedImage_0.png

The packet 20 is a timeout event I think, and it is a response to the packet 19 which is a control write without data. However, packet 35 is a control write with data, the first time the device gives timeout event (see packet 36), then the host retry but gets Protocol error (see packet 37, 38). The the following transmission all get Protocol error as they all contains data (As I mentioned, if I insert a control transfer without data, it will recover from this strange behavior). This only happens in USB3.0, USB2.0 is fine.

pastedImage_0.png

0 Likes

Sorry, here is the file.

0 Likes
Hemanth
Moderator
Moderator
Moderator
First like given First question asked 750 replies posted

Hi,

We need to check what happened on the USB bus at packet 36. Is it possible to take a trace using USB analyzers?

Regards,

Hemanth

Hemanth
0 Likes