I'm currently working on a UDP communication PC <-> ARM LM3S6965 (Luminary) through the Ethernet. On the PC there is an VB.net application that simulates a UDP server/client. When the packet is sent from the PC to the ARM LM3S6965, the packet is received without errors, but when the ARM LM3S6965 sends the UDP packet back to the PC, the packet is lost somewhere (the application doesn’t receive it). The strange thing is that WireShark captures these packets coming to the PC and it seems they are valid. Turning off Firewall in Windows did not help. I know that this topic might be wrong for this forum, but can anybody explain why WireShark captures these packets, but my application doesn’t? ARM LM3S6965 (192.168.0.100), PC (192.168.0.116), sending and receiving goes through port number 3040. asked 15 Oct '14, 00:00 Sushant Naik |
One Answer:
There have been a few questions like this before, maybe you could search? A guess (based on the previous questions), as you haven't provided a capture file (on a public share, e.g. Cloudshark, DropBox, Google Drive), is that the microcontroller isn't setting the destination MAC address correctly, so the PC NIC will normally discard it. When you run Wireshark it will usually capture in promiscuous mode so that all traffic that comes to the PC NIC will be accepted. You can try turning off promiscuous mode in the capture options and check if you now receive the packets from the microcontroller. As we've had a few of these, I wonder if there's a bug in the example code or TCP/IP stack that folks are using on their microcontrollers? answered 15 Oct '14, 02:29 grahamb ♦ |
i tried with promiscuous mode off setting, still Wireshark shows both packets PC - MCU and MCU to PC.
here is cloudshark link, refer line 196 and 197 https://www.cloudshark.org/captures/d76ee4287ebb?filter=udp
You forgot to mention you are using UDP broadcasts. You need to ensure your PC application is setting up the UDP listener to receive broadcast messages, or modify the application and the ARM app to use actual IP addresses.