Skip to main content
Explorer
December 4, 2019
Solved

NUCLEO-F767ZI dead Ethernet, no active line LED's :: SOLVED

  • December 4, 2019
  • 10 replies
  • 4561 views

Hello.

I cannot use Ethernet with my 2 weeks old NUCLEO-F767ZI (chip version Z).

Probably the LAN8742A does not work properly anymore.

After initilization I perform a check:

if (HAL_ETH_ReadPHYRegister(&heth, PHY_BSR, &regvalue)==HAL_OK) {
 if (regvalue&0x04) {
 // cable connected, but with this board never reached
 ...
 }
}

No LED of the connector is active.

The software works on other boards. (Latest FW, etc.)

Is there a chance to rescue the board?

Thank you Joerg

    This topic has been closed for replies.
    Best answer by Joerg Wagner

    I have a solution for my problem:

    Disable Auto negotiation, use Full-Duplex and 100MBit/s.

    In HAL_ETH_Init() Auto negotiation returns with HAL_TIMEOUT and is not proper initialized.

    10 replies

    Super User
    December 4, 2019

    If the same software works on another board, and if all other aspects of the software do work on this board, it still may be then either the PHY, the magnetics, the RJ socket, or any of the dozen of components around these...

    Grab an oscilloscope, and start with the ETH clock (25/50MHz).

    JW

    Graduate II
    December 4, 2019

    Also try running with/without debugger and do flash mass erase.

    Explorer
    December 4, 2019

    Software works on 30 other boards.

    ETH clock is present, Jumper JP6 and JP7 shortened with solder.

    It takes too much time to think about if the PHY is bad.

    Board goes into the trash, not the first one.

    Thank you for your time.

    Graduate II
    December 4, 2019

    Do all boards have the same defect? Maybe MAC address conflicts and switch disabling it's ports?

    I have 5 exactly the same boards all working perfectly for about 2 years.

    Explorer
    December 4, 2019

    I use always the board ID as part of the MAC to avoid this.

    Testing means one DHCP server, laptop and board. No other devices.

    Super User
    December 12, 2019

    Hi Joerg, @Joerg Wagner​ ,

    Could you share how you derive MAC address from the board ID?

    IIRC only some bytes or bits in the board ID are unique, and ST does not document which bits are unique for H7. Again, IIRC.

    -- Pavel

    Explorer
    December 4, 2019

    No, just one board.

    In the past I got rid of boards with chip version A.

    Graduate II
    December 4, 2019

    Just for a curiosity and to be more sure, you can try my demo firmware:

    https://community.st.com/s/question/0D50X0000AhNBoWSQW/actually-working-stm32-ethernet-and-lwip-demonstration-firmware

    If it shows IP address in a terminal and you can ping it, then... it gets more interesting. :))

    Explorer
    December 5, 2019

    It works. Does it use FreeRTOS?

    Graduate II
    December 5, 2019

    It's written in the description - yes, but not from ST. Except for register definition headers, there is no code from ST...

    Joerg WagnerAuthorAnswer
    Explorer
    December 5, 2019

    I have a solution for my problem:

    Disable Auto negotiation, use Full-Duplex and 100MBit/s.

    In HAL_ETH_Init() Auto negotiation returns with HAL_TIMEOUT and is not proper initialized.

    Graduate II
    December 5, 2019

    https://community.st.com/s/question/0D50X0000BiCXYbSQO/stm32f767zi-project-will-run-at-100mbit-ethernet-but-not-10mbit

    Check if your code has the same problem. Is your code based on CubeMX or ST's examples?

    It seems that this is another bug to add to my already long list of network related bugs:

    https://community.st.com/s/question/0D50X0000BOtfhnSQB/how-to-make-ethernet-and-lwip-working-on-stm32

    Explorer
    December 5, 2019

    CubeMX.

    I remember that you do not provide your source code. What a shame.

    Graduate II
    December 11, 2019

    > But now no LED's of the connector are on and network is not active.

    As on this board the Ethernet connector LEDs are connected to PHY chip and PHY has it's own quartz crystal, it works absolutely autonomously. I even checked this by mass erasing the MCU and power cycling the board. The PHY still works and LEDs turn on after auto-negotiation finishes after approximately 2 seconds.

    Check the quality of crimped connectors, if there are such. Try other cable, switch/router, power supply for it. Check if the Nucleo isn't physically damaged, especially the Ethernet connector.

    P.S. Serial output looks strange because your terminal client doesn't understand VT100 terminal protocol, which is the de facto standard. On Windows I suggest Tera Term as one of the best terminals. PuTTY is also a neat tool.

    Explorer
    December 11, 2019

    Hi. I work with Mac, no Tera Term available.

    Tested several cables and checked the connector under glasses.

    Sometimes it works sometimes not. All cables work fine with other

    devices. Something is strange with the NUCLEO-F767ZI board and

    I cannot use it in production at a customer. Goes into trash.

    Graduate II
    December 14, 2019

    If the PHY LEDs are not stable with empty mass erased MCU, then it really is a hardware problem. It could be anything in the environment - power supply, ESD, vibration, temperature, humidity, dust, people...

    For macOS MacTerm looks good, but I've not used it.

    Also take a note of this.