I have developed a device driver for RTL8139 (c) ethernet card and I have encountered a problem while transmitting the packets.
The following set up is used to check for the transmission
1) Host A transmits an ARP packet to Host B.
2) Packets are captured on Host B using a sniffer.
Ethernet Packets are getting corrupted on transmission to the Host B. This is checked by using a sniffer on Host B.
The following observations are made while packets are transmitted:
1) Every time a packet is transmitted, the entire frame takes new corrupted value
(ethernet destination address, source address, protocol type, data (ARP packet)).
2) TSAD register points to the correct physical address of the buffer and contents of the buffer
doesn't get changed. However, the packet is corrupted while transmission.
Kindly tell me what may be the reason for the data corruption?
Thanks in Advance...