To mitigate risks of malicious access to the Raspberry Pi, it is strongly recommended to:
- Unplug the Raspberry Pi as soon as you are finished with the demo
- Disable the demo before using the Raspberry Pi for development (see following steps)
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:
- hostname: silabs-pi-demo
- user: pi
- password: default_password
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:
- to change rules, edit
- to disable firewall, run
sudo mv /etc/iptables/rules.v4 /etc/iptables/rules.v4.disabled
Note: keep in mind that when running Wi-Fi network connections without security, anybody may access your network.
Use the WF(M)200 as a Station: wfx_sta
To start an interface as a station, we provide
This tool helps with wpa_supplicant and IP setup, and can be used for tests, to get help, run
Use the WF(M)200 as an Access Point: wfx_ap
To start an interface as an access point, we provide
This tool helps with hostapd and IP setup, and can be used for tests, to get help, run
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_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:
- a server: running
- a client: running
iperf3 --client <server address>
By default, the traffic is TCP going from client to server during 10 seconds, but there are many options.
Some tools are included on the SD card to manage components versions.
To get the current versions of components, use
To update a component, use the corresponding tool:
After updating components, restart interface with
For those tools, documentation is available by running
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
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.
|SD Card full download||SD Card update command||kernel||Raspbian||wfx-linux-driver||wfx-firmware||wfx-linux-tools||RPi 2B||RPi 3B||RPi 3B+||RPi 4B|
|3.2||bash <(curl -s https://raw.githubusercontent.com/SiliconLabs/wfx-linux-tools/3.2/update/update.sh)||4.19.57-v7l+||10 (buster)||2.3.5-public||FW3.3.2||3.2||yes||yes||yes||yes|
|2.1 (deprecated)||N/A||4.4.50-v7+||8 (jessie)||2.0-public||FW2.0.0||2.1||yes||yes||no||no|
Note: The download password for all images is: