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.
Hi,
My first DM648 custom board(ver 1) used two ethernet ports, and the client program in ndk 1.92 eval worked well. Now my second custom board(ver 2) used only one ethernet port, but the program failed because I can't ping the board(ver 2) from my pc.
At first, the Stdout window in CCS showed this message :
"cpsw_MDIO_FindingState: Timed Out looking for a Phy! ".
Then I changed the constant defined in file "C:\dvsdk_1_11_00_00_DM648\ndk_1_92_00_22_eval\packages\ti\ndk\src\hal\evmdm648\ethss_dm648\cpsw3g_core.h":
#define CPSW3G_NUM_MAC_PORTS 2u /**< MAC Port Count */
I chagned this constant from 2 to 1, and rebuild the hal_eth_dm648.lib file. Then I rebuilded the program and run this program, and the error message disappeared. But I still can't ping the board(ver 2) from my pc.
Then I used the first board(ver 1), and the program worked well, and I can ping the board(ver 1) from my pc.
Now the message displayed in Stdout window is complete same as below, that first board(ver 1) worked well while second board(ver 2) failed:
TCP/IP Stack Example Client Using MAC Address: 00-0e-99-02-aa-23
cpsw_MDIO_Init
SetPhyMode:000021E1 Auto:1, FD10:64, HD10:32, FD100:256, HD100:128, FD1000:8192 LPBK:0
cpsw_MDIO_Init SetPhyMode:00000000 Auto:0, FD10:0, HD10:0, FD100:0, HD100:0, FD1000:0 LPBK:0
Network Added: If-1:192.168.0.33
Service Status: Telnet : Enabled : : 000
Service Status: HTTP : Enabled : : 000
cpsw_MDIO_FindingState: PhyNum: 0
cpsw_MDIO_PhYReset(0)
Enable Phy to negotiate external connection
NWAY Advertising: FullDuplex-1000 FullDuplex-100 HalfDuplex-100 FullDuplex-10 HalfDuplex-10
Phy: 0, NegMode 01E1, NWAYadvertise 01E1, NWAYREadvertise 45E1
Negotiated connection: FullDuplex 100 Mbs
Link Status: 100Mb/s Full Duplex on PHY 0
The ethernet part of these two board is same as the EVM board. So I want to ask what should I do to use only one ethernet port?
Thanks for help
James Chen
Hi James,
Since the client app is working for your board with 2 Ethernet ports (ver 1) but does not work with the board that has only 1 Ethernet port (ver 2), it seems that the problem could be some hardware difference between the two boards. Or maybe a driver update is needed for the ver 2 board.
So, are you able to reproduce the problem on the DM648 EVM? I would like to run your program here in order to debug it, but I all I have is the EVM board. Do you think I'll be able to see this problem on my EVM?
If so, please attach your *fully built* client project to this thread, and I can try it out here.
Also, I think the output you show in the above posting is from running the client example on board *ver 1*. Can you please also post the output for the failure case (when running on board *ver 2*)?
Thanks,
Steve
3872.My_Client_2.rarHi Steve,
The output of the program running on second board(ver 2) is complete same with the first board(ver 2).
I post the client project as below:
hal_eth_dm648_1port.lib is the one ethernet port lib file I rebuilded, hal_eth_dm648_2port.lib is the builded file in NDK.
Thanks,
James
Hi James,
I spent some time trying to rebuild your attached project, but I was unable to do so. It seems like you have a mix of files from NDK 1.92.00.22, NDK 1.92.00.13, and possibly even NDK 2.0.0. Is this correct?
I am having trouble rebuilding due to errors caused by this mixing and matching. So, in order to reproduce this, I will need you to zip up your entire NDK installation where your My_Client project lives. Can you do that and then upload it?
Or, if you can build your My_Client application to use DHCP this would help, too.
Thanks,
Steve