This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Transmit a Broadcast ARP

Other Parts Discussed in Thread: HALCOGEN

Hello,

I cannot get the EMAC on an RM46x HDK to transmit a broadcast ARP request. I verified the packet is correctly formed and is sent to the hardware. The RM46x HDK can receive a broadcast  ARP and respond OK. The result of this is before I can transmit Ethernet traffic to a network node, I must "ping" the RM46x" from the node first so that the RM46x HDK ARP table is updated with the network node's hardware address. The only setting for broadcast I see in HALCoGen is for the receive broadcast - I have that enabled. Am I missing a configuration setting somewhere? I'm using FreeRTOS with generated code from HALCoGen.

Thank you for your help,

Ray

  • I should have also mentioned that I verified the buffers passed to the EMAC are aligned to 8 byte boundaries.

  • Hello:

    We have received your post and we are working to provide you an answer soon.

    Regards,

    Enrique
  • I think I pretty much figured it out. The EMAC won't transmit a frame smaller than 60 bytes in length. I believe it adds a 4 byte CRC at the end of the frame - but the documentation is not really clear about that. In any event, when I made the frame exactly 64 bytes long it was transmitted, but Wireshark reported that the CRC was wrong. When I backed the frame down to 60 bytes it transmitted correctly.

    I searched around the network and found that a broadcast ARP should be 60 bytes in length. I also noticed the Samsung TV on my home network was sending out a broadcast ARP trying to get the gateway's MAC address. When I looked at the packet in Wireshark it was 60 bytes long padded out with zeros. Thanks for your attention to this issue.

    Ray