This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TM4C1290NCPDT: Program is stopped in the lwIPLinkDetect function

Part Number: TM4C1290NCPDT
Other Parts Discussed in Thread: EK-TM4C1294XL

Hi Team,

I have a customer who has a network problem to consult now.

MCU: tm4c129ekcpt

Use the official website instance: lwip

The board is connected to the router through the network wire, and the program is stopped in the lwIPLinkDetect function

bHaveLink = MAP_EMACPHYRead(EMAC0_BASE, PHY_PHYS_ADDR, EPHY_BMSR) &

                                EPHY_BMSR_LINKSTAT;

 

    //

    // Return without doing anything else if the link state hasn't changed.

    //

    if(bHaveLink == g_bLinkActive)

    {

        return;

    }

BHaveLink is always 0.

 What reason is happening this kind of circumstance commonly? Could you please help for this?

Thanks a lot!

  • Hi Amelie,

     Can you try a few things?

    • Try one of the existing TivaWare Ethernet examples such as the one from <TivaWare_Installation>/examples/boards/ek-tm4c1294xl/enet_lwip. This is  a proven example. If you run this example and you are still stuck in the link issue then it is likely a connection issue outside of the MCU
    • If the above example works then it will be something to investigate on your software side and see if the pins are properly configured for Ethernet operation.
    • Do you have other boards to try? Can you repeat the same link issue with another boards?
    • Can you change the Ethernet cable? Do you see any differences?
    • Check your router. The MCU PHY will negotiate with the link partner to determine the speed and duplex mode whith which to operate. I wonder if your router is working properly. 

  • Hi Amelie,
    I have not heard back from you. I hope you and your customer somehow resolve the issue. If not, please provide some updates to this thread. I will close this thread for now. If you have new questions you can open a new thread.
  • Hi Ameli,

    Perhaps customer forget to set link true, code place after return? That one reason may explain why link always 0.

        // Save the new link state switch
        bLinkActive = true;