Hi, All,I'm a newbie in FPGA and embedded designs (and new to this forum as well). My system has a NIOS-II, TSE MAC, ETX PHY and external SSRAM. I've reached a point where the Simple Socket Server app is running on the board, and 'listening' on port 30. However, I can't get it to respond: all Telnet connection attempts, PINGs, etc. are not working. Any ideas? Thanks, Ran.
Hi,Well, after going through all the relevant messages, no help. The TSE MAC receives correct Ethernet frames: I can see that from the statistics registers of the MAC (no errors, all frames are valid). How can check what's wrong from this point onwards? Any ideas? Thanks, Ran
If the statistics registers on the MAC are increasing then it could be something else than timing. Here are a few things I suggest:[list][*]is the board using an IP address other than 0.0.0.0? Either use a fixed address, or check that it gets a correct one from DHCP. It should print it in the terminal.[*]Use an Ethernet sniffer on the PC you are connecting to the board (Wireshark is a good one) and check that at least the ARP request that the PC sends gets an answer from the board[*]use signaltap probes on the tx and rx stream interfaces between the TSE and the DMAs, and compare the contents with the packets shown in Wireshark.[/list]
I had same problems and it was timing. All the reception paths were perfectly fine, but the transmit part had failing paths because of MII/GMII buses mux. That damn thing needs long paths...
Hi, Daixien, Socrates,-I'm using a static IP, as given in the example: 126.96.36.199, or something similar. The gateway is also 188.8.131.52 -Wireshark sees no incoming packets from the board, at all. -I'm trying to watch the stream interface with signaltap, but I see nothing: either my trigger is off (what should it be? the _write signal or the irq maybe?) or there is really no traffic on it, which might be the issue. If so, what can cause the stream interface to not work? I should point out that if i'm using the debugger, I can see the software reacting to incoming packets in the background. I just can't figure out what it see that causes it to ignore them... Thanks, Ran
You should synchronize with the sop (start of packet) signal. You can also add the valid and ready signals as triggers.Can you dump the received packets contents (either from the software side, or in signaltap) and compare with what Wireshark says? If you are seeing software activity then it means something is received.
Hi, Guys,I wanted to update you all that I found the problem: The connection between the SGDMAs and memory was wrong. I'm using an external SRAM which is not supported by the default controllers shipped with Qsys, so I created my own using the Tri-State Controller. I have 4 external chips, so I have 4 TS controllers, all of them connected to the NIOS. The SGDMAs of the Ethernet MAC should also be connected to the memory, of course: but I connected them to Controller 0, and for some reason the software was trying to R/W to Controller 1. I discovered this when I checked (using SignalTap) the actual addresses the SGDMA were trying to reach each time a Ping is received. Anyway, I changed the memory connection to Cont. 1, and everything work. Thanks to all those who gave advices, have a great day :-) Ran