Skip to content

Instantly share code, notes, and snippets.

@ilyaigpetrov
Last active October 25, 2021 09:58
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save ilyaigpetrov/c431a2e91c735b0396d73505b9e46085 to your computer and use it in GitHub Desktop.
Raspberry PI Zero Wi-Fi Test | https://git.io/rpi0-wifi | by https://git.io/ilyaigpetrov

Raspberry PI Zero Wi-Fi Test

This test is a part of RPI0 review: https://git.io/ilyaigpetrov-rpi0.

Results

From To Average Speed Protocol/tool
RPI0 Internet 0.95 Mbit/s http/speedtest
Notebook Internet 35.18 Mbit/s http/speedtest
RPI0 Notebook 4.03 Mbit/s tcp/iperf
Notebook Notebook 8.02 Mbit/s tcp/iperf
Notebook RPI0 1.6 Mbit/s (0.20 M¹/s) ssh/scp
Notebook Notebook 10.08 Mbit/s (1.26 M¹/s) ssh/scp

¹ In ls parlance M is MiB (2^20 bytes) and MB is 10^6 bytes, see man ls, you may just take M as you take MB in other places (2^20 bytes).

Table Of Contents

Raspberry PI Zero Wi-Fi Test

Raspbian Buster Setup

raspberrypi is Raspberry PI Zero WH with Raspbian Buster, no porgrams launched except a ssh server (one session) and one virtual terminal.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
$ uname -a
Linux raspberrypi 4.19.50+ #896 Thu Jun 20 16:09:52 BST 2019 armv6l GNU/Linux
$ /opt/vc/bin/vcgencmd version
Jun 20 2019 16:12:41 
Copyright (c) 2012 Broadcom
version a59fb7a74180be0111dbc5c18a37ec6df86f14a3 (clean) (release) (start)

Wi-Fi Test 24.06.2019

Internet

DOM.RU

pi@raspberrypi:~ $ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by DOM.RU (Yekaterinburg) [2.71 km]: 13.543 ms
Testing download speed...
Download: 0.90 Mbit/s
Testing upload speed...
Upload: 2.22 Mbit/s

pi@raspberrypi:~ $ speedtest-cli --server 5844
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by DOM.RU (Yekaterinburg) [2.71 km]: 18.057 ms
Testing download speed...
Download: 1.19 Mbit/s
Testing upload speed...
Upload: 1.97 Mbit/s

ilyaigpetrov@notebook:~$ speedtest-cli --server 5844
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by DOM.RU (Yekaterinburg) [2.71 km]: 8.091 ms
Testing download speed...
Download: 43.45 Mbit/s
Testing upload speed...
Upload: 44.77 Mbit/s

ilyaigpetrov@notebook:~$ speedtest-cli --server 5844
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by DOM.RU (Yekaterinburg) [2.71 km]: 6.821 ms
Testing download speed...
Download: 41.95 Mbit/s
Testing upload speed...
Upload: 44.14 Mbit/s

ProfiStream.Com

pi@raspberrypi:~ $ speedtest-cli
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by ProfiStream.Com (Ekaterinburg) [1.50 km]: 14.604 ms
Testing download speed...
Download: 0.80 Mbit/s
Testing upload speed...
Upload: 1.72 Mbit/s

pi@raspberrypi:~ $ speedtest-cli --server 23694
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by ProfiStream.Com (Ekaterinburg) [1.50 km]: 14.3 ms
Testing download speed...
Download: 0.76 Mbit/s
Testing upload speed...
Upload: 2.25 Mbit/s

ilyaigpetrov@notebook:~$ speedtest-cli --server 23694
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by ProfiStream.Com (Ekaterinburg) [1.50 km]: 9.006 ms
Testing download speed...
Download: 40.72 Mbit/s
Testing upload speed...
Upload: 35.02 Mbit/s

ilyaigpetrov@notebook:~$ speedtest-cli --server 23694
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by ProfiStream.Com (Ekaterinburg) [1.50 km]: 21.872 ms
Testing download speed...
Download: 33.12 Mbit/s
Testing upload speed...
Upload: 28.59 Mbit/s

Rostelecom

pi@raspberrypi:~ $ speedtest-cli --server 2602
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by Rostelecom (Ekaterinburg) [2.71 km]: 17.529 ms
Testing download speed...
Download: 0.62 Mbit/s
Testing upload speed...
Upload: 3.83 Mbit/s

pi@raspberrypi:~ $ speedtest-cli --server 2602
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by Rostelecom (Ekaterinburg) [2.71 km]: 14.01 ms
Testing download speed...
Download: 1.41 Mbit/s
Testing upload speed...
Upload: 5.88 Mbit/s

ilyaigpetrov@notebook:~$ speedtest-cli --server 2602
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by Rostelecom (Ekaterinburg) [2.71 km]: 7.19 ms
Testing download speed...
Download: 31.66 Mbit/s
Testing upload speed...
Upload: 19.68 Mbit/s

ilyaigpetrov@notebook:~$ speedtest-cli --server 2602
Retrieving speedtest.net configuration...
Testing from Rostelecom (178.46.98.22)...
Retrieving speedtest.net server list...
Retrieving information for the selected server...
Hosted by Rostelecom (Ekaterinburg) [2.71 km]: 10.856 ms
Testing download speed...
Download: 20.19 Mbit/s
Testing upload speed...
Upload: 31.11 Mbit/s

Aptitude

28.06.2019

After a fresh new install:

pi@raspberrypi:~ $ time sudo apt update
Hit:1 http://archive.raspberrypi.org/debian buster InRelease
Get:2 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Get:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
Ign:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages                                                                                    
Get:4 http://raspbian.raspberrypi.org/raspbian buster/contrib armhf Packages [58.7 kB]                                                                       
Get:3 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [18.3 MB]                                                                          
Fetched 16.3 MB in 9min 29s (28.7 kB/s)                                                                                                                      
Reading package lists... Done
Building dependency tree       
Reading state information... Done
27 packages can be upgraded. Run 'apt list --upgradable' to see them.

real    10m3.151s
user    0m43.720s
sys     0m10.739s

So, 28.7 kB/s.

Totals

0.95 = (0.9 + 1.19 + 0.8 + 0.76 + 0.62 + 1.41)/6
35.18 = (43.45 + 41.95 + 40.72 + 33.12 + 31.66 + 20.19)/6

Local Device To Device

iperf

RPI0 To Notebook

Launch 1

ilyaigpetrov@notebook:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 58792
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-11.1 sec  5.00 MBytes  3.79 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 58794
[  4]  0.0-10.7 sec  6.12 MBytes  4.80 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 58796
[  4]  0.0-16.7 sec  4.38 MBytes  2.20 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 58792 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  5.00 MBytes  4.19 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 58794 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.2 sec  6.12 MBytes  5.02 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 58796 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-12.9 sec  4.38 MBytes  2.84 Mbits/sec

Launch 2

ilyaigpetrov@notebook:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 59054
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-11.3 sec  4.50 MBytes  3.35 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 59056
[  4]  0.0-10.9 sec  5.12 MBytes  3.96 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 59058
[  4]  0.0-11.1 sec  5.00 MBytes  3.76 Mbits/sec
[  5] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 59060
[  5]  0.0-11.1 sec  4.62 MBytes  3.49 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.157 port 59062
[  4]  0.0-10.7 sec  5.12 MBytes  4.02 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 59054 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.3 sec  4.50 MBytes  3.68 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 59056 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  5.12 MBytes  4.27 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 59058 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  5.00 MBytes  4.18 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 59060 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.3 sec  4.62 MBytes  3.78 Mbits/sec

pi@raspberrypi:~ $ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.157 port 59062 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  5.12 MBytes  4.25 Mbits/sec

Totals

4.03 = (4.19 + 5.02 + 2.84 + 3.68 + 4.27 + 4.18 + 3.78 + 4.25)/8

Notebook To Notebook
ilyaigpetrov@notebook:~$ iperf -s
------------------------------------------------------------
Server listening on TCP port 5001
TCP window size:  128 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.173 port 46714
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0-10.2 sec  8.75 MBytes  7.22 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.173 port 46716
[  4]  0.0-10.2 sec  10.6 MBytes  8.76 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.173 port 46718
[  4]  0.0-10.1 sec  10.4 MBytes  8.60 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.173 port 46720
[  4]  0.0-10.1 sec  9.50 MBytes  7.85 Mbits/sec
[  4] local 192.168.1.90 port 5001 connected with 192.168.1.173 port 46722
[  4]  0.0-10.1 sec  8.75 MBytes  7.29 Mbits/sec

ilyaigpetrov@notebook2:~$ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.173 port 46714 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  8.75 MBytes  7.34 Mbits/sec

ilyaigpetrov@notebook2:~$ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.173 port 46716 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  10.6 MBytes  8.82 Mbits/sec

ilyaigpetrov@notebook2:~$ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.173 port 46718 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.1 sec  10.4 MBytes  8.64 Mbits/sec

ilyaigpetrov@notebook2:~$ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.173 port 46720 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  9.50 MBytes  7.95 Mbits/sec

ilyaigpetrov@notebook2:~$ iperf -c 192.168.1.90
------------------------------------------------------------
Client connecting to 192.168.1.90, TCP port 5001
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[  3] local 192.168.1.173 port 46722 connected with 192.168.1.90 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  8.75 MBytes  7.33 Mbits/sec

Totals

8.02 = (7.34 + 8.82 + 8.64 + 7.95 + 7.33)/5

SCP

ilyaigpetrov@notebook:~/Downloads$ ls -lah ponies/
total 452M
drwxrwxr-x  2 ilyaigpetrov ilyaigpetrov 4,0K июн 24 11:00 .
drwxr-xr-x 10 ilyaigpetrov ilyaigpetrov 4,0K июн 23 16:05 ..
-rw-rw-r--  1 ilyaigpetrov ilyaigpetrov 268M июн 14 20:15 washing-a-pony.mp4
-rw-rw-r--  1 ilyaigpetrov ilyaigpetrov 184M июн  8 15:42 riding-a-pony.mp4

# notebook1 to rpi0

ilyaigpetrov@notebook:~$ time sshpass -p 'super-secret' scp -r /home/ilyaigpetrov/Downloads/ponies scp://pi@192.168.1.157/

real    37m12,846s
user    0m5,577s
sys     0m3,414s

$ node -e "console.log(452/(37*60 + 13))"
0.20241827138378862

# notebook2 to notebook1

ilyaigpetrov@notebook2:~$ time sshpass -p 'super-secret' scp -r /home/ilyaigpetrov/ponies ilyaigpetrov@192.168.1.90:~/foobar

real  5m59,437s
user  0m9,669s
sys 0m4,503s

ilyaigpetrov@notebook1:~$ node -e "console.log(452/(5*60 + 59))"
1.2590529247910864
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment