Part Number: MSP432E401Y
Hello,
I have a working LwIP application on the MSP432E401Y, and I'm trying to get IEEE 1588 / PTP working using PTPd. I am unable to receive multicast UDP traffic and don't know what else to do. I can see the EMAC LED flashing once per second when my switch sends PTP packets. When I turn off PTP on the switch, the LED stops blinking once per second. So, I think the MSP432E4 PHY is receiving the packets but they are not getting through the MAC frame filter. I have placed a printf in the low-level LwIP UDP-processing function udp_input(), in the file udp.c. This shows that the LwIP application gets passed some data when I send a UDP packet to the microcontroller's static IP address (192.168.127.2), but I see no such printf called when it should be receiving multicast UDP packets.
So far I have tried all combinations of enabling and disabling EMAC_FRMFILTER_HASH_AND_PERFECT, EMAC_FRMFILTER_PASS_MULTICAST, and EMAC_FRMFILTER_PROMISCUOUS in EMACFrameFilterSet() in msp432e4if.c. But I haven't figured out why the microcontroller doesn't pass PTP packets to the application. I have also EMAC_TS_MAC_FILTER_DISABLE set in EMACTimestampConfigSet(), but that macro expands to zero so it is the same as the SDK default.
Is there some bug in the MAC which would make it filter out multicast traffic addressed to 224.0.1.129 or 224.0.0.107, ports 319-320?
Thanks for any help you can provide,
Paul