How to run IPERF on DD-WRT?

5,386

Solution 1

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).

Solution 2

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.

Share:
5,386

Related videos on Youtube

Samir
Author by

Samir

Tell me and I forget. Teach me and I remember. Engage me and I learn.

Updated on September 18, 2022

Comments

  • Samir
    Samir over 1 year

    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?

  • Samir
    Samir over 10 years
    Where do I find the binary you speak of? Can you give me a direct link to it?
  • MariusMatutiae
    MariusMatutiae over 10 years
    @Sammy You are right, it is not where I thought it was. I have amended my answer
  • Samir
    Samir over 10 years
    OK. Can you please tell me if this code will run on my router? Is it compatible? The router is based on Atheros AR7161. Isn't this build only for x86 based devices? The Atheros is a MIPS processor... as far as I know.
  • MariusMatutiae
    MariusMatutiae over 10 years
    It is claimed to be a completely self-contained code, i.e., without invocation of system libraries. That's all I can tell you, I have no way to test it on your architecture. On the other hand, there's now harm in trying.
  • Samir
    Samir over 10 years
    Those are source files (e.g. iperf-3.0.tar.gz). I need to compile that, and unless the DD-WRT has a native compiler (which I yet have to find), I will have to cross compile that with x86 as host and MIPS as target. I will need a cross compiling environment set up on my desktop. This seems like a very complicated and time consuming task. For now, I will probably put this on the shelf among other unfinished projects. Thanks for trying though!