IMX6Q: USB receive packet drop issue

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

IMX6Q: USB receive packet drop issue

1,153 Views
hiteshviradiya
Contributor III

Hello,

We are using Imx6q for our custom product where we have USB to Ethernet (SMSC95xx) interface.

While testing using iperf above 20Mbps, and we connect disconnect device (USB cellular modem or Webcam etc) on any other USB ports, we see packet drops on iperf testing.

This drops are in incoming iperf flows (USB Rx) only and not on outgoing flow (USB Tx).

Can you advise what can be the issue?

I feel this could be USB interrupts handling issue so I tried to set smp_affinity for USB interrupts to all 4 CPUs but I can set only 1 CPU at a time.

We are very near to product launch.

Please advise if any errata (and workaround if any).

--

Thanks,

Hitesh

0 Kudos
5 Replies

849 Views
igorpadykov
NXP Employee
NXP Employee

Hi Hitesh

one can test with i.MX6Q Sabre reference board to check if issue is caused by hardware,

also one can consider iperf measurements issues as described on

Extremely high packet loss with UDP test · Issue #296 · esnet/iperf · GitHub 

Best regards
igor
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos

849 Views
hiteshviradiya
Contributor III

Thanks Igor for the prompt response!

It's not only ipoerf causes the issue, even our streaming application shows the drops in the packets.

And this is not the case in our old product where we have marvell switch instead of USB to Eth chip. So I believe that here issue might be due to USB Rx.

I don't have Sabre board but I will test on Wandboard. But if you know anything relates to our issue please advise us to do some experiments.

--

Thanks,

Hitesh

0 Kudos

849 Views
igorpadykov
NXP Employee
NXP Employee

Hi Hitesh

if you this that reason is nxp usb module or its driver, according to our rules,

issue should be reproduced on nxp reference board with nxp official linux demo images on

i.MX Software|NXP 

Best regards
igor

0 Kudos

849 Views
hiteshviradiya
Contributor III

Thanks Igor !

I will check if we can manage Sabre board and let you know results.

--

Thanks,

Hitesh

0 Kudos

849 Views
hiteshviradiya
Contributor III

Dear Igor,

As I already mentioned in original post, Can you advise on Why I can't distributes USB interrupts (or any other interrupts) over multiple CPUs?

As I mentioned I tried to set smp_affinity for USB interrupts to all 4 CPUs but I can set only 1 CPU at a time. I can move interrupts from CPU0 to CPU3 using "echo 8 > /proc/irq/62/smp_affinity" where 62 is my 2184200.usb interrupts. I also tried using "echo f > /proc/irq/62/smp_affinity" which it supposed to distribute 2184200.usb interrupts over all 4 CPU cores but it doesn't work as expected.

Please advise if I need to fix anything in kernel or DTB to achieve this.

--

Thanks,

Hitesh

0 Kudos