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.
I am using the LP-AM243 Launchpad development board with the SDK 08.03.00.18. I have most of the non-network examples running fine, multicore, rpc, ipc, etc. When I try the LWIP example lwip_icssg with freertos it works fine plugged into J19. iperf test is great. If I try to run the lwip_cpsw it does not run properly and wireshark is showing no network traffic. Link light is present and using the same port. I have link and the terminal output is below. Board power cycled, reset, etc. I have changed nothing in the example except rebuilt it. Given the lwip_icssg works great I know the DHCP server and network connection are fine. Is there a problem with the enet_lwip_cpsw_am243x_lp_r5fss0-0_freertos_ti-arm-clang project that needs changing/updating? Suggestions (I tried the other Ethernet port as well but the example is not setup for that and the output alternated between EnetMod and Mdio_ioctl as expected):
Get the following with cpsw example:
EnetMod_ioctl:1305
Mdio_ioctl:581
EnetMod_ioctl:1305
Cpsw_handleExternalPhyLinkUp:2588
Cpsw_handleLinkDown:1995
Cpsw_handleExternalPhyLinkUp:2588
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: f4:84:4c:fb:be:bd
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
link_callback==UP
8.634s : CPU load = 0.00 %
13.634s : CPU load = 1.82 %
then it looks like DHCP must timeout and you get this later, again no traffic on wireshark for DHCP requests:
243.634s : CPU load = 1.83 %
248.634s : CPU load = 1.84 %
status_callback==UP, local interface IP is 169.254.190.190
... CPU load ... continues...
Thanks,
Kev
We tested the lwip cpsw example from SDK 8.3 on Am243x lp board and we do not see the issue at our end.
Can you please share some additional logs to figure out why you are seeing issue with cpsw
Can you please change mcu_plus_sdk\examples\networking\lwip\enet_lwip_cpsw\am243x-lp\r5fss0-0_freertos\example.syscfg
enet_cpsw1.ExternalPhyMgmtEnable = false;
mcu_plus_sdk\source\networking\enet\core\include\enet_cfg.h
change
#define ENET_CFG_TRACE_DISABLE_INFOSTRING (ENET_ON)
to
#define ENET_CFG_TRACE_DISABLE_INFOSTRING (ENET_OFF)
After above change pls rebuild all MCU+SDK libraries and also clean and rebuild the application. Please share the logs with this change.
The link is established at gigabit for cpsw and 100 Mbps for ICSS by default in this example.To check if issue is related to gigabit link please add below lines of code:
mcu_plus_sdk\examples\networking\lwip\enet_lwip_cpsw\test_enet.c
EnetApp_initLinkArgs()
if (boardPhyCfg != NULL)
{
EnetPhy_initCfg(phyCfg);
phyCfg->phyAddr = boardPhyCfg->phyAddr;
phyCfg->isStrapped = boardPhyCfg->isStrapped;
phyCfg->loopbackEn = false;
phyCfg->skipExtendedCfg = boardPhyCfg->skipExtendedCfg;
phyCfg->extendedCfgSize = boardPhyCfg->extendedCfgSize;
/* Setting Tx and Rx skew delay values */
Board_TxRxDelaySet(boardPhyCfg);
memcpy(phyCfg->extendedCfg, boardPhyCfg->extendedCfg, phyCfg->extendedCfgSize);
/* Add below lines of code to ensure link is established at 100 Mbps instead of 1 gbps */
phyCfg->nwayCaps = ENETPHY_LINK_CAP_ALL;
phyCfg->nwayCaps &= ~(ENETPHY_LINK_CAP_1000);
}
If you rebuild the application after this change you should now see link established at 100 Mbps .Please let us know if you see the app functional at 100 Mbps but not at gigabit at your end.
Hi Badri,
Thanks for the input. My development computer is plugged into the same TP-Link router and running at 1G but when you mentioned it I was hoping that was it but still no luck. I left both traces with the 100M patch since the ICSS works fine at that speed and I am actively doing a project with it running fine with the ICSS. I am wondering if CPSW might be a hardware problem with the development board as I have used it on other TI processor boards with no problem on prior projects. Cable is plugged into the same port ICSS uses and if I reset the board and run that example it works fine. Note with the external phy management enabled (second trace) 1G is shown as the connection speed but dhcp still does not work and both projects are built against the same SDK. I included a re-test of the ICSS immediately afterwords as a control to ensure all connections and libraries were still fine and it still worked.
syscfg - external phy management disabled:
==========================
ENET LWIP App
==========================
Enabling clocks!
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:0f Ver:01 <-> 'dp83869' : OK
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:0f Ver:01 <-> 'dp83869' : OK
PHY 3 is alive
PHY 15 is alive
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: f4:84:4c:fb:be:bd
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
Cpsw_handleLinkUp: Port 1: Link up: 100-Mbps Full-Duplex
Cpsw_handleLinkUp: Port 2: Link up: 100-Mbps Full-Duplex
MAC Port 1: link up
MAC Port 2: link up
link_callback==UP
5. 52s : CPU load = 2.50 %
10. 52s : CPU load = 1.86 %
15. 52s : CPU load = 1.85 %
20. 52s : CPU load = 1.86 %
25. 52s : CPU load = 1.85 %
30. 52s : CPU load = 1.85 %
35. 52s : CPU load = 1.86 %
40. 52s : CPU load = 1.85 %
45. 52s : CPU load = 1.85 %
50. 52s : CPU load = 1.85 %
...
235. 52s : CPU load = 1.86 %
240. 52s : CPU load = 1.86 %
245. 52s : CPU load = 1.86 %
250. 52s : CPU load = 1.86 %
status_callback==UP, local interface IP is 169.254.190.190
255. 52s : CPU load = 1.87 %
--------------------------------------------------------------------------------------------------------------------------------------------------
syscfg - external phy management enabled:
Starting NULL Bootloader ...
DMSC Firmware Version 22.1.1--v2022.01 (Terrific Llam
DMSC Firmware revision 0x16
DMSC ABI revision 3.1
INFO: Bootloader_runCpu:151: CPU r5f1-0 is initialized to 800000000 Hz !!!
INFO: Bootloader_runCpu:151: CPU r5f1-1 is initialized to 800000000 Hz !!!
INFO: Bootloader_runCpu:151: CPU m4f0-0 is initialized to 400000000 Hz !!!
INFO: Bootloader_loadSelfCpu:203: CPU r5f0-0 is initialized to 800000000 Hz !!!
INFO: Bootloader_loadSelfCpu:203: CPU r5f0-1 is initialized to 800000000 Hz !!!
INFO: Bootloader_runSelfCpu:213: All done, reseting self ...
==========================
ENET LWIP App
==========================
Enabling clocks!
Mdio_ioctl: failed to read PHY 3 C22 reg 2: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 3: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 31: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
... repeats ...
Mdio_ioctl: failed to read PHY 3 C22 reg 4: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 5: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 9: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 10: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Cpsw_handleExternalPhyLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
Cpsw_handleLinkDown: Port 1: Link down
Cpsw_handleExternalPhyLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: f4:84:4c:fb:be:bd
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
link_callback==UP
9. 13s : CPU load = 0.00 %
14. 13s : CPU load = 1.98 %
19. 13s : CPU load = 1.98 %
24. 13s : CPU load = 1.98 %
29. 13s : CPU load = 1.98 %
34. 13s : CPU load = 1.98 %
39. 13s : CPU load = 1.99 %
44. 13s : CPU load = 1.98 %
49. 13s : CPU load = 1.98 %
54. 13s : CPU load = 1.98 %
59. 13s : CPU load = 1.98 %
64. 13s : CPU load = 1.98 %
...
244. 13s : CPU load = 1.99 %
249. 13s : CPU load = 1.99 %
status_callback==UP, local interface IP is 169.254.190.190
254. 13s : CPU load = 1.99 %
-------------------------------------------------------------------------------------------------------------------
Retest with ICSS rebuilt and plugged into same Ethernet connector, note my project has the CPU load output disabled:
Mdio_ioctl: failed to read PHY 3 C22 reg 9: 1
EnetMod_ioctl: icssg1-1.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Icssg_ioctl: icssg1-1: failed to run MDIO IOCTL 0x0100060a: 1
... repeats...
Mdio_ioctl: failed to read PHY 3 C22 reg 10: 1
EnetMod_ioctl: icssg1-1.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Icssg_ioctl: icssg1-1: failed to run MDIO IOCTL 0x0100060a: 1
Icssg_handleExternalPhyLinkUp: icssg1-1: Port 1: Link up: 100-Mbps Full-Duplex
Icssg_handleLinkDown: icssg1-1: Port 1: Link down
Icssg_handleExternalPhyLinkUp: icssg1-1: Port 1: Link up: 100-Mbps Full-Duplex
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: 70:ff:76:1d:92:c1
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
link_callback==UP
status_callback==UP, local interface IP is 192.168.68.91
Hi Kevin,
Could you please share the binary for the external phy enabled and disabled. We will try to reproduce the issue on our end.
Regards
Nilabh A.
Hi Kevin,
If you need any help let us know, else if things are working on your end kindly close the thread.
BR
Nilabh A.
Hi Nilabh,
Been busy on a project and will get back to this as soon as I can.
Thanks,
Kev
I remembered I had to hack the linker.cmd due to a bug in your scripts that another post said would be fixed later. Since that may not have reflected the change to example.syscfg correctly before I re-ran the tests. Attached is the .out file for both phy enabled and disabled, both with 100M patch. I am assuming this is the proper file if not let me know. If it does not work why don't you send me yours and how to best load it so it does not get overwritten (may not if has a newer date anyways in the Debug directory).enet_lwip_cpsw_am243x-lp_r5fss0-0_freertos_ti-arm-clang.zip
syscfg - external phy management disabled:
==========================
ENET LWIP App
==========================
Enabling clocks!
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:0f Ver:01 <-> 'dp83869' : OK
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:0f Ver:01 <-> 'dp83869' : OK
PHY 3 is alive
PHY 15 is alive
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: f4:84:4c:fb:be:bd
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
Cpsw_handleLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
Cpsw_handleLinkUp: Port 2: Link up: 1-Gbps Full-Duplex
MAC Port 1: link up
MAC Port 2: link up
link_callback==UP
5. 52s : CPU load = 2.51 %
10. 52s : CPU load = 1.85 %
15. 52s : CPU load = 1.85 %
20. 52s : CPU load = 1.85 %
25. 52s : CPU load = 1.85 %
30. 52s : CPU load = 1.85 %
35. 52s : CPU load = 1.85 %
... repeats
235. 52s : CPU load = 1.85 %
240. 52s : CPU load = 1.85 %
245. 52s : CPU load = 1.85 %
250. 52s : CPU load = 1.86 %
status_callback==UP, local interface IP is 169.254.190.190
255. 52s : CPU load = 1.87 %
260. 52s : CPU load = 1.85 %
-----------------------------------------------------------------------------------------------------
syscfg - external phy management disabled, 100M bit code in place:
==========================
ENET LWIP App
==========================
Enabling clocks!
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:0f Ver:01 <-> 'dp83869' : OK
EnetPhy_bindDriver: PHY 3: OUI:080028 Model:0f Ver:01 <-> 'dp83869' : OK
PHY 3 is alive
PHY 15 is alive
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: f4:84:4c:fb:be:bd
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
Cpsw_handleLinkUp: Port 1: Link up: 100-Mbps Full-Duplex
Cpsw_handleLinkUp: Port 2: Link up: 100-Mbps Full-Duplex
MAC Port 1: link up
MAC Port 2: link up
link_callback==UP
5. 52s : CPU load = 2.50 %
10. 52s : CPU load = 1.86 %
15. 52s : CPU load = 1.86 %
... repeats
status_callback==UP, local interface IP is 169.254.190.190
...
-----------------------------------------------------------------------------------------------------
syscfg - external phy management enabled, 100M bit code in place:
==========================
ENET LWIP App
==========================
Enabling clocks!
Mdio_ioctl: failed to read PHY 3 C22 reg 2: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 3: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 31: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 31: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 31: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 0: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 0: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 31: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 31: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 16: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 16: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 30: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 30: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 16: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 16: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 13: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 14: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 24: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 15: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 4: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 4: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 9: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 9: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 0: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 0: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
... repeats ...
Mdio_ioctl: failed to read PHY 3 C22 reg 0: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 0: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060c: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 0: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 4: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 5: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 9: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 10: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Cpsw_handleExternalPhyLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
Cpsw_handleLinkDown: Port 1: Link down
Cpsw_handleExternalPhyLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: f4:84:4c:fb:be:bd
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
link_callback==UP
8.798s : CPU load = 0.00 %
13.798s : CPU load = 1.85 %
18.798s : CPU load = 1.85 %
Hi Kevin,
The binaries you have shared are working fine on TI EVM(AM234-lp) Attaching the logs below.
/cfs-file/__key/communityserver-discussions-components-files/908/am243xlp_5F00_logs.zip
1. Can you please check if the dhcp server to which you are connecting your evm to is working correctly? Also share the syscfg configuration of your example project.
2. Can you please share the cpsw diagnostics as mentioned here
3. Please capture wireshark log with following setup:
a. Open wireshark ,
b. connect Am243x-lp directly to your PC running wireshark
c. Start capture and Run the example.
4. Please capture wireshark log with icssg working case.
BR
Nilabh A.
Hi Nilabh,
Have a feeling it is a hardware problem on the development board. There aren't any jumpers in that area of the board that would effect anything I can see and looks like the resistors set things up at power up. With regards to the dhcp server it is working fine and we only run IPV4. Remember if I switch to the PRU_ICSS project all works great on the exact same port. Also my development system computer is plugged into the same network switch and running dhcp as well. I ran Wireshark before and there were no packets present when using cpsw but were there with icssg. Connecting directly to the PC is a good idea in case the switch is6403.example.zip filtering out any initial packets from cpsw and I am just seeing later successful negotiation packets with icssg. Attached is the syscfg, if there seems to be a problem you might want to send me yours or I can re-install the project (did that once before though). If my syscfg looks fine I may just order another development board given how cheap they are but will look at the cpsw diagnostics. Let me know on the syscfg.
Thanks,
Kev
Assuming I did it correctly I ran the cpsw example for 30 seconds then suspended it and ran the script and got the following, almost looks like it is looping back?
MAIN_Cortex_R5_0_0: GEL Output: --------------------------------
MAIN_Cortex_R5_0_0: GEL Output: PORT0 STATS
MAIN_Cortex_R5_0_0: GEL Output: --------------------------------
MAIN_Cortex_R5_0_0: GEL Output: STAT_0_RXGOODFRAMES = 0x00000005
MAIN_Cortex_R5_0_0: GEL Output: STAT_0_RXBROADCASTFRAMES = 0x00000005
MAIN_Cortex_R5_0_0: GEL Output: STAT_0_RXOCTETS = 0x000006EA
MAIN_Cortex_R5_0_0: GEL Output: STAT_0_OCTETFRAMES256T511 = 0x00000005
MAIN_Cortex_R5_0_0: GEL Output: STAT_0_NETOCTETS = 0x000006EA
MAIN_Cortex_R5_0_0: GEL Output: --------------------------------
MAIN_Cortex_R5_0_0: GEL Output: PORT1 STATS
MAIN_Cortex_R5_0_0: GEL Output: --------------------------------
MAIN_Cortex_R5_0_0: GEL Output: STAT_1_TXGOODFRAMES = 0x00000005
MAIN_Cortex_R5_0_0: GEL Output: STAT_1_TXBROADCASTFRAMES = 0x00000005
MAIN_Cortex_R5_0_0: GEL Output: STAT_1_TXOCTETS = 0x000006EA
MAIN_Cortex_R5_0_0: GEL Output: STAT_1_OCTETFRAMES256T511 = 0x00000005
MAIN_Cortex_R5_0_0: GEL Output: STAT_1_NETOCTETS = 0x000006EA
MAIN_Cortex_R5_0_0: GEL Output: STAT_1_TX_PRI_REG [0]= 0x00000005
MAIN_Cortex_R5_0_0: GEL Output: STAT_1_TX_PRI_BCNT_REG [0]= 0x000006EA
MAIN_Cortex_R5_0_0: GEL Output: --------------------------------
MAIN_Cortex_R5_0_0: GEL Output: PORT2 STATS
MAIN_Cortex_R5_0_0: GEL Output: --------------------------------
From Terminal before suspend:
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 1: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 4: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 5: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 9: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Mdio_ioctl: failed to read PHY 3 C22 reg 10: 1
EnetMod_ioctl: cpsw3g.mdio: Failed to do IOCTL cmd 0x0100060a: 1
Cpsw_handleExternalPhyLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
Cpsw_handleLinkDown: Port 1: Link down
Cpsw_handleExternalPhyLinkUp: Port 1: Link up: 1-Gbps Full-Duplex
Starting lwIP, local interface IP is dhcp-enabled
Host MAC address: f4:84:4c:fb:be:bd
[LWIPIF_LWIP] Enet has been started successfully
[LWIPIF_LWIP] NETIF INIT SUCCESS
status_callback==UP, local interface IP is 0.0.0.0
UDP server listening on port 5001
link_callback==UP
8.690s : CPU load = 0.00 %
13.690s : CPU load = 1.85 %
18.690s : CPU load = 1.85 %
23.690s : CPU load = 1.85 %
28.690s : CPU load = 1.85 %
33.690s : CPU load = 1.85 %
Hi Kevin,
What is version of board that you are using . Is it E1/E2/E3?
You can find it written on your board (PROC...
BR
Nilabh A.
Hi Kevin,
At present E3 version of board is not supporting lwip cpsw example. We have raised bug with the internal team.
Attaching the jira link: https://jira.itg.ti.com/browse/MCUSDK-7916
BR
Nilabh A.
Hi Nilabh,
Well that was a waste of our time, wish they flagged it in the EVK docs or is it something you just discovered? The jira link does not work if it supplies any information. Any details on what is causing the problem, AM243x revision problem, hardware or software? The diagnostic data looked like it was stuck in loopback mode. The CPSW is needed for 1G support, does the PRU support 1G (spec says it does), it use to be limited to 100M for industrial protocols. I am working on multiple projects so I can't remember if the ISSG example was running 100M or 1G. I'll have to test it later in the week as I am traveling at the beginning of the week. Thanks for letting me know but before I select the chip for a production product I would like to get a better understanding of the problem.
Thanks,
Kev
Hi Kevin,
wish they flagged it in the EVK docs
It is mentioned on am243 release page here : https://www.ti.com/tool/MCU-PLUS-SDK-AM243X#downloads:~:text=This%20SDK%20support%20AM243x%20EVM%20and%20AM243x%20LP%20PROC109E2%20board%20revision.
I will be sharing a patch for unblocking you by tomorrow.
The CPSW is needed for 1G support, does the PRU support 1G (spec says it does), it use to be limited to 100M for industrial protocols
The PRU ICSSG supports 1G. Kindly refer to following examples for more details.
Any details on what is causing the problem, AM243x revision problem, hardware or software?
From E2 to E3 for CPSW following are the pin changes GPIO_RGMII1_PHY_RSTn to GPMC0_AD11 from PRG1_PRU1_GPO8 and PRG1_CPSW_RGMII1_MUX_SEL to GPMC0_AD12 from PRG1_PRU1_GPO5. It will be fixed in official 8.4 MCU SDK release also.
BR
Nilabh A.
Hi Kevin,
Apologies for inconvenience and thank you for your patience. I am attaching the patch to be applied on MCU SDK 8.03.18 for supporting lwip cpsw example on AM243xlp(E3 revision) board. Let me know if it works for you
Steps to apply:
1. Apply patch on mcu_plus_sdk root directory.
2. Clean and rebuild examples.
3. Run example
BR
Nilabh A.