Good work that you have brought some live into your project. Did you wrote your IP MAC by yourself or did you take a ready one for example from Opencores? Do you want to implement all upper layers in hardware (VHDL/Verilog) or do you want to use a soft-processor like the Nios II for that stuff. Using a soft-processor in conjunction with a ready TCP/IP stack (e.g. lwip) would be the “easy” way. It will be harder to implement the stuff in hardware.
A very good tool for capturing the network traffic is Ethereal (h**p://www.ethereal.com/).
Telnet is up to TCP application layer , so it is very hard to do it with HW and very costy, u should stick with the TCP stack and processor idea, much easier and will save a lot of effort, one other thing ICMP is a network layer protocol it can be handle with TCP stack.
The VIRTEX 4 FX has a ethernet module built in and if you get the memtec module there is an app ready to go !.(i belive that others manufactures also offer it)
Also, I would love to use Ethereal for this. So I will go back to one of my original questions - is going to the IPV4 layer enough, or do I have to go one more in order to get Ethereal to see packets?
jdhar said:my board is connected to my router, and hte light on the router is blinking like mad, almost like it's constantly sending packets to my board. However, I can see al lthe incoming packets, and none of them are from the router, and definitely not at that rate. I know my board's Tx and Rx works since I am sending and receiving ARP and UDP data to other computers on my network. Could this be a DHCP thing?
mami_hacky said:Why not to use NIOS embedded processor and then run a
small linux on it. after that may be you can have what you are looking for.
jdhar said:Thanks! I guess I should have clarified all of this. I am using the Ethernet MAC provided with Protel DXP's suite, along with their Tasking 51X processor (I'm using C-code). So I would prefer NOT doing any upper-level stuff in a HDL.
hey cube - I don't think this is it- Yes, I have installed Ethereal, but the light that is blinking is the port on which my board is connected. So it either means that there are a lot of packets being sent to my board that DONT have my MAC address (or broadcast) since I'm watching all received packets, OR, my board needs to do some negotiation with the router to make the router happy. Any help with this?It is possible that your OS (Windows/Linux) is sending a lot of packets to find out if there are other connected PCs. You can easily find what on the line with Ethereal. Did you install the tool?
bibo1978 said:I belive that if ethereal can not capture any data on link then there is a problem with your MAC, are u using a soft or hardware MAC?
I believe may be the your MAC didn't generate a proper Frame, or may be it comes from the higher level protocol like LLC or IP, the MAC address is 48 bit with the first two bits indicating the broadcast and local, 22-bits OUI, 24 Vendor specific, may be u are not using a proper address which is less common to happen.
May be also u may configure your FPGA TCP stack IP address so it should be in the same network as your computer.
I am not sure but I believe that ethreal can sniff any L2 data on the ethernet cable, including some standards like ARP, DHCP ... etc regardless of any IP address maintenenace.
In fact ethreal can sniff all data on the network and if it doesn't sniff except multi, broad or destinated to u MAC address this may be because the device is directly connected to a switch or dual-speed hup If your machine is not plugged into a switched network or a dual-speed hub, or it is plugged into a switched network but the port is set up to have all traffic replicated to it, the problem might be that the network interface on which you're capturing doesn't support "promiscuous" mode, or because your OS can't put the interface into promiscuous mode. Normally, network interfaces supply to the host only.
Most network interfaces can also be put in "promiscuous" mode, in which they supply to the host all network packets they see. Ethereal will try to put the interface on which it's capturing into promiscuous mode unless the "Capture packets in promiscuous mode" option is turned off in the "Capture Options" dialog box, and Tethereal will try to put the interface on which it's capturing into promiscuous mode unless the -p option was specified. However, some network interfaces don't support promiscuous mode, and some OSes might not allow interfaces to be put into promiscuous mode
Still may be u have a physical error, but sure ethreal can sniff data from network rather than destined data, "that is what a sniffer do"!!
according to my experience on ethernet, first you should have a look at the wave form on the RJ-45 pins to see whether they seems to be OK, find the bugs in vhdl is the second stage. make sure there's no physical connection problem.
write stack on 51 is boring. I had done to IP layer and single socket TCP layer. but I think it's almost impossible to apply full tcp stack on 8051.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?