Hi All ,
I have a sockets application running on PC and I am using it to test the ethernet interface of an embedded system (microblaze interfaced to external SMSC MAC/Phy Chip). I am sending UDP packets only. The embedded system is not running a TCP/IP protocol stack and is bare bone , in premiscous mode and accepts any thing without packet filtering(I have to initiate the sockets connection by sending an ARP response to a ARP request first).
Now here is the strange behaviour - In the UDP payload I have Packet header encoded , which is incremented on each transmit. When the embedded side receives the packet ( interrupt based) it prints the packet number received on a debug console. The packet number that it is printing is as follows -
000000000......series of 0s........111111111111111...series of 1s............222222222 series of 2s up to n.but when I sniff on the PC side with wireshark , I can see that the correct sequence is sent.
If I test the system using winpcap to send and recieve packets it works fine with no problems.
At first I thought it is a problem with ISR , but the same results happen when using polling. on the MAC/phy side no hardware overflow occurs. Is it something to at the bus level?
The packets are being sent every ~50ms ( not any faster). Microblaze is working on 50MHZ clock. The SMSC MAC/PHY chip is configured to be
10M data rate.Any help will be appreciated.
BR Rate