Open RGD2 opened 1 year ago
As you noted, this project is supporting the 7.0
which is, as you guessed, not exhibiting this behavior:
ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20: icmp_seq=1 ttl=128 time=0.066 ms
64 bytes from 192.168.1.20: icmp_seq=2 ttl=128 time=0.039 ms
64 bytes from 192.168.1.20: icmp_seq=3 ttl=128 time=0.059 ms
64 bytes from 192.168.1.20: icmp_seq=4 ttl=128 time=0.037 ms
64 bytes from 192.168.1.20: icmp_seq=5 ttl=128 time=0.055 ms
64 bytes from 192.168.1.20: icmp_seq=6 ttl=128 time=0.054 ms
[...]
64 bytes from 192.168.1.20: icmp_seq=48 ttl=128 time=0.055 ms
64 bytes from 192.168.1.20: icmp_seq=49 ttl=128 time=0.042 ms
64 bytes from 192.168.1.20: icmp_seq=50 ttl=128 time=0.053 ms
64 bytes from 192.168.1.20: icmp_seq=51 ttl=128 time=0.090 ms
64 bytes from 192.168.1.20: icmp_seq=52 ttl=128 time=0.036 ms
64 bytes from 192.168.1.20: icmp_seq=53 ttl=128 time=0.053 ms
64 bytes from 192.168.1.20: icmp_seq=54 ttl=128 time=0.032 ms
^C
--- 192.168.1.20 ping statistics ---
54 packets transmitted, 54 received, 0% packet loss, time 54249ms
rtt min/avg/max/mdev = 0.032/0.052/0.090/0.012 ms
Given this, I would then appreciate a bit less of arrogance:
this appears EXTREMELY unhealthy:
Shouldn't this core have no trouble keeping this up without packet loss at least? It's not a high bar.
I'm not sure how adding this is useful and/or will encourage developers to help? So be careful please.
I don't have the 8.0
revision, but the two first things I would do would be to check the tx_delay
and try to adjust the value and also check the reported timings and try to improve them by eventually disabling some features.
As you can imagine, the aim of this project is to allow developers to use Ethernet on FPGA for very cheap, which of course introduce some constraints on the core that hasn't been designed for this initially (initially targeting 7-series FPGA). With more time/help, it would probably be possible to improve portability between hardware, but the current solution limits the scope to one board that has been tested due to these constraints.
Interesting note, doesn't appear to drop/duplicate packets when ping flooded:
$ sudo ping -f -c 50000 192.168.1.20
PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
--- 192.168.1.20 ping statistics ---
50000 packets transmitted, 50000 received, 0% packet loss, time 7760ms
rtt min/avg/max/mdev = 0.041/0.114/0.272/0.036 ms, ipg/ewma 0.155/0.102 ms
Same behaviour still observed with a 'normal' ~1Hz ping:
$ ping 192.168.1.20
PING 192.168.1.20 (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20: icmp_seq=1 ttl=128 time=0.303 ms
64 bytes from 192.168.1.20: icmp_seq=2 ttl=128 time=0.326 ms
^C
--- 192.168.1.20 ping statistics ---
7 packets transmitted, 2 received, 71.4286% packet loss, time 6143ms
rtt min/avg/max/mdev = 0.303/0.314/0.326/0.011 ms
I can confirm this weird issue with my rev 8.2:
~ ping 192.168.2.20
PING 192.168.2.20 (192.168.2.20) 56(84) bytes of data.
64 bytes from 192.168.2.20: icmp_seq=86 ttl=128 time=0.151 ms
64 bytes from 192.168.2.20: icmp_seq=118 ttl=128 time=0.108 ms
64 bytes from 192.168.2.20: icmp_seq=119 ttl=128 time=0.218 ms
64 bytes from 192.168.2.20: icmp_seq=125 ttl=128 time=0.113 ms
64 bytes from 192.168.2.20: icmp_seq=126 ttl=128 time=0.179 ms
64 bytes from 192.168.2.20: icmp_seq=141 ttl=128 time=66.4 ms
64 bytes from 192.168.2.20: icmp_seq=142 ttl=128 time=0.136 ms
^C
--- 192.168.2.20 ping statistics ---
171 packets transmitted, 7 received, 95.9064% packet loss, time 174051ms
rtt min/avg/max/mdev = 0.108/9.617/66.420/23.189 ms
but:
sudo ping -f 192.168.2.20
PING 192.168.2.20 (192.168.2.20) 56(84) bytes of data.
.............................................................................................................................................................................................................................................................
.............................................................................................................................................................................................................................................................
............................................................................................................................................................^C
--- 192.168.2.20 ping statistics ---
49370 packets transmitted, 48708 received, 1.3409% packet loss, time 18906ms
rtt min/avg/max/mdev = 0.056/0.082/3.488/0.021 ms, ipg/ewma 0.382/0.082 ms
Note: might be related to #7
After
cd build/gateware; openFPGALoader colorlight.bit
(I have a ft2232H hooked up to the JTAG header as appropriate for a V8.0 board, this is just how I can configure the FPGA).The Led on the board blinks at about 1Hz, and in this state
litex_server --udp --udp-ip=192.168.1.20
appears to connect ok, but this appears EXTREMELY unhealthy:Shouldn't this core have no trouble keeping this up without packet loss at least? It's not a high bar.
This is without
litex_server
running, just pinging the board, which is at the other end of a network cable running to a dedicated GbE port (no switches etc) configured with a static IP.Does it look like this for anyone else?