How to run IPERF on DD-WRT?

Posted on

Problem :

I have IPERF for Windows installed on a desktop computer. Now I want to connect this computer to the router and conduct a simple throughput performance test. For that I will need IPERF running on the router. The router has the Linux based DD-WRT firmware. My question is, how can I run the Linux version of IPERF on the router? And will this version of IPERF work with the Windows version on the computer?

Solution :

Yes, IPERF does exist for DD-WRT routers. I have never used it myself, but I can point you to this Web page of the official DD-WRT online manual, which discusses it along with a number of equivalent tools. However, the link it provides to download IPerf is no longer operational (just try it!), so I am giving you an alternative link where you are told where to get it: from Pyramid Linux, a distro (Google it) that you can download from here. You can simply copy the binary to your DD-WRT router, like carla Schroeder suggests in the second reference, and you should be all set.

Should this fail for any reason (you my have a DD-WRT build different from mine), go back to reference 1, where you will find other alternatives discussed.

The code for IPERF has moved, it can be found here, while the older version is here.

My question is, how can I run the Linux version of IPERF on the
router?

As far as I’m aware of there are no DD-WRT builds that ship with Iperf. Depending on memory capacity of each router model, DD-WRT builds have historically been shipped with varying number of features. These builds were usually referred to as micro, mini, generic, big, mega, etc. For more information on this (outdated) versioning practice and (outdated) feature charts, you can see the links below.

What’s the difference between generic, mini, micro DD-WRT versions?

DD-WRT Version Features

Since version 2.4 SP1 was released in 2008, DD-WRT has been on an eternal version 3.0 beta release cycle with a new versioning schema that no longer indicates how feature rich (e.g. mega) or how feature poor (e.g. micro) each build is. (I see the string “std” (standard?) in my current DD-WRT build number, so I may be wrong on this.)

Instead of compiling Iperf on your own, you can get a pre-built binary from either Optware or Entware. They are both examples of software repositories for Linux based embedded devices, mainly wireless routers. At the time of writing though, Optware has been discontinued and no longer maintained, it has largely been replaced by Entware.

So in order to run Iperf on a DD-WRT router, the first order of business is to install Entware on it. The way you do that is by enabling the USB function on your router, connecting and mounting a USB storage device (flash drive or a hard drive) and then installing Entware onto that. So you will need a router with a USB port. For instructions on installing Entware, see the link below.

Installing Entware

Once you have Entware installed and set up correctly, you can open a secure shell to your router and execute the following command.

opkg install iperf

Once installed, you will be able to run Iperf on you router. In the screenshot below you can see me run Iperf 2.0.13 in server mode on DD-WRT (std).

iperf on dd-wrt

And will this version of IPERF work with the Windows version on the
computer?

There are three major versions of Iperf. There is the original Iperf, there is “Iperf2” and then there is “Iperf3”. I’m not sure about first and second version, but the second and third version are to my understanding developed independently by a different group of people, using a different code base. There are feature comparison charts on the official website (one of many over the years), and from the looks of it, Iperf3 brings some new features to the table that are not present in Iperf2, but it is lacking some features that are present in Iperf2.

Note: It’s worth noting that if your router has limited internal memory that forces you to use an external USB storage device to extend its functionality, then Iperf may not give you relible test results (network throughput performance is no better than that of your USB storage device).

Leave a Reply

Your email address will not be published.