He Yin Ling 333b9d7873 Merge branch 'bugfix/example_test_socket_issue_4.2' into 'release/v4.2' 4 gadi atpakaļ
..
components 443c9ff276 test: fix socket issue in iperf example test 4 gadi atpakaļ
main 96a00e59f4 example: set PMF capable to connect to PMF required APs 4 gadi atpakaļ
CMakeLists.txt 5b2fa1a5ad build_app: make multi target support readable 5 gadi atpakaļ
Makefile 7bc36d23e1 ethernet: add iperf example to test real bandwidth 7 gadi atpakaļ
README.md 835186b3b9 esp_wifi: re-enable build wifi example 5 gadi atpakaļ
iperf_test.py 443c9ff276 test: fix socket issue in iperf example test 4 gadi atpakaļ
sdkconfig.ci.00 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.01 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.02 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.03 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.04 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.05 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.06 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.07 871ea650f6 examples: fix sdkconfig warnings 6 gadi atpakaļ
sdkconfig.ci.99 54bf4dccfa test: support multiple targets for iperf example test 4 gadi atpakaļ
sdkconfig.defaults fabb7e5e87 examples: update esp32s2 config for wifi iperf 6 gadi atpakaļ
sdkconfig.defaults.esp32 fabb7e5e87 examples: update esp32s2 config for wifi iperf 6 gadi atpakaļ
sdkconfig.defaults.esp32s2 eda97d7e16 update esp32s2 iperf config 5 gadi atpakaļ

README.md

Iperf Example

Note about iperf version

The iperf example doesn't support all features in standard iperf. It's compitable with iperf version 2.x.

Note about 80MHz flash frequency

The iperf can get better throughput if the SPI flash frequency is set to 80MHz, but the system may crash in 80MHz mode for ESP-WROVER-KIT. Removing R140~R145 from the board can fix this issue. Currently the default SPI frequency is set to 40MHz, if you want to change the SPI flash frequency to 80MHz, please make sure R140~R145 are removed from ESP-WROVER-KIT or use ESP32 DevKitC.

Introduction

This example implements the protocol used by the common performance measurement tool iPerf. Performance can be measured between two ESP32s running this example, or between a single ESP32 and a computer running the iPerf tool

Demo steps to test station TCP Tx performance:

  1. Build the iperf example with sdkconfig.defaults, which contains performance test specific configurations

  2. Run the demo as station mode and join the target AP sta ssid password

  3. Run iperf as server on AP side iperf -s -i 3

  4. Run iperf as client on ESP32 side iperf -c 192.168.10.42 -i 3 -t 60

The console output, which is printed by station TCP RX throughput test, looks like:

esp32> sta aptest

I (5325) iperf: sta connecting to 'aptest'

esp32> I (6017) event: ip: 192.168.10.248, mask: 255.255.255.0, gw: 192.168.10.1

esp32> iperf -s -i 3 -t 1000

I (14958) iperf: mode=tcp-server sip=192.168.10.248:5001, dip=0.0.0.0:5001, interval=3, time=1000

Interval Bandwidth

esp32> accept: 192.168.10.42,62958

0- 3 sec 8.43 Mbits/sec

3- 6 sec 36.16 Mbits/sec

6- 9 sec 36.22 Mbits/sec

9- 12 sec 36.44 Mbits/sec

12- 15 sec 36.25 Mbits/sec

15- 18 sec 24.36 Mbits/sec

18- 21 sec 27.79 Mbits/sec

Steps to test station/soft-AP TCP/UDP RX/TX throughput are similar as test steps in station TCP TX.

See the README.md file in the upper level 'examples' directory for more information about examples.