2025-12-18 6:16 AM
Hello. I have two setups: one STM32H5 Nucleo eval board and a custom STM32H5 board. The Nucleo runs with the LAN8742 PHY while the eval board runs with the KSZ9567R switch. Both are configured to use RMII.
I'm using the NetXDuo stack for both. The Nucleo board works just fine, but the custom does not. The custom board SW is based on the Nucleo SW, except removing the LAN8742 interface.
I've checked out the HW on the custom board and it looks fine. I'm trying to do a simple ping from the PC. The first message is an ARP message. I see it on Wireshark and it arrives just fine on the STM32. I see the MAC address and the source and destination IP which look correct in _nx_arp_packet_receive
message_type : 1
sender_physical_msw : 11352
sender_physical_lsw : 3116224427
sender_ip_address : 3232235781
target_ip_address : 3232235787
Then the SW creates the ARP reply and calls _nx_driver_packet_send. I can see the RMII Tx lines toggle after the ARP packet is sent, but for some reason the KSZ switch does not send/forward the packet back to the PC. I've looked in the memory map for both the eval board and the custom board and the ARP replies have the same message.
Any thoughts on what it could be? Why is the LAN8742 forwarding the ARP reply while the KSZ switch does not?
Thanks for you time.
Alin