This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM8168 EVM UDP packet loss issue

Hi all,

We are using DM8168 EVMs to test our audio/video streaming application.

We have got both DDR2 and DDR3 EVMs.

 

Revision details:

DDR3 DM8168 EVM board revision is REV E

DDR2 DM8168 EVM board revision is REV D.

 

DDR3 Kernel version: 2.6.37

DDR3 PSP version: psp04.00.00.12

 

DDR2 Kernel version: 2.6.37

DDR2 PSP version: psp04.00.00.10

 

Problem:

When we do UDP streaming test we noticed consistent packet loss (especially in bursts of about 5 to 20 packets)

From our detailed analysis, we found the problem in the Rx side of the application.

We have verified the working of our application by running it on x86 machine and it seem to work

without any packet loss under the same network setup. This issue seems to happen only when the application

is run on the EVM boards. The boards are connected through 100Mbps switches

 

Errors noticed:

We could not find any error in ifconfig. Apparently the tx and rx errors are zero in ifconfig.

Neither were there any in the output presented by ethtool. Infact it did not show any statistics.

We tried enabling debug messages from davinci_emac.c for rx and tx errors, but again there were no

dump messages

 

Has anyone come across similar issue?

It would be much helpful if someone could guide us to find where exactly is the problem. Please let me know if any log is needed.

 

Thanks in advance,

Sundar

  • Wondering if this is because the application is not removing data from kernel receive buffer fast enough.... You might want to try increasing the size of the receive buffer... This should allow your application bit more time to remove data from kernel receive buffer and hopefully avoid overflow..

    Thanks,

    Satish

  • I have also met the nearly same question.

    I use EVM8168 ddr3 version and EZSDK 5.01.01.80.

    When I send udp data from PC to the 8168, 8168 lost many packages. When udp send without sleep() between 2 send , nearly lost half of the package; when use sleep(4) between 2 send, the 8168 can receive all data. In Gnet mode.

    I have incresed the socket receive buffer to 200k bytes, but it lose still.

    So I'd like to know how to  increase the size of the kernel receive buffer; and is there a benchmark about the net stream throughoutput of the dm8168?

    Thank you very much!