I faced a smilar issue while working on linux and it got fixed by adjusting
sysctl -w net.core.rmem_max=8388608
Now i am working on RTOS , and i m loosing packets , i want to know how i can fix this issue in Rtos.
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.
I faced a smilar issue while working on linux and it got fixed by adjusting
sysctl -w net.core.rmem_max=8388608
Now i am working on RTOS , and i m loosing packets , i want to know how i can fix this issue in Rtos.
Well I'm not really sure what it could be based on the limited info you provide, so I'll take a guess here.
Try adjusting the size of the TCP or UDP send/receive buffers. Since you didn't provide any info on the type of data you are losing, I can't do much more than guess as how to help you.
Steve
=============================
Ammar,
Can you please explain your network setup and or topology? Is your DM8148 receiving UDP packets from a PC? Are the two hosts connected using a router, on a LAN? Or is this between two hosts on the WAN?
You need to provide more information on your set up, what you are trying to do, which host is the client/server, etc. Otherwise, the help I can give you will be very limited.
Ammar said:You know how can i adjust the udpRxlimit
There is no UDP receive limit.
Are you seeing the packets in Wireshark? If you are not using Wireshark, please make a Wireshark capture of this scenario.
Finally, please refer to the following section of the NDK User's Guide (spru523*.pdf):
Steve
Thank you for your reply ,
I have connected DM 8148 Evm with an ip camera , they are connected to the lan , i am trying to get the frames using dsp core and display it using the arm core using RTOS.
I am just printing my frame id to know which frame i am misssing and which is not , ,my dsp skips first three frames then print next 4 ,5,6 frames then again miss frames and after that i am getting 1 frame after every 8 missed frames.
Have tried it with linux , with everything running on arm core , but loosing half of the frames on that , still that was better.I moved to rtos hoping that i can get better frame rate.
Regards
Ammar
Hi Ammar,
Ok, thank you for explaining your set up, this helps.
Ammar said:I have connected DM 8148 Evm with an ip camera , they are connected to the lan
Were you able to use Wireshark to see the network traffic between the camera and the DM8148?
For debugging network issues, Wireshark is an essential tool, and it's free. Note that you may need a switch that allows port mirroring in order to see all of the data, but if you can get a capture, this is the first step. You want to verify that the frames you are expecting from the IP camera are actually coming in on the wire to the DM8148, as it's possible that they are dropped elsewhere, before ever reaching the DM8148.
Will you be able to get Wireshark and make a capture of this?
Ammar said:I am just printing my frame id to know which frame i am misssing and which is not , ,my dsp skips first three frames then print next 4 ,5,6 frames then again miss frames and after that i am getting 1 frame after every 8 missed frames.
Where are you printing this info at? Is it in the Ethernet driver? If so, which function? Is the function running at ISR level?
Ammar said:Have tried it with linux , with everything running on arm core , but loosing half of the frames on that , still that was better.I moved to rtos hoping that i can get better frame rate.
So you have the same application level code running on the ARM, but on Linux? And you are also seeing an issue with dropped frames in that case, too?
Steve
I am posting my console here ,
[C674X_0] Using MAC Address: 00-18-32-62-1d-0a
SetPhyMode:000021E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:8192 LPBK:0
EMAC has been started successfully
Registeration of the EMAC Successful
Service Status: DHCPC : Enabled : : 000
Service Status: DHCPC : Enabled : Running : 000
cpsw_MDIO_FindingState: PhyNum: 0
cpsw_MDIO_PhYReset(0)
Enable Phy to negotiate external connection
NWAY Advertising: FullDuplex-1000 FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
Negotiated connection: FullDuplex 1000 Mbs
Link Status: 1000Mb/s Full Duplex on PHY 0
Network Added: If-1:192.168.10.102
Service Status: DHCPC : Enabled : Running : 017
Discovery Command Sent:B,1
Discovery Command Sent:B,2
Discovery Command Sent:B,3
Discovery Command Sent:B,4
Discovery Command Sent:B,5
Discovery Command Sent:B,6
Discovery Command Sent:B,7
Discovery Command Sent:B,8
Discovery Command Sent:B,9
1288 5
1288 6
1288 7
1288 A
1288 12
1288 1A
1288 22
1288 2A
1288 31
1288 39
1288 40
1288 48
1288 4F
1288 57
1288 5E
1288 66
1288 6E
1288 75
1288 7D
1288 FFFFFF84
1288 FFFFFF8C
1288 FFFFFF93
1288 FFFFFF9B
1288 FFFFFFA2
1288 FFFFFFAA
1288 FFFFFFB1
1288 FFFFFFB9
1288 FFFFFFC1
1288 FFFFFFC8
1288 FFFFFFD1
1288 FFFFFFDB
1288 FFFFFFE2
1288 FFFFFFEA
1288 FFFFFFF3
1288 FFFFFFFA
1288 2
1288 A
1288 11
1288 19
1288 20
1288 28
1288 2F
1288 37
1288 3E
1288 46
1288 4E
1288 55
1288 5D
1288 64
1288 is length of frame while next to it is FRAME Id.
Ammar,
Again, where are you printing this frame info out? Are you doing this in the driver?
Can you also please check the following NDK statistics? "ips" and "udps" ... these might reveal a clue as to what's being dropped and why.
You can view these stats by putting them into an expressions window within CCS. See below screen shot for example.
Steve