i.MX RT1176 + DP83848 (RMII) – Ethernet Link OK, ARP Works, but ICMP Ping Fails on Custom Board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.MX RT1176 + DP83848 (RMII) – Ethernet Link OK, ARP Works, but ICMP Ping Fails on Custom Board

473 Views
Harisha
Contributor I

Hello,

I am currently working on Ethernet bring-up for a custom board using:

  • MCU: i.MX RT1176 (M7 core)

  • PHY: DP83848QSQE

  • Interface: RMII (50 MHz reference clock)

  • SDK: Official NXP lwIP ping example (no major modification)


Current Status

Ethernet initialization completes successfully:

  • PHY auto-negotiation succeeds

  • Link LED is stable

  • PC detects Ethernet connection

  • Static IP configured correctly

  • ARP resolution works

  • PC ARP table shows correct MAC address of the board

  • Wireshark confirms ARP request and ARP reply

Board IP: 192.168.0.102
PC IP: 192.168.0.100
Subnet: 255.255.255.0

Problem

Although ARP transmission works partially:

  • Board sends ARP request

  • PC responds with ARP reply

  • ARP reply is visible in Wireshark on the PC

However:

  • Board does not receive the ARP reply

  • ICMP ping from PC to board fails

  • Ping always times out

  • No ICMP Echo Reply is transmitted by the board

Debug Information

  • RMII 50 MHz clock verified stable

  • PHY reset timing verified

  • ENET buffers placed in non-cacheable region

  • MPU configuration is SDK default

  • DCache enabled

  • PC firewall disabled

  • WiFi disabled during testing

  • Direct cable connection via USB-to-Ethernet adapter

The exact same firmware and configuration are working correctly on another board (ST05), which uses the same Ethernet PHY, same hardware design, same clock configuration, and same memory layout as our custom board.

 

what may be the issue and below i attached the project file that you can verify and let me know what mistake i am doing.

Thank you for your support.

regards,

Harisha

0 Kudos
Reply
1 Reply

426 Views
MStackDev_376
Contributor I

What is your pin configuration? Did you make any changes to the default project in this regard? Or maybe it is an issue in the Lwip configuration... You could try a different project to rule out any possible issues with the lwip setup in your project.

Go to https://mongoose.ws/wizard/#/output?board=rt1170&ide=MCUXpresso&rtos=baremetal , here you can find a MCUXpresso project that uses the Mongoose networking library. Clicking on the 'Code' tab, you will see the project folder structure and its files. To download the project to your computer, go to Settings, under 'Source Code Generator' select the folder where you want to store your project, then click the 'Generate C/C++ code' button on the upper right corner of the page. Load it in MCUXpresso, build it and flash it. Check the serial logs to get the IP and then try to ping it.

Try this project and see if the issue repeats. If it does not work, I would say most likely the ethernet pins are different on your custom board.

0 Kudos
Reply