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.

MCU-PLUS-SDK-AM243X: lwip cpsw example not working for 1 GBps connection

Part Number: MCU-PLUS-SDK-AM243X
Other Parts Discussed in Thread: LP-AM243, DP83869, TMDS64EVM

Tool/software:

Hi TI-Team,

I am struggling with enet_lwip_cpsw_am243x-lp_r5fss0-0_freertos_ti-arm-clang example on LP-AM243

We have problems with 1 GBit on our custom board with AM243x ALV and DP83869. Because of the same PHY I switched to LP AM243x and I have the same behavior as on our custom board, when executing enet_lwip_cpsw_am243x-lp_r5fss0-0_freertos_ti-arm-clang:

1 GBps connections are not working
- I do not get an IP-Adress from DHCP server
- I see no corresponding traffic in wireshark

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
==========================
ENET LWIP App
==========================
Enabling clocks!
EnetAppUtils_reduceCoreMacAllocation: Reduced Mac Address Allocation for CoreId:1 From 4 To 2
Mdio_open: MDIO Manual_Mode enabled
PHY 3 is alive
PHY 15 is alive
Cpsw_handleExternalPhyLinkUp: Port 2: Link up: 1-Gbps Full-Duplex
Starting lwIP, local interface IP is dhcp-enabled
[LWIPIF_LWIP] NETIF INIT SUCCESS
Host MAC address-0 : 1c:63:49:25:19:fb
Host MAC address-0 : 70:ff:76:1f:57:20
[LWIPIF_LWIP] NETIF INIT SUCCESS
[LWIPIF_LWIP] Enet has been started successfully
[0]status_callback==UP, local interface IP is 0.0.0.0
[1]status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
link_callback==UP
link_callback==UP
10. 69s : CPU load = 6.69 %
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


100 MBps connections work fine
- I changed driver settings of network adapter to be fixed to 100 MBps instead of auto-negotiation
- Board sets up link with 100 MBps
- I see traffic, get IP address, everything works

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
==========================
ENET LWIP App
==========================
Enabling clocks!
EnetAppUtils_reduceCoreMacAllocation: Reduced Mac Address Allocation for CoreId:1 From 4 To 2
Mdio_open: MDIO Manual_Mode enabled
PHY 3 is alive
PHY 15 is alive
Cpsw_handleExternalPhyLinkUp: Port 2: Link up: 100-Mbps Half-Duplex
Starting lwIP, local interface IP is dhcp-enabled
[LWIPIF_LWIP] NETIF INIT SUCCESS
Host MAC address-0 : 1c:63:49:25:19:fb
Host MAC address-0 : 70:ff:76:1f:57:20
[LWIPIF_LWIP] NETIF INIT SUCCESS
[LWIPIF_LWIP] Enet has been started successfully
[0]status_callback==UP, local interface IP is 0.0.0.0
[1]status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
link_callback==UP
link_callback==UP
10. 69s : CPU load = 6.69 %
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



Unsure about exact version of LP-AM243, there is a label "PROC109A(001)"
MCU+ SDK AM243x 10.00

I also stumbled accross various different threads having similar problems, but they all seemed to use a older version of SDK but newer boards. Any ideas on this topic what could be the problem in my case?

e2e.ti.com/.../mcu-plus-sdk-am243x-lwip-examples-no-ip-assigned-to-lp

e2e.ti.com/.../lp-am243-lwip-cpsw-no-ip-address-wrong-link-led

e2e.ti.com/.../mcu-plus-sdk-am243x-am243x-launchpad-cpsw-example-does-not-work-but-pru-icss-works-fine

  • Hi ,

    Thanks for your query.

    Can you please explain your setup details?

    1 GBps connections are not working

    Introduction to MCU+ SDK

    Regards

    Ashwani

  • Sure, I have connected the LP-AM243 directly to a windows computer. On this computer I have a little DHCP Tool handling the DHCP requests.

    As I run the DHCP server on the computer I am able to change the Link-Speed settings in device manager:

    - "Automatische Aushandlung" will select 1 Gbps connection, board also prints "1-Gbps Full-Duplex"

    - e.g. 100-Mbps Half-Duplex, will select 100 Mbps connection, I will be able to see requests and get IP address

  • I have connected the LP-AM243 directly to a windows computer.

    Can you try with "D-LINK Desktop Switch " in between AM243x-LP and Desktop-PC and let me know if you are observing same behavior?

    Regards

    Ashwani

  • Hi,

    I am not sure what you mean with "D-LINK Desktop Switch". I had a unmanaged Gigabit Switch (Netgear GS308). If I connect LP-AM243 and desktop PC running DHCP server to this switch the behavior is the same. I do not get any IP address and do not see any requests.

    Actually it's even worse, as forcing 100 Mbps on the network card of desktop PC won't get board to work, as board exchanges speed info with switch and stays at 1 Gbps.

  • I am not sure what you mean with "D-LINK Desktop Switch".

    We are using DES-1008C 8-Port 10/100 Mbps Unmanaged Switch | D-Link (dlink.com) in our test setup.

    Can you please share wireshark capture logs of the traffic receiving at network ports of LP-AM243x?

    Regards

    Ashwani

  • As far as I see the switch you linked is only 100 Mbps, that would emphasize my statement, as in this case LP-AM243x will setup 100 MBps link and everything will work, as described above.

    Could you please tell me where I should capture the traffic? You said traffic receiving at network ports of LP-AM243x so I will need a network tap? Or do you mean capturing the traffic on the port of the host machine connected to LP-AM243x?

    UPDATE: I tried to make a wireshark log with our "Great Scott Gadgets Throwing Star LAN Tap Pro" (greatscottgadgets.com/.../) but this is a passive tap and as far is i read from manual will not work with 1 GBps connections.

    UPDATE 2: We now also tried different devices and the ICSSG examples (enet_lwip_icssg_am243x-lp_r5fss0-0_freertos_ti-arm-clang)

    A) TMDS64EVM
    - this board has a different hardware: CPSW DP83867, ICSSG DP83869
    - both examples (CPSW + ICSSG) work smoothly
    - we see negotation to 1 Gbps, IP-address is assigned

    B) LP-AM243, different DHCP server
    - a managed Gigabit switch with DHCP server
    - both examples (CPSW + ICSSG) same error
    - we see negotation to 1 Gbps, no IP-address is assigned

  • I also found a old 100 MBit switch, with this switch everything is working again. LP-AM243 Board sets up a 100 Mbps link

    Furthermore one of my colleagues had another LP-AM243 (E3) and tested with this boards, he is able to get the IP-address with the same setup.

  • As far as I see the switch you linked is only 100 Mbps,

    That is just for reference, we tested with D-Link 1G switch.

    Could you please tell me where I should capture the traffic?

    The packets reaching on board ethernet port.

    Furthermore one of my colleagues had another LP-AM243 (E3) and tested with this boards, he is able to get the IP-address with the same setup.

    With 1-G link speed UART print ?

    With direct connection to PC ?

    Regards

    Ashwani

  • The packets reaching on board ethernet port.

    Currently not possible as our network tap only support 100 Mbps, I tried to get a 1Gbps switch with port mirroring, but I do not have one.

    With 1-G link speed UART print ?

    With direct connection to PC ?

    Yes, with E3 board revision he had the exact same setup. "1 Gbps Full-Duplex" was printed on Debug Log. Connection was directly to PC. The small program handling the DHCP requests runs on the PC and was configured to handle the requests of the connected port.

  • Hi Ashwani,

    I do not have any AM243x EVM board, the problems arise on the Launchpad (www.ti.com/.../LP-AM243). There the AM2434BSFFHIALX (https://www.ti.com/product/AM2434/part-details/AM2434BSFFHIALXR) seems to be assembled. I guess that's the field secure chip. But for Launchpad I am unsure to which extent "GP or HSFS EVM" is applicable.

    Should I flash the latest SOC Initialization Binary from MCU+ SDK 10.00? (https://software-dl.ti.com/mcu-plus-sdk/esd/AM243X/latest/exports/docs/api_guide_am243x/EVM_SETUP_PAGE.html)

    The guide you linked I guess is not applicable (AM243x MCU+ SDK: MCU PLUS SDK Version Updating from 09.02 or earlier the latest) as I already import the examples from MCU+ SDK 10.00. I am not doing any version upgrade of an existing application, it is just executing the examples delivered with the SDK. There the sysconfigs should be correct, at least I do not have any problems building the project.

  • In Launchpad documentation I also see some changes in the appendix for the Ethernet PHY connection, could this be the reason revision A is not working with 1 GBps?

    https://www.ti.com/lit/ug/spruj12f/spruj12f.pdf?ts=1729144554905

  • Hi ,

    Can you share (not working with 1-G) AM243x-LP board name ?

    Regards

    Ashwani

  • As stated in the original post I see a label "PROC109A(001)". I can also share you a picture of the board, maybe then it is easier for you to find the board name/version you are searching for

  • I see a label "PROC109A(001)"

    I got a board with same label. Will try "MCU+SDK Version: 10.00.00.20" on this and get back to you.

    Can you share working board pic as well ?

    Also share Full UART console logs of both working and non working setup?

    Regards

    Ashwani

  • Hi ,

    Can you also try to connect both CPSW port using Ethernet cable?

    It is working on my setup (Ethernet cable connected between PC <=> D-link-switch <=> J19 port on AM243x-LP).

    Regards

    Ashwani

  • The program will run and execute, that's not the problem, the problem is that with 1 Gbps the IP address is never assigned! I haven't seen any DHCP requests from the board. Could you please check if you get an IP-address with this setup?

    Can you share working board pic as well ?

    Also share Full UART console logs of both working and non working setup?

    That's the board + Log of the working one (my colleagues board, different revision E3). Main difference: You see a IP address being assigned.

  • Okay. 

    I am assuming this is your board (not from colleagues). correect?

    As per your console log, 1 port is 1-G-Full-Duplex and port-2 is 10M-Half-Duplex. Strange!!!

    It is completedly different from the problem description

    1 GBps connections are not working
    - I do not get an IP-Adress from DHCP server
    - I see no corresponding traffic in wireshark

    100 MBps connections work fine
    - I changed driver settings of network adapter to be fixed to 100 MBps instead of auto-negotiation
    - Board sets up link with 100 MBps
    - I see traffic, get IP address, everything works

    Regards

    Ashwani

  • Okay I guess now it is a complete mess!

    NO this is NOT my board, this is the board from my colleague, as you see in the picture it is the E3 revision, with this revision the IP-address is assigned and one port is working correctly (the other one has problems, but that is not topic of this issue)

    For my board the A revision the behavior is different. The log is in the original post.

    I don't know how else I should describe basically that's the summary

    - on all boards no wether if TMDS64EVM, AM243 Launchpad or our custom board the example will successfully run and see/acknowledge link connections
    - on our custom board and on LP-AM2434 revision A, no data is sent/received, no IP adress is assigned with 1 GBps connections
    - we are trying to find out what's the problem

    - ERROR:  Custom board with DP83869 is never getting an IP address with 1 GBps connection
    - ERROR:  LP-AM243 revision A is never getting any IP address with 1 GBps connection
    - OK:         LP-AM243 revision E3 is getting an IP address with 1 GBps connection
    - OK:         TMDS64EVM is getting an IP address with 1 GBps connections, but also has a different PHY connected to CPSW

  • Okay I guess now it is a complete mess!
    - ERROR:  Custom board with DP83869 is never getting an IP address with 1 GBps connection
    - ERROR:  LP-AM243 revision A is never getting any IP address with 1 GBps connection

    Can you please create separate query for each issue?

    Regards

    Ashwani

  • If you want I can of course create two new queries.

    For me it looks like you are facing the same problem, after 64 sec no IP address is assigned, DHCP server should be able to deliver one in this time, can you share a bigger log showing after which time you get/or do not get an IP address?

    Thanks for your patience!

  • Hi ,

    The log you are referring is with loopback setup using external ethernet cable on both CPSW port.

    can you share a bigger log showing after which time you get/or do not get an IP address?

    Below is log with CPSW port connected to switch + TI-network.

    IP adress is assigned around 5min later.

    What is your test setup requirement?

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    INFO: Bootloader_runCpu:180: CPU r5f1-0 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runCpu:180: CPU r5f1-1 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runCpu:180: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:232: CPU r5f0-0 is initialized to 800000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:232: CPU r5f0-1 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runSelfCpu:242: All done, reseting self ...
    ==========================
    ENET LWIP App
    ==========================
    Enabling clocks!
    EnetAppUtils_reduceCoreMacAllocation: Reduced Mac Address Allocation for CoreId:1 From 4 To 2
    Mdio_open:306
    Open MAC port 1
    Open MAC port 2
    PHY 3 is alive
    PHY 15 is alive
    Starting lwIP, local interface IP is dhcp-enabled
    [LWIPIF_LWIP] NETIF INIT SUCCESS
    Host MAC address-0 : 1c:63:49:13:d8:56
    Host MAC address-0 : 70:ff:76:1f:a9:76
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    Regards

    Ashwani

  • Hi Ashwani,

    all my logs you see in this thread are made with the same application it is the "Enet Lwip CPSW Example" (software-dl.ti.com/.../EXAMPLES_ENET_LWIP_CPSW.html)

    In your log an IP-address is assigned, but this looks like a auto-ip, which is automatically internally assigned if no "normal" IP-address can be gathered. I guess this is done by LwIP underneath. I also get those 169.254.x.x addresses after round about the same time if I do not get any "normal" IP by DHCP server. It looks like the same problem I have, no IP assigned for 1 GBps connection.

    Thanks for testing!

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    Starting NULL Bootloader ...
    DMSC Firmware Version 8.6.4--v08.06.04 (Chill Capybar
    DMSC Firmware revision 0x8
    DMSC ABI revision 3.1
    INFO: Bootloader_runCpu:155: CPU r5f1-0 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU r5f1-1 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runCpu:155: CPU m4f0-0 is initialized to 400000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-0 is initialized to 800000000 Hz !!!
    INFO: Bootloader_loadSelfCpu:207: CPU r5f0-1 is initialized to 800000000 Hz !!!
    INFO: Bootloader_runSelfCpu:217: All done, reseting self ...
    ==========================
    ENET LWIP App
    ==========================
    Enabling clocks!
    EnetAppUtils_reduceCoreMacAllocation: Reduced Mac Address Allocation for CoreId:1 From 4 To 2
    Mdio_open: MDIO Manual_Mode enabled
    Open MAC port 1
    Open MAC port 2
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • I also get those 169.254.x.x addresses after round

    Thanks  for pointing it out.

    I raised an internal bug ( for your refernece SITSW-5743) with high priority.

    Will keep you posted the updates I will get from team.

    Regards

    Ashwani

  • Perfect, thanks a lot for your help!

  • Hi Ashwani,

    anything new on this topic?

  • Hi ,

    Will keep you posted as I will get any update on the timeline to fix the issue.

    Regards

    Ashwani

  • This issue is planned to be fixed in upcoming release.

    Regards

    Ashwani