Skip to main content
Explorer
July 16, 2025
Question

STM32N6 ETH cant send packets

  • July 16, 2025
  • 2 replies
  • 905 views

Hi. I have a  NUCLEO-N657X0-Q board with MB1854B. Yes, exactly nucleo, not discovery one. Im trying to recreate RTSP example fron discovery board.

 

As netxduo from cubemx is kinda buggy, i manually added it along with other necessary middlewares from github repo. After configuring all peripherals according to VENC RTSP example for disco board on video side and UDP ECHO Server example for nucleo board, i copied application files from VENC RTSP example.

Application starts but fails to get IP by dhcp. I have tripple-checked all the things. ETH configuration and driver are correct for my board and my PHY(lan8742). ETH is inited without errors, memories for descriptors and buffers are marked as non-cached in MPU. Pin assignment also correct. Netxduo creates DHCP packets and descriptors for them. Then _nx_driver_packet_send is triggered. But i checked with my oscilloscope TX lines on the RMII interface, and there are no activity. 

I also checked, UDP Echo example works on this board fine. So hardware isnt a problem.

 

Are there other things to check or some guide, how to create from scratch project for stm32n6 with ethernet/netxduo support? 

    This topic has been closed for replies.

    2 replies

    AlexCatzeAuthor
    Explorer
    July 16, 2025

    Im not sure how this is related to my issue. I have nothing to receive still.

     

    Also i found that after netxduo calls HAL_ETH_Transmit_IT, there are no eth interrupts after it(im not sure if it should be). 

    Eth interrupt is enabled and it happens two times on boot (right after invoking HAL_ETH_Start_IT) and when I plug/unplug ethernet cable.

    Technical Moderator
    July 16, 2025

    Hello @AlexCatze,

    Could you please answer the following questions to help me better understand the issue?

    • Have you tried capturing the network traffic using Wireshark?
    • Was there an ARP announcement packet sent?
    • Are you certain your DHCP server is functioning correctly?
    • Have you tried assigning a static IP address if DHCP failed to acquire one? If yes, did the application work?
    • Is your application running under an RTOS?
    • Have you compared your NetXduo configuration with the UDP Echo example? Tools like Meld (Linux) or WinMerge (Windows) can help compare files line by line.

    The more details you provide about your configuration, debugging steps, and investigations, the better I can assist you in resolving the issue.

    Best regards,

     

    AlexCatzeAuthor
    Explorer
    July 16, 2025

    Hello.

    Yes, ofcourse.

    • Have you tried capturing the network traffic using Wireshark?

    Yes, I did. Both, connecting directly to PC network interface with no filters, and connecting PC and N6 to the same network with filter my MAC address in wireshark. In both scenarios, with faulty project, there were no packets. And in both scenarios but with example from repo there were DHCP packets.

    • Was there an ARP announcement packet sent?

    No. N6 sends no packets. Btw, there no communication from N6 to PHY chip on the RMII`s TX lines at all. In the same time, PHY tries to communicate with N6 on the RX lines.

    • Are you certain your DHCP server is functioning correctly?

    Yes. If i will use example from github "as is" - it will work perfectly in the same enviroment.


    • Is your application running under an RTOS?

    Yes. Im using ThreadX(Azrtos) from the same repo.


    • Have you compared your NetXduo configuration with the UDP Echo example? Tools like Meld (Linux) or WinMerge (Windows) can help compare files line by line.

     Yes, i did. But i did it manually. Example is FSBL-only project, but my project is secure application. Also, looks like example was created using different version of CubeMX, so fragments of code with the same logic are different(different lines order, variable names, etc). And my project have some additional things (VENC, DCMIPP, I2C). So comparing line-by line them will show a lot of differences.

     

    The more details you provide about your configuration, debugging steps, and investigations, the better I can assist you in resolving the issue.


    There are a lot of tests done by me and a ton of information gathered. But i think, the most important is:

    - DHCPclient/Netxduo successfully creates packet in the TX buffer and points descriptor to it.

    - HAL_ETH_Transmit_IT is invoked next. 

    - There are no ETH interrupt after HAL_ETH_Transmit_IT call. But generally, ETH interrupts are working(unplugging cable causes interrupt).

    - There are no activity on TX lines at all.

     

    I can share project with You. Also i will try to recreate bare minimum project from scratch, making notes about all steps. And check if issue will be there.

     

    Graduate
    July 21, 2025
    Visitor II
    July 22, 2025

    Hi, 

    Do you have these clocks enabled?

    __HAL_RCC_ETH1MAC_CLK_ENABLE();
    __HAL_RCC_ETH1TX_CLK_ENABLE();
    __HAL_RCC_ETH1RX_CLK_ENABLE();

     

    They were not generated for me, after I added them to HAL_ETH_MspInit, it started to work.