i.MX6 USB host controller doesn't respond

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX6 USB host controller doesn't respond

1,588 Views
torus1000
Contributor V

Hi,

We checked i.MX6 USB communication between two Sabre-SD boards as following.

MCIMX6Q-SDB/host----HUB1----HUB2---MCIMX6Q-SDB/device(otg)

Unfortunately host controller didn't respond immediately after IN token packet transaction ended.

Please see marked "No handshake" in screen capture of USB analyzer.

usb_ana.png

According to the USB2.0 specification, there are several cases of no respond (see below) but we want to debug ASAP.

Can you give us some advise to debug such issue smartly?

Is there any particular conditions or states of i.MX6 USB host controller which cause no respond?

Is there any errata related this issue?

Thanks.

spc1.gif

spc2.gif

spc3.gif

Labels (1)
Tags (1)
0 Kudos
9 Replies

910 Views
torus1000
Contributor V

Please see Case 00076602 registered today for updated information including different EOP waveforms.

0 Kudos

910 Views
torus1000
Contributor V

Dear Artur

Let me update my status and questions as following.

---

Previous questions focused on USB host response but USB device didn't respond neither.

After all, ACK is rarely missing in both IN and OUT transactions as following,

if more than 2 hub relayed and datasize=1024 byte.

IMX6Q-SDB       IN       IMX6Q-SDB

[USB Host]<--[HUB]<--[HUB]<--[USB Device]

           ACK -->

IMX6Q-SDB       OUT      IMX6Q-SDB

[USB Host]-->[HUB]-->[HUB]-->[USB Device]

                                                <-- ACK

Questions:

(1) Is there any reasons USB device suddenly didn't respond even USB analyzer did n't detect any errors.

(2) Why does USB host start IN token so early around 702ns after missing ACK(no response)?

(3) Why does USB host respond even Turn around timeout(from IN token to data packet start) over the spec (<1.5us) which measured 3.583us?

I worry about (2)&(3) don't meet the USB spec.

BR

usb_ack.png

0 Kudos

910 Views
art
NXP Employee
NXP Employee

There is a number of USB related silicon errata for the i.MX6Q processor. Please check their descriptions in the i.MX6Q Chip Errata document, available on the processor's Documentation web page:

i.MX6Q|i.MX 6Quad Processors|Quad Core|NXP

Best Regards,

Artur

0 Kudos

910 Views
torus1000
Contributor V

Dear Artur

I think you can observe this issue: USB host rarely stop responding without any error reports from USB monitor.

Could you try to reproduce this issue if you interested in and have 2 sabre boards and some hubs?

Thank you for your reply.

0 Kudos

910 Views
art
NXP Employee
NXP Employee

Does the Host board always not respond, or can it respond sometimes? Does it work when the boards are connected directly, without Hubs? Please check it first.


Have a great day,
Artur

0 Kudos

910 Views
torus1000
Contributor V

Dear Artur

Thank you for replying.

  • We tested 3 times then this issue happened 4~8 per 60000 transactions. Where IN transaction continuously sent every 2ms during 2 minutes.

  • We tested without hub then this issue never happened. We also tested with 1 hub and 3 hubs. It seems more than 2 hubs cause this issue.

  • Additionally we tested several data size such as 256,512 or 1024. The issue observed only when data size was 1024. (It is not sure only once issue may occurred even data size was 512.)

According to the above (depend on the hubs), we guess poor signal integrity or noise cause this issue but there was no PID or CRC error log.

What we would like to know is behavior of i.MX6 USB host controller.

Is there any condition or sequence which intended to cause this issue (no response)?

Your advise would be appreciated.

BR

0 Kudos

910 Views
art
NXP Employee
NXP Employee

There is a number of USB-related errata of i.MX6 series processors, please check them in the corresponding Chip Errata documents. In all other aspects, the USB core of i.MX6 series processors operates according to the USB 2.0 specification.

Best Regards,

Artur

0 Kudos

910 Views
torus1000
Contributor V

Dear Artur,

We checked USB host controller related erratas but we couldn't see anything associate this issue.

BTW, We confirmed qTD status bits then found bit3(XactErr:Transaction Error) set. (See below)

It was weird status because USB analyzer has never been reported transaction errors such as timeout, PID or CRC errors.

(Q) Is there any other sort of transaction errors?  (How can we determine the sort of errors?)

(Q) Why our usb analyzer couldn't recognize this error?  (Is there any non-standard configurations for the i.MX6 USBHC?)

Your prompt reply would be appreciated.

---

rm_p5286.gifrm_p5289.gif

0 Kudos

910 Views
art
NXP Employee
NXP Employee

Q. Is there any other sort of transaction errors?

A. No.

Q. Is there any non-standard configurations for the i.MX6 USBHC?

A. No.

Artur

0 Kudos