Skip to main content
Graduate
July 12, 2025
Solved

TCP Communication Failure on Nucleo-H7S3L8 with LwIP_TCP_Echo_Server

  • July 12, 2025
  • 7 replies
  • 1298 views

I tried running the LwIP_TCP_Echo_Server app on the Nucleo Board H7S3L8 (MB1737-H7S3-L8-B02) using STM32CubeH7RS\Projects\NUCLEO-H7S3L8\Applications\LwIP\LwIP_TCP_Echo_Server sample code.

The code downloaded fine, but TCP communication didn’t work.

I started a DHCP server using Tftpd32 software, but the MCU didn’t get a DHCP IP and showed a static IP (192.168.0.10) instead.

I tried pinging the MCU’s static IP from my laptop using a straight Ethernet cable, but it failed.

I tested with both crossover and straight Ethernet cables and used a Wi-Fi modem/router as another DHCP server, but the result was the same.

I also tried other sample codes (LwIP_UDP_Echo_Client, LwIP_UDP_Echo_Server, LwIP_TCP_Echo_Client, LwIP_HTTP_Server_Raw), but the result was the same.

I followed the steps in the Readme file and enabled the XSPI2_HSLV=1 for high-speed I/O.

Did I miss any steps? Screenshots are attached for reference.

 

MCU Comm3 serial responseMCU Comm3 serial response

Ping request from Laptop to the MCUPing request from Laptop to the MCU

Wireshark packet while sending echo command from Laptop to the MCUWireshark packet while sending echo command from Laptop to the MCU

DHCP server - PC utility TFTPD32DHCP server - PC utility TFTPD32

Laptop IP Address configurationLaptop IP Address configuration

**System Information:**

-- Board: NUCLEO-H7S3L8 (MB1737-H7S3-L8-B02)

-- STM32CubeIDE: Version 1.17.0 (Build: 23558_20241155_2245)

-- STM32CubeMX: Version 6.13.0-RC5 (Build: 20241122-0809)

 

Any guidance would be greatly appreciated!

Thanks!

    This topic has been closed for replies.
    Best answer by STackPointer64

    Yes, it is safe to do so. As can be seen in the Getting Started with STM32H7Rx/7Sx MCUs Hardware Development application note, the voltage range for VDDXSPI2 is between 1.62V and 3.6V. Therefore, changing the jumper JP5 to 3V3 should allow the example to work correctly.

    7 replies

    SajidaapAuthor
    Graduate
    July 12, 2025

    Additional Screenshots 

    echo request from Laptop to the MCUecho request from Laptop to the MCU

    Main_h fileMain_h file

    MCU Board ImageMCU Board Image

     

    Super User
    July 13, 2025

    It looks like your board does not respond to ARP at all. Check if it receives any eth packet (set breakpoint in low_level_input).

     

    Technical Moderator
    July 15, 2025

    Hello @Sajidaap,

    Please try changing the JP5 jumper position to 3V3; this should resolve the issue.

    Best regards,

    SajidaapAuthor
    Graduate
    July 15, 2025

    Hi @STackPointer64 , @Pavel A. 

    Thanks for your reply.

    The Option bit XSPI2-HSLV is "Checked" in the sample code.

    As I understand, the HSLV is only activated when VDD ≤ 2.7 V. This feature shouldn’t be used at a voltage higher than 2.7 V, as it can lead to unexpected behavior. And the I/O HSLV configuration bit must not be set if the I/O supply (VDD) is above 2.7 V. Setting it while the voltage is higher than 2.7 V can damage the device.

    Please correct me if I am wrong.

    Is it Ok to set the jumper to 3.3V while the Option bit XSPI2-HSLV is "Checked"?

    Thanks.

     

    Technical Moderator
    July 15, 2025

    Yes, it is safe to do so. As can be seen in the Getting Started with STM32H7Rx/7Sx MCUs Hardware Development application note, the voltage range for VDDXSPI2 is between 1.62V and 3.6V. Therefore, changing the jumper JP5 to 3V3 should allow the example to work correctly.

    SajidaapAuthor
    Graduate
    July 15, 2025

    Thanks @STackPointer64 , @Pavel A. 

    When I disable the XSPI2_HSLV, I am getting an error while debugging. (Failed to execute MI command)

    It's worked when I changed the jumper JP5 to 3V3 while the XSPI2_HSLV bit is enabled.

     

    @STackPointer64, Thanks for the solution.

    Would you please help me to understand the part highlighted below? I have enabled the XSPI2_HSLV bit while the jumper JP5 is connected to 3V3.

    Also, the Jumper setting is not mentioned in the Readme file!

    Table 4. Power supply connectionTable 4. Power supply connection

    Thanks,

    Sajid

    Super User
    July 15, 2025

    Can you disable XSPI2_HSLV while dealing with the ETH issue? 

     

    SajidaapAuthor
    Graduate
    July 15, 2025

    echotoolechotool

    DHCPDHCP

    SajidaapAuthor
    Graduate
    July 15, 2025

    Thanks, @STackPointer64 ,

    Would you please let me know where it is mentioned about the Jumper setting for this application? SO that I will not miss these settings in the future.

    Technical Moderator
    July 15, 2025

    The default position of Jumper JP5 is 3V3. If it needed to be changed to 1V8, it would have been explicitly stated in the README file with instructions such as "Make sure that Jumper JP5 is set to 1V8..."