Part Number:AM1808
Hi,
a customer has an issue with the AM1808 EMAC where it receives a multicast packet, even though the MACHASH1 and 2 are zeroed out:
We have found that if our test PC transmits an Ethernet frame destined to MAC address 01:80:c2:00:00:01 (note this is a multicast address) then the EMAC will generate a receive interrupt for this frame. This is happening even though the MACHASH1 and MACHASH2 registers are both set to zero. See attached am1808_emac_machash_eq_0_receive.pcapng for a capture of the frame that we are transmitting from the test PC.
We configure the EMAC to receive unicast traffic on channel 0 by setting bit 0 of RXUNICASTSET. We configure channel 1 to receive multicast traffic by setting RXMULTEN to '1' and RXMULTCH to '001' in RXMBPENABLE. We enable interrupts for receiving multicast traffic by setting bit 1 of C1RXEN. Although we enabled multicast receive on channel 1 and although we enabled the receive interrupt on channel 1, we do not expect any interrupts to be generated because the MACHASH1 and MACHASH2 registers are both set to zero.
Can you help us understand why the multicast frame in the attached Wireshark capture is generating a receive interrupt in the EMAC despite the MACHASH registers being set to zero? Are there other variations of Ethernet frames that can be received as 'multicast' despite the MACHASH registers being set to zero? Are there other fields besides the destination MAC address field in the Ethernet frame that can affect whether or not the frame is received by the EMAC?
(Please visit the site to view this file)
Thanks,
--Gunter