Overview ================================================================ This is a NuttX port of the ESP-IDF iperf example. [1] It doesn't support all features in standard iperf. It's supposed to be compatible with iperf version 2.x. [2] [1] https://github.com/espressif/esp-idf/tree/master/examples/wifi/iperf [2] https://sourceforge.net/projects/iperf2/ Configuring NuttX to use your Wireless Router (aka Access Point) ================================================================ Since you are already in the root of NuttX/ repository, execute make menuconfig to define your Wireless Router and your password: $ make menuconfig Browser the menus this way: Application Configuration ---> Network Utilities ---> Networking Configuration ---> WAPI Configuration ---> (myApSSID) SSID (mySSIDpassphrase) Passprhase Replace the SSID from myApSSID with your wireless router name and the Passprhase with your WiFi password. Exit and save your configuration. iperf Test Example =================================== To set up, do `make menuconfig` and select the Apps > netutils > iperf example. By default, NuttX will the be the client which sends data; and the host computer (Linux, macOS, or Windows) will be the server. Set up networking so the NuttX computer can ping the host, and the host can ping NuttX. Now you are ready to run the test. If you are using a wireless network card, you must first connect to the router: On host: $ iperf -s -p 5471 -i 1 -w 416K ------------------------------------------------------------ Server listening on TCP port 5471 TCP window size: 416 KByte ------------------------------------------------------------ On NuttX: nsh> iperf -c 192.168.1.181 -p 5471 -i 1 -t 10 mode=tcp-client sip=192.168.1.198:5001, dip=192.168.1.181:5471, interval=1, time=10 Interval Bandwidth 0- 1 sec, 0.39 Mbits/sec 1- 2 sec, 0.26 Mbits/sec 2- 3 sec, 0.39 Mbits/sec 3- 4 sec, 0.26 Mbits/sec 4- 5 sec, 0.26 Mbits/sec 5- 6 sec, 0.26 Mbits/sec 6- 7 sec, 0.26 Mbits/sec 7- 8 sec, 0.26 Mbits/sec 8- 9 sec, 0.26 Mbits/sec 9- 10 sec, 0.26 Mbits/sec 0- 10 sec, 0.28 Mbits/sec Now on the host you should see something like: $ iperf -s -p 5471 -i 1 -w 416K ------------------------------------------------------------ Server listening on TCP port 5471 TCP window size: 416 KByte ------------------------------------------------------------ [ 5] local 192.168.1.181 port 5471 connected with 192.168.1.198 port 4210 [ 5] 0.0- 1.0 sec 60.8 KBytes 498 Kbits/sec [ 5] 1.0- 2.0 sec 34.9 KBytes 286 Kbits/sec [ 5] 2.0- 3.0 sec 33.7 KBytes 276 Kbits/sec [ 5] 3.0- 4.0 sec 33.4 KBytes 274 Kbits/sec [ 5] 4.0- 5.0 sec 32.0 KBytes 262 Kbits/sec [ 5] 5.0- 6.0 sec 32.0 KBytes 262 Kbits/sec [ 5] 6.0- 7.0 sec 33.4 KBytes 274 Kbits/sec [ 5] 7.0- 8.0 sec 32.0 KBytes 262 Kbits/sec [ 5] 8.0- 9.0 sec 32.0 KBytes 262 Kbits/sec [ 5] 9.0-10.0 sec 33.4 KBytes 274 Kbits/sec [ 5] 0.0-10.3 sec 368 KBytes 292 Kbits/sec This will tell you the link speed in Kbits/sec – kilobits per second. If you want kilobytes, divide by 8.