TheCrypt0 Posted March 26, 2020 Posted March 26, 2020 Armbianmonitor: https://pastebin.com/DSf3Tnau Hi, I've recently got a ZeroPi from FriendlyElec and I immediately installed Armbian Buster, so far is working great except for a minor issue with the Gigabit ethernet. I'm planning to use it with Wireguard as server so I've made some performance checks first to test the actual network speed with iperf3. What I discovered surprised me, the network throughput in upload from the ZeroPi is fine (900 to 950 Mbps) but the download seems to be limited to ~380 Mbps. ------------------------------------------------------- # UPLOAD TEST (ZEROPI ---> HOST) # $ iperf3 -c XX.XX.XX.XX ------------------------------------------------------- [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 107 MBytes 900 Mbits/sec [ 5] 1.00-2.00 sec 106 MBytes 890 Mbits/sec [ 5] 2.00-3.00 sec 110 MBytes 926 Mbits/sec [ 5] 3.00-4.00 sec 112 MBytes 943 Mbits/sec [ 5] 4.00-5.00 sec 111 MBytes 931 Mbits/sec [ 5] 5.00-6.00 sec 109 MBytes 918 Mbits/sec [ 5] 6.00-7.00 sec 110 MBytes 925 Mbits/sec [ 5] 7.00-8.00 sec 113 MBytes 946 Mbits/sec [ 5] 8.00-9.00 sec 109 MBytes 917 Mbits/sec [ 5] 9.00-10.00 sec 106 MBytes 892 Mbits/sec [ 5] 10.00-10.02 sec 1.74 MBytes 946 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.02 sec 1.07 GBytes 919 Mbits/sec receiver ------------------------------------------------------- # DOWNLOAD TEST (HOST ---> ZEROPI) # $ iperf3 -c XX.XX.XX.XX --reverse ------------------------------------------------------- [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 48.6 MBytes 407 Mbits/sec 0 217 KBytes [ 5] 1.00-2.00 sec 48.2 MBytes 404 Mbits/sec 0 217 KBytes [ 5] 2.00-3.00 sec 41.6 MBytes 349 Mbits/sec 0 217 KBytes [ 5] 3.00-4.00 sec 39.9 MBytes 335 Mbits/sec 0 217 KBytes [ 5] 4.00-5.00 sec 47.6 MBytes 399 Mbits/sec 0 217 KBytes [ 5] 5.00-6.00 sec 52.3 MBytes 439 Mbits/sec 0 217 KBytes [ 5] 6.00-7.00 sec 42.4 MBytes 356 Mbits/sec 0 217 KBytes [ 5] 7.00-8.00 sec 60.4 MBytes 506 Mbits/sec 0 217 KBytes [ 5] 8.00-9.01 sec 39.2 MBytes 326 Mbits/sec 0 217 KBytes [ 5] 9.01-10.00 sec 43.6 MBytes 368 Mbits/sec 0 217 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.03 sec 464 MBytes 388 Mbits/sec 0 sender I've tried to connect my notebook to the same cable coming from the switch and the speeds are >900Mbps both in upload and download (tested with iperf too), so I'm excluding an issue on the network. For what I can tell from the table at the bottom of this page (https://linux-sunxi.org/Sun8i_emac#Performance) the speeds (if bottlenecked) should be about the same for TX and RX. Do you have any suggestion or more tests to make?
Igor Posted March 26, 2020 Posted March 26, 2020 22 minutes ago, TheCrypt0 said: For what I can tell from the table at the bottom of this page (https://linux-sunxi.org/Sun8i_emac#Performance) the speeds (if bottlenecked) should be about the same for TX and RX. ... where you also have some tips what to do. Our automated testing for ZeroPi shows: 672 - 846 Mbits/sec which is good enough not to panic about.
TheCrypt0 Posted March 26, 2020 Author Posted March 26, 2020 (edited) 17 hours ago, Igor said: ... where you also have some tips what to do. Right! I was trying to understand how to change the TX/RX delay. IIRC the fex file aren't used since Armbian doesn't use the legacy sunxi kernel. (Correct me if I'm wrong). Quote From the Wiki: You perhaps need to tweak RX/TX delay. You could find the correct value in FEX files. For the moment the only way is to write the value via /dev/mem. You could use either busybox's devmem applet or compile the free-electrons.com/pub/mirror/devmem2.c utility for this. Example: for BPIM3 devmem 0x1c00030 w 0x1806 Is there any documentation on how to find the relevant memory address for the ZeroPi and what values are possible to set? I couldn't find any hint online. Edit: Just found this issue (https://github.com/armbian/build/issues/546) which references this commit to the updated docs (https://github.com/armbian/documentation/commit/287affb1e0c32292cc8ef9aa3f466ef9864f1502). The gmac TX/RX delays can be changed in /boot/armbianEnv.txt - Testing right now. Edit 2: Using the utility (linked in the issue mentioned in the previous edit) and after some tweaking I managed to get more than 650Mbps out of the RX line. However I noticed that the Full Duplex speeds are limited to a maximum of about 900Mbps (350Mbps TX + 550 Mbps RX when testing with two instances of iperf). ------------ ethtool output: Settings for eth0: Supported ports: [ TP MII ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Supported pause frame use: Symmetric Receive-only Supports auto-negotiation: Yes Supported FEC modes: Not reported Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Advertised pause frame use: Symmetric Receive-only Advertised auto-negotiation: Yes Advertised FEC modes: Not reported Link partner advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Half 1000baseT/Full Link partner advertised pause frame use: No Link partner advertised auto-negotiation: Yes Link partner advertised FEC modes: Not reported Speed: 1000Mb/s Duplex: Full Port: MII PHYAD: 7 Transceiver: internal Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x0000003f (63) drv probe link timer ifdown ifup Link detected: yes 17 hours ago, Igor said: Our automated testing for ZeroPi shows: 672 - 846 Mbits/sec which is good enough not to panic about. Did you also test the full duplex speeds? Edited March 27, 2020 by TheCrypt0 Added ethtool output and full duplex discoveries
dolphs Posted April 18, 2020 Posted April 18, 2020 Any news rgd this, eg improvements with kernel >=5.6 ? Also like to find out its max cpu speed [ 10 minutes (over)clocking to 1,53Ghz ? ] that can be used with provided heatsink
Igor Posted April 18, 2020 Posted April 18, 2020 On 3/26/2020 at 6:28 PM, TheCrypt0 said: Did you also test the full duplex speeds? No. I am running low on ideas how to test things and still have lot to do with a framework. If you got few minutes, add your test to our test facility or improve the existing https://github.com/armbian/autotests/tree/master/tests Its fairly simple so I guess there is not need for extra manual for this.
sfx2000 Posted April 19, 2020 Posted April 19, 2020 On 3/26/2020 at 8:53 AM, TheCrypt0 said: I'm planning to use it with Wireguard as server so I've made some performance checks first to test the actual network speed with iperf3. What I discovered surprised me, the network throughput in upload from the ZeroPi is fine (900 to 950 Mbps) but the download seems to be limited to ~380 Mbps. FWIW - WG performance on Cortex-A7 - you'll be lucky to get 200 Mbps - this is based on experience with Qualcomm IPQ4028 w/QSDK - runs a bit slower on the CPU's -- 717MHz, but much better internals for network items compared to H3
Recommended Posts