cancel
Showing results for 
Search instead for 
Did you mean: 

Ethernet bandwidth is not achieving 1Gbps, 345Mbps Only

JWii.1
Associate

I got my STM32MP157A-DK1 load STM32MP15-Ecosystem-v2.1.0/Starter-Package

Using iPerf3 for UDP speed test, but only achieved around 345Mbps.

Made sure the cable, labtop NIC, switch are compatible with Gigabit.

Attching board eth0 config

Settings for eth0:

       Supported ports: [ TP MII ]

       Supported link modes:  10baseT/Half 10baseT/Full

                               100baseT/Half 100baseT/Full

                               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/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/Full

       Link partner advertised pause frame use: Symmetric

       Link partner advertised auto-negotiation: Yes

       Link partner advertised FEC modes: Not reported

       Speed: 1000Mb/s

       Duplex: Full

       Port: MII

       PHYAD: 0

       Transceiver: internal

       Auto-negotiation: on

       Supports Wake-on: ug

       Wake-on: d

       Current message level: 0x0000003f (63)

                              drv probe link timer ifdown ifup

       Link detected: yes

Attaching iperf3 test result

./iperf3 -c 10.0.0.169 -u -b 1G

Connecting to host 10.0.0.169, port 5201

[ 4] local 10.0.0.5 port 51001 connected to 10.0.0.169 port 5201

[ ID] Interval          Transfer    Bandwidth      Total Datagrams

[ 4]  0.00-1.00  sec 38.3 MBytes  321 Mbits/sec 4897

[ 4]  1.00-2.00  sec 40.8 MBytes  342 Mbits/sec 5225

[ 4]  2.00-3.00  sec 42.4 MBytes  355 Mbits/sec 5421

[ 4]  3.00-4.00  sec 41.1 MBytes  344 Mbits/sec 5255

[ 4]  4.00-5.00  sec 42.0 MBytes  352 Mbits/sec 5375

[ 4]  5.00-6.00  sec 41.2 MBytes  346 Mbits/sec 5279

[ 4]  6.00-7.00  sec 41.8 MBytes  351 Mbits/sec 5350

[ 4]  7.00-8.00  sec 41.3 MBytes  346 Mbits/sec 5283

[ 4]  8.00-9.00  sec 42.0 MBytes  353 Mbits/sec 5375

[ 4]  9.00-10.00 sec 40.8 MBytes  342 Mbits/sec 5226

- - - - - - - - - - - - - - - - - - - - - - - - -

[ ID] Interval          Transfer    Bandwidth      Jitter   Lost/Total Datagrams

[ 4]  0.00-10.00 sec  412 MBytes  345 Mbits/sec 0.204 ms 1805/52659 (3.4%)

[ 4] Sent 52659 datagrams

Please contribute you ideas on what am I missing? what else can I further do?

3 REPLIES 3
Bernard PUEL
ST Employee

Hello,

We did check the tests performed on V2.1.0. And the performances were very good on MP157f DK2 (so near 950 MB).

1/ MP157f is 800Mhz and dual cpu, so this can explain the diff. You can check adding "-V" option in Iperf3 the cpu load used (even if sometimes the value in not correct).

2/ Our tests are performed on a private LAN with only 2 boards inside the gateway LAN (one for Ref and the tested board). This can also influence the results.

3/ Iperf3 versions need to be the same or very close between the server and client (we have also seen big diff around this).

4/ With net data server, you can easily double check the iperf3 output data: see https://wiki.st.com/stm32mpu/wiki/Netdata.

Bernard PUEL
ST Employee

Coming back to this subject. The picture is not so easy to get and we can see a regression between kernel 4.9 (V1.x.y) and 5.10 (V3.x.y) with same setup.

Analysis is ongoing. The issue is not related to cpu bandwidth (no limitation seen on MP157F ).

Bernard PUEL
ST Employee

I mean 4.9 and 5.10 is ok but 5.4 is below 400 Mbits/sec.