Forum Discussion
Altera_Forum
Honored Contributor
16 years agosimple socket server connection established, but cannot ping/telnet
hello guys,
I got a problem with simple socket server problem. I post similiar thread in dev kit forum, but no answer until now. I am thinking maybe I could get help from here. Thank you in advance. My situation is here: hardware: cIII 120 develop board software: QII 9.1 sp2, Nios II 9.1 sp2 What i have done: 1. copy the C:\altera\91\nios2eds\examples\verilog\niosII_cycl oneIII_3c120\triple_speed_ethernet_design to my project fold and open with QII 2. open sopc builder and run generate 3. back to QII and compile to generate sof (time limited version) 4. open nios eclipse ide, create a new project with simple socket server template 5. to avoid troulbe, modife get_mac_addr() as: ****************************************** int get_mac_addr(NET net, unsigned char mac_addr[6]) { mac_addr[0]=0xB7; mac_addr[1]=0xA7; mac_addr[2]=0xED; mac_addr[3]=0xFF; mac_addr[4]=0xFF; mac_addr[5]=0xFF; return 0; // return (get_board_mac_addr(mac_addr)); } ****************************************** 6. I disable DHCP in wizard and I use cross cable to connect board and PC directly. 7. run app as "Nios II hardware" what I got: =============== Software License Reminder ================ This software project uses an unlicensed version of the NicheStack TCP/IP Network Stack - Nios II Edition. If you want to ship resulting object code in your product, you must purchase a license for this software from Altera. For information go to: "http://www.altera.com/nichestack" ================================================== === InterNiche Portable TCP/IP, v3.1 Copyright 1996-2008 by InterNiche Technologies. All rights reserved. prep_tse_mac 0 Static IP Address is 192.168.1.234 prepped 1 interface, initializing... [tse_mac_init] INFO : TSE MAC 0 found at address 0x08004000 INFO : PHY Marvell 88E1111 found at PHY address 0x12 of MAC Group[0] INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0] INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED INFO : PHY[0.0] - Checking link... INFO : PHY[0.0] - Link established INFO : PHY[0.0] - Speed = 100, Duplex = Full OK, x=1, CMD_CONFIG=0x00000000 MAC post-initialization: CMD_CONFIG=0x04000203 [tse_sgdma_read_init] RX descriptor chain desc (1 depth) created mctest init called IP address of et1 : 192.168.1.234 Created "Inet main" task (Prio: 2) Created "clock tick" task (Prio: 3) Simple Socket Server starting up [sss_task] Simple Socket Server listening on port 30 Created "simple socket server" task (Prio: 4) Everything looks smooth, but I cannot ping, telnet or whatever else. When I ping, the RX light is flashing, but TX light not.43 Replies
- Altera_Forum
Honored Contributor
Terasic have managed to fix my problem.
They supplied this file which allows for compilation in Quartus and SOPC Builder 10.0 SP1. In Nios II EDS 10.0, I created a Simple Socket Server example as per the .SOPCINFO file generated from the downloaded files. I then had to copy the files from the QB3/QB3_NET_GMII_NET0/software/ethernet_test/simple_socket_server to overwrite the files in my project. I applied the changes as per the HSMC-NET user manual, and finally it works! - Altera_Forum
Honored Contributor
I'm glad that you've fixed your problem.
have you compared the files they gave you with your own? is it about the marvell_cfg_gmii? - Altera_Forum
Honored Contributor
I compared most of the .v files (to compare the hardware) and most of the .c files (to compare the software) and cannot seem to find any differences.
I added the "marvell_cfg_gmii(tse[iface].mi.base);" line to both ins_tse_mac.c files in both projects, so the difference isn't there. - Altera_Forum
Honored Contributor
just an fyi ... i've been fighting this problem for most of the morning. the suggestion made by
seilaser did the trick. i simply left the quartus-ii programmer open and i can ping as well as run the telnet example. /david - Altera_Forum
Honored Contributor
Hi guys,
I am also facing the same problem. I am using Arria II GX FPGA on my custom board. Marvell 88E1111 PHY, TSE MAC and RGMII I m using version 10.1 I am not able ping the custom board. @t.yuan Where exactly shall I include "marvell_cfg_gmii(tse[iface].mi.base);" in ins_tse_mac.c my interface standard is RGMII @BenjaminLunsky What exactly u did? can u elaborate? What files you got from Terasic? can u please tell me? URGENT !!!!!! - Altera_Forum
Honored Contributor
Hi all,
I am having the same problem using my custom board with national Dp83865 PHY. once running the console displays: --- Quote Start --- InterNiche Portable TCP/IP, v3.1 Copyright 1996-2007 by InterNiche Technologies. All rights reserved. prep_tse_mac 0 Your Ethernet MAC address is a0:a0:a0:a0:a0:a0 Static IP Address is 192.168.1.16 prepped 1 interface, initializing... [tse_mac_init] SGDMA desc memory cleared INFO : TSE MAC 0 found at address 0x08005c00 INFO : PHY National DP83865 found at PHY address 0x02 of MAC Group[0] INFO : PHY[0.0] - Automatically mapped to tse_mac_device[0] INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED INFO : PHY[0.0] - Restart Auto-Negotiation, checking PHY link... INFO : PHY[0.0] - Auto-Negotiation PASSED INFO : PHY[0.0] - Checking link... INFO : PHY[0.0] - Link established INFO : PHY[0.0] - Gigabit = 0, Duplex = Full OK, x=2, CMD_CONFIG=0x01000000 MAC post-initialization: CMD_CONFIG=0x05000203 [tse_sgdma_read_init] RX descriptor chain desc (1 depth) created IP address of et1 : 192.168.1.16 Created "Inet main" task (Prio: 2) Created "clock tick" task (Prio: 3) Simple Socket Server starting up [sss_task] Simple Socket Server listening on port 30 Created "simple socket server" task (Prio: 4) --- Quote End --- after Created "simple socket server" task (Prio: 4),I can't ping the custom board. Anyone has an idea of how to debug this problem? Help would be greatly appreciated! Thanks, Xiyou - Altera_Forum
Honored Contributor
--- Quote Start --- Hi guys, I am also facing the same problem. I am using Arria II GX FPGA on my custom board. Marvell 88E1111 PHY, TSE MAC and RGMII I m using version 10.1 I am not able ping the custom board. @t.yuan Where exactly shall I include "marvell_cfg_gmii(tse[iface].mi.base);" in ins_tse_mac.c my interface standard is RGMII @BenjaminLunsky What exactly u did? can u elaborate? What files you got from Terasic? can u please tell me? URGENT !!!!!! --- Quote End --- Hi,all, I also have the same problem with arria ii gx board of altera, please help me. - Altera_Forum
Honored Contributor
Hi,
I am using Arria II GX FPGA on my custom board. Marvell 88E1111 PHY, TSE MAC and RGMII I m using Quartus version 10.1 I am trying to run Simple Socket Server with RGMII mode on my custom board. I am able to ping my custom board with th IP address I configured on it. But connection establishment between client and server is not happening Do I need to include marvell_cfg_rgmii(tse[iface].mi.base); in ins_tse_mac.c Where exactly shall I include "marvell_cfg_gmii(tse[iface].mi.base);" in ins_tse_mac.c What can be other possible solution? - Altera_Forum
Honored Contributor
If you can ping the board, there's definitely no problem at the mac/phy levels, so I don't think you need to include that.
Probably you have a wrong SSS code or made a mistake in tcp configuration: infact ping relies on UDP, while the server-client connection requires TCP which is a bit more complex. Using a network analyzer like Wireshark can easily help you to find out if connection initiates and where it fails before being established. - Altera_Forum
Honored Contributor
@Cris72
I tried to rum same SSS code on Arria II GX development kit. It's running there on dev kit