Shop OBEX P1 Docs P2 Docs Learn Events
Generating and Responding to ARP probes — Parallax Forums

Generating and Responding to ARP probes

sstandfastsstandfast Posts: 39
edited 2011-01-11 11:58 in Accessories
Does anyone know if it is possible to manually generate ARP probes using the W5100? I assume this would be done using IPRaw mode. I know that the W5100 will generate ARP probes if you only have an IP address entered into the Dest fields for the socket while in UDP or TCP mode but there are two issues with this setup.

1. The W5100 appends 0 padding to the end of the ARP probe and for some reason my router doesn't like that. So when my W5100 attempts to renew its DHCP lease, I am forced to use the broadcast IP again because the router doesn't respond to the ARP probe from the W5100. (The MAC address is not available when the DHCP routines are first executed, otherwise I would save that in addition to the offered IP so I can Unicast the router when it comes time to for renewal.)

2. In order to be compliant with the UPNP specification, I should generate ARP probes when selecting an IP in Auto-IP mode, and Gratuitous ARP's after the Auto-IP to clear any stale ARP cache's left from some other host.

I assume that I would only have to generate my own ARP probes as the W5100 will automatically respond to any ARP's addressed to it. Does this sound like the right approach?

Shawn

Comments

  • sstandfastsstandfast Posts: 39
    edited 2011-01-11 11:58
    The short answer to this is no. From Wiznet's FAQ page:
    [Question] Is it possible to implement ARP arbitrarily?
    As ARP is automatically processed by W3100A, you can not send ARP protocol.
    However, in case of PING, the function can be implemented by using IP RAW mode.

    It may still be possible to fake it using MACRaw mode but I'm not 100% certain. The datasheet is not clear as to what the W5100 transmits when using MACRaw mode. If all it does is insert the dest and source MAC's and the rest is taken from TX RAM then it could be faked. But if the W5100 also still inserts the packet type, then no, a valid ARP frame cannot be generated. I will hack together some test code to try this out but I won't be home for the next couple of days to load it and test it.

    Shawn
Sign In or Register to comment.