We've talked in this blog space and elsewhere about testing WiFi performance for the Ultra96-V2Ultra96-V2 board on a LAN using iperf3. It is a very handy and useful test, but it only tests local (WLAN) throughput. What about if you are developing an IoT product and your Ultra96-V2 needs to communicate with other devices or cloud services over the internet? How do you test WiFi performance over the internet to the Ultra96-V2 board if you need to rely on command line access (no mouse, keyboard, or monitor connected)? Sure, iperf3 can also be used to test WiFi performance over the internet via the command line, but public iperf3 servers are often geographically very far away and also not very reliable.
Ookla, the company behind the popular Speedtest website (https://www.speedtest.net/), has free software applications to test the internet connection of anything from PCs to embedded Linux devices. We can use this software application to examine the speed of the internet connection to the Ultra96-V2 board:
https://www.speedtest.net/apps/cli
Open a serial console or ssh connection command window to your Ultra96-V2 board. Make a new folder to download the Speedtest application in:
# mkdir -p ~/speedtest
# cd ~/speedtest
Open a web browser on the same PC as the Ultra96-V2 command window and navigate to the Speedtest application webpage. Select "Download for Linux" to reveal the Linux application options for all the supported CPU architectures. The Ultra96-V2 has a Xilinx Zynq UltraScale+ MPSoC device with a 64-bit quad core Arm A53 APU, so download the application for the Arm aarch64 architecture. Reveal the URL for the file download by hovering over the "aarch64" hyperlink and copy it to the clipboard. Use the Linux curl command and paste the download link into the Linux command line in the Ultra96-V2 command window to download the file as follows (the exact file path and name may be different):
# curl -JLO https://bintray.com/ookla/download/download_file?file_path=ookla-speedtest-1.0.0-aarch64-linux.tgz
Extract the downloaded tarball (the exact file name may be different):
# tar xzvf ookla-speedtest-1.0.0-aarch64-linux.tgz
Run the Speedtest application:
$ ./speedtest
Accept the EULA and examine the results (my internet connection is capped at ~10Mbps upload, otherwise these results might have shown even higher Mbps throughput):
The application also has several command line options one can use to specify what server to connect to for the test, what device interface to bind to, and many others:
This Speedtest application can also be downloaded and run on the Xilinx Zynq-based Avnet MiniZed (SBC), MicroZed (SOM), or PicoZed (SOM) using the Speedtest application for arm CPUs. The UltraZed SOMs will use the same aarch64 application as the Ultra96-V2.
What results will you achieve when you run Speedtest on your SOM or SBC? Are they similar results to running an iperf3 test on your WLAN? Leave your results in the comments below.
--Tom
Top Comments