Because of the holidays, TI E2E™ design support forum responses will be delayed from Dec. 25 through Jan. 2. Thank you for your patience.

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.

AM5728: TCP/IP receive terminates after a couple of requests (errno 54 - Connection reset by peer).

Part Number: AM5728
Other Parts Discussed in Thread: BEAGLEBOARD-X15,

Hi.

My Configuration is

AM5728 on BeagleBoard-X15
CCS 9.3.0.00012
bios_6_75_02_00
ndk_3_60_00_13
pdk_am57xx_1_0_15

My TCP/IP receiver crashes after a couple of requests (errno 54 - Connection reset by peer). The timing seems to be random. I have modified the TI demo project NIMU_BasicExample_evmAM572x_armExample to work as a TCP/IP packet receiver (its a simple NDK_recv endless loop, see attached TcpTest\TcpReceiverMPU CSS project). This application runs on the CortexA15_0 core. BeagleBoard-X15 is directly connected with my PC (i.e. no switch or other network device in between). I use modified version of TcpPacketSender from this forum (its a simple send() endless loop, see attached TcpTest\TcpSenderWIN project) to send TCP/IP packets of specified size to my BeagleBoard-X15. Everything works fine for a while but later the socket connection terminates (function NDK_recv fails with error 54 - Connection reset by peer).

An another thing I have observed is the speed. BeagleBord-X15 console says I have FullDuplex 1000Mbs but Ethernet performance on my PC is sending 200Kbs and the Wireshark log is full of "TCP-Retransmission"  and "TCP-Out-of-Order" messages.

Also the NDK_recv flags have some impact. Connection terminates much faster with MSG_DONTWAIT. Option MSG_WAITALL works better but still not stable. Changing to NDK_recvnc didn't help.

I can run my TCP/IP receiver code on an another PC (see attached TcpTest\TcpReceiverWIN project) with no problems.

Could you please help me to understand what is wrong in my project? What should I change to get better stability and speed?

Here is the source code  TcpTest.zip

BeagleBoard-X15 console

PC console

Wireshark capture

Ethernet performance

Thank you,

Tomas