Further Steps

Security Notice

To mitigate risks of malicious access to the Raspberry Pi, it is strongly recommended to:

Access the Raspberry Pi

For further steps, it is needed to access the Raspberry Pi via SSH.

Connect the Raspberry Pi with an Ethernet cable to the same network as your development machine (this network must provide DHCP and DNS). With a SSH client like PuTTY or MobaXterm, use the following settings:

All the following commands are to be sent via your SSH client.

Disable the Demo

To stop the demo and prevent it from starting automatically after boot, run the following command:

sudo systemctl disable --now wfx-demo-combo.service

This command only needs to be executed once and should be used for security issues as well as to stop unwanted processes from using the Wi-Fi interfaces.

Please note that the demo is not intended for development use, it is strongly advised to setup your own Wi-Fi network, some helper tools are documented in the following chapters.

Configure the Firewall

The SD card comes with firewalling rules to protect the Raspberry Pi from network attacks. For development, it can be useful to change or disable those rules:

Use the WF(M)200 as a Station: wfx_sta

To start an interface as a station, we provide wfx_sta. This tool helps with wpa_supplicant and IP setup, and can be used for tests, to get help, run wfx_sta --help.

Use the WF(M)200 as an Access Point: wfx_ap

To start an interface as an access point, we provide wfx_ap. This tool helps with hostapd and IP setup, and can be used for tests, to get help, run wfx_ap --help.

Use the WF(M)200 with Two Interfaces at the Same Time: Combo Mode

To get two interfaces at the same time, run:

sudo iw dev wlan0 interface add wlan1 type managed
# ! only if starting STA on wlan0 the softAp on wlan1
sudo ip link set dev wlan0 down

Important Note: the second line (sudo ip link set dev wlan0 down) is only needed when starting the STA on wlan1 before starting the softAp on wlan0, to avoid this error:

 'Failed to connect to non-global ctrl_ifname: wlan1 error: No such file or directory'

This happens because we're starting the STA on wlan1 first.

It looks like a bug in the network layers, since 'sudo ip link show' indicates that wlan0 is already DOWN.

Example scripts for all 4 cases are available in GitHub.

Then, you can use the tools wfx_sta and wfx_ap as usual to configure these interfaces.

Note: it is not possible to have two interfaces running in the same mode (AP/AP or STA/STA)

Test Throughput with iPerf3

To measure actual Wi-Fi throughput, some traffic needs to be generated between the Raspberry Pi and your development machine, this can be done with iPerf3.

To run an iPerf3 test, you need:

By default, the traffic is TCP going from client to server during 10 seconds, but there are many options.

Components Update

Some tools are included on the SD card to manage components versions.

To get the current versions of components, use wfx_show.

To update a component, use the corresponding tool:

After updating components, restart interface with wfx_driver_reload.

For those tools, documentation is available by running <tool> --help

SD Card Update

Two methods are available to update your SD card, read the following chapters to choose the best one for you.

Download and Burn an Image

This method allows you to get a SD card as it is delivered.

Download an image from the following table column "SD Card full download" and burn it on a SD card using Etcher. The detailed procedure is available in Raspberry Pi official documentation, section “Writing an image to the SD card”.

Update an Existing SD Card

This method is faster, but there are more limits to versions you can update.

To check your current SD card version, run cat /etc/wfx_version. Updates are only available for the same major number (e.g. you can update to 3.2 from 3.1 but not from 2.2). From a running SD card, use the command line given in the following table column "SD Card update command", then reboot your Raspberry Pi.

Versions

SD Card full downloadSD Card update commandkernelRaspbianwfx-linux-driverwfx-firmwarewfx-linux-toolsRPi 2BRPi 3BRPi 3B+RPi 4B
3.2bash <(curl -s https://raw.githubusercontent.com/SiliconLabs/wfx-linux-tools/3.2/update/update.sh)4.19.57-v7l+10 (buster)2.3.5-publicFW3.3.23.2yesyesyesyes
3.1N/A4.19.57-v7l+10 (buster)2.2.5-publicFW3.1.13.1yesyesyesyes
2.2N/A4.4.50-v7+8 (jessie)2.1.2-publicFW2.2.22.2yesyesnono
2.1 (deprecated)N/A4.4.50-v7+8 (jessie)2.0-publicFW2.0.02.1yesyesnono

Note: The download password for all images is: D3fault_password