• Sign in to Neowin Faster!

    Create an account on Neowin to contribute and support the site.

  • 0
Sign in to follow this  

Iperf 3.7 Windows build

Question

+BudMan    3,517

So there has been an on going thread about powerline adapters, well the OP finally got some - and I was curious about speed he is seeing, etc.  So told him would post up links to some tools.

 

This lead me to compiling the latest version of iperf3 I could find for windows ;) Since I couldn't find one.  So figured post it up if anyone is interested.

 

Got the source from here https://github.com/esnet/iperf

Found a blog post how to compile on windows here http://www.embeddedsystemtesting.com/2014/08/how-to-compile-iperf3-for-windows.html

 

So few minutes later I end up with a copy of the current iperf3 that works on windows.  Needs a few cygwin dlls, included in the zip.  But other than that unzip and go.

 

It has lots of new options compared to the older versions

 

Been a fan of iperf for years, so will prob keep this current when new versions come out since doesn't seem like anyone else is posting up the windows builds, etc.

You can grab all my compiled versions here https://files.budman.pw/

Any questions on its use, just ask -- post up some tests as well!!

 

edit: updated this on 02/25/17 new build 3.1.6

http://software.es.net/iperf/news.html#iperf-3-1-6-released

This version of iperf3 contains two minor fixes. Notably, one of them unbreaks JSON output with UDP tests.

 

edit2:  5/23/17 Thanks to @Datalink for letting me know site was down.  Back up now, if your having issues flush your dns had to move it to different host.  Added site to my monitoring so next time it goes down will know right away ;)

BTW 3.1.7 just typo's so no reason to compile it

2017-03-06: iperf-3.1.7 released

This version of iperf3 contains two documentation fixes, but is otherwise identical to the prior release.

 

edit3: 7/6/17 Updated to new 3.2 build

http://files.budman.pw/iperf3.2_32bit.zip

CRC32: 9e4b913c
MD5: ff7fc42f6ba29e9f83c8bb8e0066f722
SHA-1: 68ad3a0f0c2f30c1756f0a5eb39e1062e6beb6f4

http://files.budman.pw/iperf3.2_64bit.zip

CRC32: add96290
MD5: 7a014ff67b1d678f546ead2360820d47
SHA-1: 98ed98ac6d392a4484e5151ab2f714390c99b52e

 

edi4: 11/18/17 Updated to new 3.3 build

https://files.budman.pw/iperf3.3_64.zip

MD5: 49095ccb2442101d2a1ffc6213f3d1b9
SHA-256: 1fea7ae97b8ec5ab1c61ef1afcf7afd491d37ef41061a845f9bb8477425c66db

 

https://files.budman.pw/iperf3.3_32.zip

MD5: b6ad4c094a18196e0798e1a2825bc609
SHA-256: 919978ac0b574d7662d5b0e58174a6107002db96e7592929a9a28938516a2c5f

 

edit5: 02/16/2018 Updated to new 3.4 build see post in thread

https://files.budman.pw/iperf3.4_32.zip

MD5: 3b805d0895e7bb4d005429ed5859dd00
SHA-256: 82a933bbf96731a615ee5ae40bc1e6986ffcdd0b83c7c4e9cd024a996b3c0808
https://files.budman.pw/iperf3.4_64.zip

MD5: e4c0d2d8bda22ebbb710a9a65aacddf9
SHA-256: 7a3f83d211d22102d05dcf0eb24f4ff8cd3d9083aada9a27c88ba7ced0a0eccc

 

edit6: 03/05/2018 Updated to 3.5 build, see post in thread

https://files.budman.pw/iperf3.5_64.zip

CRC32: 18962237
MD5: 840a2d5e0f81d8a6dc0d8be854caf61a
SHA-1: 1a18185c79645b082392dcd024b7e53900dc38bd
SHA-256: 94a0ec4e486904a6a8ebe390eca37871f47a097599908c3647d6ad1d0bbdff59
 

https://files.budman.pw/iperf3.5_32.zip

CRC32: 21d8a0eb
MD5: dd79fe69c86e62c780e45e6e0d2ec66d
SHA-1: 2c63c1f9ef35be23170869a6a7eb048241aa2f14
SHA-256: bf4b95a58e54ceda101e33b0b908c581df1ce4a217f233e1092dc3278572de43

 

edit7:

https://files.budman.pw/iperf3.6_64bit.zip

CRC32: A9B23E64
MD5: 3530BD3C837EA146C8F98106FA94E395
SHA-1: 7E09239B207739714294A4EA1DA9C69623374740
SHA-256: DE958C4CF72DBC64DCBB42130BD466D9FD367E4519C5C3F78A6675CA87E12B7D

 

edit8: Updated 7/6/2019 New 3.7 build, see post in thread

https://files.budman.pw/iperf3.7_64.zip

CRC32: 13EB9AD9
MD5: 96C2C058B0128BEC346BD0D034D7B31E
SHA-1: 83978F54B7EDDA073CC4E865493AA6544862879A
SHA-256: 93FB4641810C06DE554E97FD4E6B44CEFBD8ECB8EA8CFEA3CC550B823C3E89CE

 

  • Like 12

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0
+BudMan    3,517

So I prettied up the dir listing, got rid of some old versions.  And enabled https for those that think everything should be https ;)

 

https://files.budman.pw

 

If anyone wants/needs version prior to 3.1.1 just let me know and can put it up.

  • Like 1

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Added 3.3

 

Budman@I5-WIN D:\Iperf\iperf3.3_32
> iperf3.exe -v
iperf 3.3 (cJSON 1.5.2)
CYGWIN_NT-6.3-WOW i5-win 2.9.0(0.318/5/3) 2017-09-12 10:41 i686
Optional features available: authentication

 

Budman@I5-WIN D:\Iperf\iperf3.3_64
> iperf3.exe -v
iperf 3.3 (cJSON 1.5.2)
CYGWIN_NT-6.3 i5-win 2.9.0(0.318/5/3) 2017-09-12 10:18 x86_64
Optional features available: authentication

 

File: iperf3.3_64.zip
MD5: 49095ccb2442101d2a1ffc6213f3d1b9
SHA-256: 1fea7ae97b8ec5ab1c61ef1afcf7afd491d37ef41061a845f9bb8477425c66db

 

File: iperf3.3_32.zip
MD5: b6ad4c094a18196e0798e1a2825bc609
SHA-256: 919978ac0b574d7662d5b0e58174a6107002db96e7592929a9a28938516a2c5f

 

https://files.budman.pw/

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

New 3.4 is out

 

Budman@I5-WIN D:\iperf3.4_64

> iperf3.exe -v
iperf 3.4 (cJSON 1.5.2)
CYGWIN_NT-6.3 i5-win 2.10.0(0.325/5/3) 2018-02-02 15:16 x86_64
Optional features available: CPU affinity setting, authenticatio

 

Budman@I5-WIN D:\iperf3.4_32
> iperf3.exe -v
iperf 3.4 (cJSON 1.5.2)
CYGWIN_NT-6.3-WOW i5-win 2.10.0(0.325/5/3) 2018-02-02 15:21 i686
Optional features available: authentication

 

https://files.budman.pw/iperf3.4_32.zip

MD5: 3b805d0895e7bb4d005429ed5859dd00
SHA-256: 82a933bbf96731a615ee5ae40bc1e6986ffcdd0b83c7c4e9cd024a996b3c0808
https://files.budman.pw/iperf3.4_64.zip

MD5: e4c0d2d8bda22ebbb710a9a65aacddf9
SHA-256: 7a3f83d211d22102d05dcf0eb24f4ff8cd3d9083aada9a27c88ba7ced0a0eccc

 

https://github.com/esnet/iperf/blob/master/RELEASE_NOTES

release notes

== iperf 3.4 2018-02-14 ==

* Notable user-visible changes

  * The -A (set processor affinity) command-line flag is now supported
    on Windows (#665).

  * iperf3 now builds on systems lacking a daemon(3) library call
    (#369).

  * A bug in time skew checking under authentication was fixed (#674).

  * IPv6 flow labels now work correctly with multiple parallel streams
    (#694).

  * The client no longer closes its control connection before sending
    end-of-test statistics to the server (#677). This fixes a
    regression introduced in iperf-3.2.

  * Sending output to stdout now makes errors go to stderr, as per
    UNIX convention (#695).

  * A server side crash in verbose output with a client running
    multiple parallel connections has been fixed (#686).

  * The --cport option can now be specified without the --bind option.
    Using the --cport option on Linux can eliminate a problem with
    ephemeral port number allocation that can make multi-stream iperf3
    tests perform very poorly on LAGG links.  Also, the --cport option
    now works on SCTP tests (#697).

* Notable developer-visible changes

  * iperf3 now builds on (some) macOS systems older than 10.7 (#607).

  * Some unused code and header inclusions were eliminated (#667,
    #668).  Also some code was cleaned up to eliminate (or at least
    reduce) compiler warnings (#664, #671).

  • Like 1

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

3.5 is out

 

== iperf 3.5 2018-03-02 ==

* Notable user-visible changes

  * iperf3 no longer counts data received after the end of a test in
    the bytecounts.  This fixes a bug that could, under some
    conditions, artificially inflate the transfer size and measured
    bitrate.  This bug was most noticeable on reverse direction
    transfers on short tests over high-latency or buffer-bloated
    paths.  Many thanks to @FuzzyStatic for providing access to a test
environment for diagnosing this issue (#692).

 

Budman@I5-WIN D:\iperf3.5_32
> iperf3.exe -v
iperf 3.5 (cJSON 1.5.2)
CYGWIN_NT-6.3-WOW i5-win 2.10.0(0.325/5/3) 2018-02-02 15:21 i686
Optional features available: authentication

 

Budman@I5-WIN D:\iperf3.5_64
> iperf3.exe -v
iperf 3.5 (cJSON 1.5.2)
CYGWIN_NT-6.3 i5-win 2.10.0(0.325/5/3) 2018-02-02 15:16 x86_64
Optional features available: CPU affinity setting, authentication

 

https://files.budman.pw/iperf3.5_64.zip

CRC32: 18962237
MD5: 840a2d5e0f81d8a6dc0d8be854caf61a
SHA-1: 1a18185c79645b082392dcd024b7e53900dc38bd
SHA-256: 94a0ec4e486904a6a8ebe390eca37871f47a097599908c3647d6ad1d0bbdff59
 

https://files.budman.pw/iperf3.5_32.zip

CRC32: 21d8a0eb
MD5: dd79fe69c86e62c780e45e6e0d2ec66d
SHA-1: 2c63c1f9ef35be23170869a6a7eb048241aa2f14
SHA-256: bf4b95a58e54ceda101e33b0b908c581df1ce4a217f233e1092dc3278572de43
 

Share this post


Link to post
Share on other sites
  • 0
Sann-X!    0

Hi, iperf3.5_32 doesn't works on Windows XP. Screenshot How to fix it?

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Yeah like anyone would care?  Its XP... Been dead OS for years and years...

https://www.microsoft.com/en-us/windowsforbusiness/end-of-xp-support

 

So April of 2014 - your talking 4 years ago.. What next you will want it to run in Dos 6.2? ;)

 

Sorry but I am not going to troubleshoot it.. These versions work on my 64 bit system, why I still do the 32 bit I don't really know - but it also runs on my 64 bit system..

 

Hint move to a current 64 bit windows ;)

Share this post


Link to post
Share on other sites
  • 0
NoNeed4Mercy    0

anyone encouters this new problem in newer versions!

 

I was running the latest windows version before from the official site (very old from 2016). It was working flawlessly except for udp mode. So i wanted to update and build the code by myself. It seemed to work for the first time, but the server immediatly crashes after the first connect, making a second connect impossible. 

 

I thought i made a bad build and downloaded several versions from here.. All are crashing after the first connect (which is successfull).

 

Oh and one thing i forgot. This only happens in "silent mode" server. If i start the server by myself via cmd, it will stay open. If i start the server from windows server (with no gui) the server crashes after one connect. 

 

Any hint/tip would be great! 

Edited by NoNeed4Mercy
missing information

Share this post


Link to post
Share on other sites
  • 0
NoNeed4Mercy    0
50 minutes ago, NoNeed4Mercy said:

anyone encouters this new problem in newer versions!

 

I was running the latest windows version before from the official site (very old from 2016). It was working flawlessly except for udp mode. So i wanted to update and build the code by myself. It seemed to work for the first time, but the server immediatly crashes after the first connect, making a second connect impossible. 

 

I thought i made a bad build and downloaded several versions from here.. All are crashing after the first connect (which is successfull).

 

Oh and one thing i forgot. This only happens in "silent mode" server. If i start the server by myself via cmd, it will stay open. If i start the server from windows server (with no gui) the server crashes after one connect. 

 

Any hint/tip would be great! 

Delete my post! -D is working in newer versions for windows service! 

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Yeah I grabbed it the other day just haven't gotten around to compile yet.  Prob today

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Well might take me a bit to get this compiled running into an error

 

budman@i5-win /iperf-3.6
$ make
Making all in src
make[1]: Entering directory '/iperf-3.6/src'
make  all-am
make[2]: Entering directory '/iperf-3.6/src'
/bin/sh ../libtool  --tag=CC   --mode=compile gcc -DHAVE_CONFIG_H -I.     -g -O2 -Wall -MT iperf_api.lo -MD -MP -MF .deps/iperf_api.Tpo -c -o iperf_api.lo iperf_api.c
libtool: compile:  gcc -DHAVE_CONFIG_H -I. -g -O2 -Wall -MT iperf_api.lo -MD -MP -MF .deps/iperf_api.Tpo -c iperf_api.c  -DDLL_EXPORT -DPIC -o .libs/iperf_api.o
In file included from /usr/include/w32api/Windows.h:95:0,
                 from iperf_api.c:67:
/usr/include/openssl/ossl_typ.h:159:29: error: expected ‘)’ before numeric constant
 typedef struct X509_name_st X509_NAME;
                             ^
/usr/include/openssl/ossl_typ.h:207:33: error: expected ‘)’ before numeric constant
 typedef struct ocsp_response_st OCSP_RESPONSE;
                                 ^
make[2]: *** [Makefile:897: iperf_api.lo] Error 1
make[2]: Leaving directory '/iperf-3.6/src'
make[1]: *** [Makefile:665: all] Error 2
make[1]: Leaving directory '/iperf-3.6/src'
make: *** [Makefile:386: all-recursive] Error 1

budman@i5-win /iperf-3.6
$

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Ok I got it working.. Have not had chance to fully test all features but it compiled

 

In the header file ossl_typ.h I made the change

#ifndef HEADER_OPENSSL_TYPES_H
# define HEADER_OPENSSL_TYPES_H

#include <limits.h>

#ifdef  __cplusplus
extern "C" {
#endif

# include <openssl/e_os2.h>

# include <windows.h>

 

https://files.budman.pw/iperf3.6_64bit.zip

CRC32: A9B23E64
MD5: 3530BD3C837EA146C8F98106FA94E395
SHA-1: 7E09239B207739714294A4EA1DA9C69623374740
SHA-256: DE958C4CF72DBC64DCBB42130BD466D9FD367E4519C5C3F78A6675CA87E12B7D

 

budman@i5-win /usr/local/bin
$ cygcheck iperf3.exe
Found: C:\cygwin64\usr\local\bin\iperf3.exe
C:\cygwin64\usr\local\bin\iperf3.exe
  C:\cygwin64\bin\cygwin1.dll
    C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\KERNELBASE.dll

 

C:\test\iperf3.6_64bit>iperf3.exe -v
iperf 3.6 (cJSON 1.5.2)
CYGWIN_NT-10.0 i5-win 2.10.0(0.325/5/3) 2018-02-02 15:16 x86_64
Optional features available: CPU affinity setting

 

  • Like 1

Share this post


Link to post
Share on other sites
  • 0
rambo007    0

Awesome! Thanx! It's working flawlessly for me so far ?

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Great I will get around to the 32bit version maybe this weekend.. Not sure why anyone would still be using 32bit anyway..

  • Haha 1

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Thanks... Prob do it this weekend...

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Ok got 3.7 compiled - had to do the same edit to ossl_typ.h as above

 

budman@i5-win /usr/local/bin
$ cygcheck iperf3.exe
Found: C:\cygwin64\usr\local\bin\iperf3.exe
C:\cygwin64\usr\local\bin\iperf3.exe
  C:\cygwin64\bin\cygwin1.dll
    C:\WINDOWS\system32\KERNEL32.dll
      C:\WINDOWS\system32\ntdll.dll
      C:\WINDOWS\system32\KERNELBASE.dll

budman@i5-win /usr/local/bin
budman@I5-WIN E:\output\iperf3.7_64
$ iperf3.exe -v
iperf 3.7 (cJSON 1.5.2)
CYGWIN_NT-10.0-18362 i5-win 3.0.7-338.x86_64 2019-04-30 18:08 UTC x86_64
Optional features available: CPU affinity setting

The --bidir option is working

budman@I5-WIN E:\output\iperf3.7_64
$ iperf3.exe -c 192.168.9.9 --bidir
warning: Ignoring nonsense TCP MSS -2146716416
Connecting to host 192.168.9.9, port 5201
[  5] local 192.168.9.100 port 53200 connected to 192.168.9.9 port 5201
[  7] local 192.168.9.100 port 53201 connected to 192.168.9.9 port 5201
[ ID][Role] Interval           Transfer     Bitrate
[  5][TX-C]   0.00-1.00   sec  56.6 MBytes   475 Mbits/sec
[  7][RX-C]   0.00-1.00   sec  99.3 MBytes   832 Mbits/sec
[  5][TX-C]   1.00-2.00   sec  42.0 MBytes   352 Mbits/sec
[  7][RX-C]   1.00-2.00   sec   112 MBytes   943 Mbits/sec
[  5][TX-C]   2.00-3.00   sec  52.2 MBytes   438 Mbits/sec
[  7][RX-C]   2.00-3.00   sec   112 MBytes   942 Mbits/sec
[  5][TX-C]   3.00-4.00   sec  56.2 MBytes   472 Mbits/sec
[  7][RX-C]   3.00-4.00   sec   112 MBytes   943 Mbits/sec
[  5][TX-C]   4.00-5.00   sec  58.8 MBytes   493 Mbits/sec
[  7][RX-C]   4.00-5.00   sec   112 MBytes   942 Mbits/sec
[  5][TX-C]   5.00-6.00   sec  24.2 MBytes   203 Mbits/sec
[  7][RX-C]   5.00-6.00   sec   112 MBytes   943 Mbits/sec
[  5][TX-C]   6.00-7.00   sec  53.0 MBytes   445 Mbits/sec
[  7][RX-C]   6.00-7.00   sec   112 MBytes   939 Mbits/sec
[  5][TX-C]   7.00-8.00   sec  69.0 MBytes   579 Mbits/sec
[  7][RX-C]   7.00-8.00   sec   112 MBytes   942 Mbits/sec
[  5][TX-C]   8.00-9.00   sec  26.1 MBytes   219 Mbits/sec
[  7][RX-C]   8.00-9.00   sec   112 MBytes   943 Mbits/sec
[  5][TX-C]   9.00-10.00  sec  62.2 MBytes   522 Mbits/sec
[  7][RX-C]   9.00-10.00  sec   112 MBytes   939 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate
[  5][TX-C]   0.00-10.00  sec   500 MBytes   420 Mbits/sec                  sender
[  5][TX-C]   0.00-10.00  sec   500 MBytes   420 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec                  sender
[  7][RX-C]   0.00-10.00  sec  1.08 GBytes   931 Mbits/sec                  receiver

iperf Done.

budman@I5-WIN E:\output\iperf3.7_64

 

https://files.budman.pw/iperf3.7_64.zip

 

CRC32: 13EB9AD9
MD5: 96C2C058B0128BEC346BD0D034D7B31E
SHA-1: 83978F54B7EDDA073CC4E865493AA6544862879A
SHA-256: 93FB4641810C06DE554E97FD4E6B44CEFBD8ECB8EA8CFEA3CC550B823C3E89CE

 

 

  • Like 2

Share this post


Link to post
Share on other sites
  • 0
aflurko    0

Thank You!

Share this post


Link to post
Share on other sites
  • 0
boxsmiley    0

thanks budman.  you are awesome.  created account just to say thanks for providing the fix for ossl_typ.h.  

Share this post


Link to post
Share on other sites
  • 0
+BudMan    3,517

Thanks - stick around its good place!  So you were trying to compile it yourself and ran into that issue? And found this thread? Trying to recall where I found the fix myself, I am not any sort of guru at compiling stuff... But I get the basics and can follow instructions ;)

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.