tags:

views:

332

answers:

1

I'm working on an embedded device that connects on local network with RJ45 and when the system sends an ARP request to know the mac address of the gateway, no answer at all.

If I clear the arp table on my Windows, the Windows asks exactly the same ARP request and got an answer!

I sniffed the packet and the only difference inside the request packet is a 0 trailer on the embedded device at the end of the packet and that the target mac address is ff:ff:ff:ff:ff:ff where the windows one is 00:00:00:00:00:00 (wikipedia seems to say that it should be ffffffffff)

I tried to changed the mac address in case my gateway banned the mac due to arp spam but it doesn't change anything. I also try with DHCP IP and static IP, same problem...

Windows packet:

Frame 1 (42 bytes on wire, 42 bytes captured)
     Frame is marked: False
     Arrival Time: Jan 29, 2010 12:05:49.775534000
     Time delta from previous packet: -77.580549000 seconds
     Time since reference or first frame: 6354.738379000 seconds
     Frame Number: 1
     Packet Length: 42 bytes
     Capture Length: 42 bytes
     Protocols in frame: eth:arp
Ethernet II, Src: 00:1e:8c:b5:d0:00, Dst: ff:ff:ff:ff:ff:ff
     Type: ARP (0x0806)

Address Resolution Protocol (request)
     Hardware type: Ethernet (0x0001)
     Protocol type: IP (0x0800)
     Hardware size: 6
     Protocol size: 4
     Opcode: request (0x0001)
     Sender MAC address: 00:1e:8c:b5:d0:00 (00:1e:8c:b5:d0:00)
     Sender IP address: 192.168.0.14 (192.168.0.14)
     Target MAC address: 00:00:00:00:00:00 (00:00:00:00:00:00)
     Target IP address: 192.168.0.1 (192.168.0.1)

0000:  FF FF FF FF FF FF 00 1E 8C B5 D0 00 08 06 00 01  ................
0010:  08 00 06 04 00 01 00 1E 8C B5 D0 00 C0 A8 00 0E  ................
0020:  00 00 00 00 00 00 C0 A8 00 01                    ..........      

Embedded device packet:

Frame 1 (60 bytes on wire, 60 bytes captured)
     Frame is marked: False
     Arrival Time: Jan 29, 2010 12:07:04.257748000
     Time delta from previous packet: -3.098335000 seconds
     Time since reference or first frame: 6429.220593000 seconds
     Frame Number: 1
     Packet Length: 60 bytes
     Capture Length: 60 bytes
     Protocols in frame: eth:arp
Ethernet II, Src: 00:04:a3:12:34:05, Dst: ff:ff:ff:ff:ff:ff
     Type: ARP (0x0806)
     Trailer: 000000000000000000000000000000000000
Address Resolution Protocol (request)
     Hardware type: Ethernet (0x0001)
     Protocol type: IP (0x0800)
     Hardware size: 6
     Protocol size: 4
     Opcode: request (0x0001)
     Sender MAC address: 00:04:a3:12:34:05 (00:04:a3:12:34:05)
     Sender IP address: 192.168.0.129 (192.168.0.129)
     Target MAC address: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
     Target IP address: 192.168.0.1 (192.168.0.1)

0000:  FF FF FF FF FF FF 00 04 A3 12 34 05 08 06 00 01  ..........4.....
0010:  08 00 06 04 00 01 00 04 A3 12 34 05 C0 A8 00 81  ..........4.....
0020:  FF FF FF FF FF FF C0 A8 00 01 00 00 00 00 00 00  ................
0030:  00 00 00 00 00 00 00 00 00 00 00 00              ............    
A: 

In fact, It was a problem with the TX where the polarity was inverted and cause these problems.

I inverted the polarity and now it works perfectly.

acemtp