iperf is a networking tool that helps to measure networking bandwidth and performance. The console demo application has a built-in iperf application, that can act as both a client and server for testing. iperf has the ability to test both UDP and TCP. In the case of UDP, you can specify the size of the UDP datagrams. For TCP, iperf measures the throughput of the payload.
In order to run iperf, you'll need a PC that has an iperf application on it as well. There is an open source version that is maintained, as well as many other variants across the internet. iperf is meant to be run at the command line. However, if a GUI is desired, a variant called jperf can be used.
In the case of the demo application, iperf measures performance data in a unidirectional format. Therefore, the side that the server is running on is considered the receiver, and provides the most accurate performance values.
iperf |
[ -s|-c <IP addr> ] [ -u ] [ -i <sec> ] [ -b <bandwidth> ] [ -t <time> ] |
-s |
Runs the iperf server. No IP address needs to be specified. |
-c <IP addr> |
Runs the iperf client. The IP address is the IP address of the server. |
-u |
Server side only. Sends UDP datagrams. |
-i <sec> |
Specified the time interval, in seconds, that the display will be updated. |
-b <bandwidth> |
Specifies the amount of data to try and send. This option is only valid with UDP datagrams. |
-t <time> |
Amount of time, in seconds, to run the test. |
After powering on the development board and associating with your wireless network, you'll need to start the server side iperf application first. if you start iperf as a server on the development board in the console, then this implies that you are trying to measure the MRF24WB0M / MRF24WG0M receiver performance. If you start the iperf server on a PC, then you will be measuring MRF24WB0M / MRF24WG0M transmit performance. Below are two images that show receiver and transmitter performance, respectively.