diff --git a/docs/silabs/DOC_STANDARD.md b/docs/silabs/DOC_STANDARD.md new file mode 100644 index 00000000000000..d335df427dccc3 --- /dev/null +++ b/docs/silabs/DOC_STANDARD.md @@ -0,0 +1,55 @@ +# Silicon Labs Documentation Standards Using Markdown + +## Titles +# This Is a Title +Notice how the main words are capitalized + +## Subsections Look Like This +This is a `##` subsection under a `#` title header. Notice how the words are also capitalized. + +## Lists + +- This is a bulleted list +- Second item in a bulleted list + +1. This is a numbered list +2. Second item in a numbered list + +## Commands + +```shell +$ this is a highlighted command +``` + +```shell +$ if there is a second line it has it's own entry +``` + +```shell +$ notice how commands all start with the dollar sign, $, this is to indicate that they are to be used on a command line +``` + + +## Code +```cpp +This is a code block() { + Not to be confused with a highlighted command as above ^^^ + This should only be used for preformatted code, not for commands. +} +``` + +## Notes +> **Note:** This is a note that we want to draw attention to, it is similar to a highlighted command except that it does not generally use `preformatted text`. + + +## Tables +| col 1 | col 2 | col 3 | +| ----- | ----- | ----- | +| don't do | large tables | they don't | +| format well | or look good | and are | +| difficult | to | maintain | + +If you need to do a large table, find some other way to represent the information in .md. You could use HTML but this is also frowned upon for the reason listed below... + +## HTML +Try to avoid
Using HTML
Since it doesn't
get picked up
by .md translators diff --git a/docs/silabs/README.md b/docs/silabs/README.md index 865002ee9ddd23..b596ce70fe2443 100644 --- a/docs/silabs/README.md +++ b/docs/silabs/README.md @@ -13,7 +13,7 @@ 2. [Loading the Raspberry Pi image onto the Matter Hub](thread/RASPI_IMG.md) 3. [Setting up the RCP](thread/RCP.md) 4. [Creating a Thread Matter End Device](thread/BUILD_FLASH_MAD.md) - 5. [Using the Chip-Tool](thread/CHIP_TOOL.md)

+ 5. [Using the chip-tool](thread/CHIP_TOOL.md)

4. Matter over Wi-Fi diff --git a/docs/silabs/dev/vscode/SETUP.md b/docs/silabs/dev/vscode/SETUP.md index 69a91905c98131..02f4c9e2cb3a59 100644 --- a/docs/silabs/dev/vscode/SETUP.md +++ b/docs/silabs/dev/vscode/SETUP.md @@ -29,24 +29,30 @@ On macOS, you must install Xcode from the Mac App Store. The remaining dependencies can be installed and satisfied using [Brew](https://brew.sh/): -> `$ brew install openssl pkg-config` +```shell +$ brew install openssl pkg-config +``` However, that does not expose the package to `pkg-config`. To fix that, run something like the following: Intel: -> `$ cd /usr/local/lib/pkgconfig ln -s ../../Cellar/openssl@1.1/1.1.1g/lib/pkgconfig/* .` +```shell +$ cd /usr/local/lib/pkgconfig ln -s ../../Cellar/openssl@1.1/1.1.1g/lib/pkgconfig/* . +``` where `openssl@1.1/1.1.1g` may need to be replaced with the actual version of OpenSSL installed by Brew. Apple Silicon: -> `$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"/opt/homebrew/opt/openssl@3/lib/pkgconfig"` +```shell +$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:"/opt/homebrew/opt/openssl@3/lib/pkgconfig" +``` -Note: If using MacPorts, `port install openssl` is sufficient to satisfy this -dependency. + +> **Note:** If using MacPorts, `port install openssl` is sufficient to satisfy this dependency. ### Mac OS (Apple Silicon) Users @@ -56,21 +62,29 @@ those mentioned above.
1. Add ARM GCC toolchain to the search path within `bootstrap.sh` by adding this line of code: - > `$ export PATH="/Applications/ARM/bin:$PATH"` + ```shell + $ export PATH="/Applications/ARM/bin:$PATH" + ``` 2. Users may also have to specify which `pkg-config`/`openssl` to use by adding these lines of code as well: - > `$ export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"` + ```shell + $ export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH" + ``` - > `$ export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"` + ```shell + $ export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig" + ``` ### Installing prerequisites on Linux On Debian-based Linux distributions such as Ubuntu, these dependencies can be satisfied with the following: -> ` $ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev` +```shell +$ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev +``` ## Bootstrapping your source tree (one time) diff --git a/docs/silabs/general/ARTIFACTS.md b/docs/silabs/general/ARTIFACTS.md index 9d8f8b8eec7594..598217ccf7b05d 100644 --- a/docs/silabs/general/ARTIFACTS.md +++ b/docs/silabs/general/ARTIFACTS.md @@ -9,7 +9,7 @@ used to set up the Matter Demo for the Thread and Wi-Fi use cases. The Matter Hub image is intended to be flashed onto an SD card for a Raspberry Pi. The Matter Hub Image provides both an Open Thread Border Router and the -Matter chiptool. Note the image is ~10GB in size so depending on your internet +Matter chip-tool. Note the image is ~10GB in size so depending on your internet connection this download may take some time. Start the Matter Hub Raspberry Pi image download here: @@ -24,7 +24,7 @@ used with a Raspberry Pi to allow the Raspberry Pi's Open Thread Border Router to access the Thread network. Radio Co-Processor (RCP) images are available in the Assets section of this page: -https://github.com/SiliconLabs/matter/releases/tag/v0.3.0 +https://github.com/SiliconLabs/matter/releases/tag/v0.4.0
@@ -34,7 +34,13 @@ The Matter Accessory Device Images are used to turn an EFR into a Matter device. These are pre-built binary images for the Matter Demo. Matter Accessory Device Images are located in the Assets section of this page: -https://github.com/SiliconLabs/matter/releases/tag/v0.3.0 +https://github.com/SiliconLabs/matter/releases/tag/v0.4.0 + +For Matter over Thread, 3 different types of images are provided: + +1. **Standard**: Includes all code including enabling the LCD for a QR Code that can be used for commissioning. +2. **Release**: A smaller image size with reduced functionality, including removal of the LCD support, thus no QR Code. +3. **Sleepy**: A sleepy device image for improved energy efficiency and running on battery power.
@@ -45,7 +51,7 @@ EFR32MG2x device, you will need to flash a bootloader binary on your device alon with the application image. Bootloader binaries for all of the Matter supported devices are available here: -https://github.com/SiliconLabs/matter/releases/tag/v0.3.0 +https://github.com/SiliconLabs/matter/releases/tag/v0.4.0
@@ -57,6 +63,14 @@ directory, `./third_party/silabs/wiseconnect-wifi-bt-sdk/firmware`
+## SiWx917 Firmware + +The SiWx917 firmware is used to update the SiWx917 - it can be found in the +repository you have cloned, at the following relative path from the `/matter` +directory, `./third_party/silabs/wiseconnect-wifi-bt-sdk/firmware` + +
+ --- [Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | diff --git a/docs/silabs/general/COMMIT_HASHES.md b/docs/silabs/general/COMMIT_HASHES.md index 057a4c4e254b1a..7a18c1ab879e29 100644 --- a/docs/silabs/general/COMMIT_HASHES.md +++ b/docs/silabs/general/COMMIT_HASHES.md @@ -15,7 +15,7 @@ in this release of the Silicon Labs Matter Out of Box Experience | --------------------------------------- | ------ | ---------------------------------------- | | https://github.com/SiliconLabs/ot-efr32 | main | 7a567da02a078546eb34136c1c44170c8832dd55 | -## Matter ChipTool +## Matter chip-tool | Repo | Branch | Commit Hash | | ----------------------------------------------- | ------ | ---------------------------------------- | diff --git a/docs/silabs/general/CUSTOM_MATTER_DEVICE.md b/docs/silabs/general/CUSTOM_MATTER_DEVICE.md index c1cabfdd238cc5..c32f4d12dd503b 100644 --- a/docs/silabs/general/CUSTOM_MATTER_DEVICE.md +++ b/docs/silabs/general/CUSTOM_MATTER_DEVICE.md @@ -22,13 +22,15 @@ command or it can be set to "0" by sending an "Off" command. The C++ implementation of these clusters is located in the clusters directory. Note that you can also create your own custom cluster. -## ZAP configuration +## ZAP Configuration From the matter repository, run the following command in a terminal to launch the ZAP user interface (UI). This will open up the ZAP configuration for the EFR32 lighting application example. -> `$ ./scripts/tools/zap/run_zaptool.sh examples/lighting-app/lighting-common/lighting-app.zap` +```shell +$ ./scripts/tools/zap/run_zaptool.sh examples/lighting-app/lighting-common/lighting-app.zap +``` On the left side of the application, there is a tab for Endpoint 0 and Endpoint 1. Endpoint 0 is known as the root node. This endpoint is akin to a @@ -59,9 +61,11 @@ Each time a modification is made to the ZAP UI, save (Electron→Save on a Mac toolbar) the current ZAP configuration and run the following command to generate ZAP code. -> `$ ./scripts/tools/zap/generate.py examples/lighting-app/lighting-common/lighting-app.zap -o zzz_generated/lighting-app/zap-generated/` +```shell +$ ./scripts/tools/zap/generate.py examples/lighting-app/lighting-common/lighting-app.zap -o zzz_generated/lighting-app/zap-generated/ +``` -## Receiving Matter commands +## Receiving Matter Commands All Matter commands reach the application through the intermediate function MatterPostAttributeChangeCallback(). When a request is made by a Matter client, @@ -70,7 +74,7 @@ through this function. The command can then be dissected using conditional logic to call the proper application functions based on the most recent command received. -## Adding a cluster to a ZAP configuration +## Adding a Cluster to a ZAP Configuration In the ZAP UI, navigate to the Level Control cluster. Make sure this cluster is enabled as a server in the drop-down menu in the "Enable" column. Then click on @@ -78,23 +82,24 @@ the blue settings wheel in the "Configure" column. This cluster can be used to gather power source configuration settings from a Matter device. It contains a few required attributes, and a number of optional attributes. -## Adding a new attribute +## Adding a New Attribute In the Level Control cluster configurations, ensure the CurrentLevel attribute is set to enabled. Set the default value of this attribute as 1. -## Adding a new command +## Adding a New Command Navigate to the commands tab in zap and enable the MoveToLevel command. Now save the current zap configuration, and run the generate.py script above. -## React to Level Control cluster commands in ZclCallbacks +## React to Level Control Cluster Commands in ZclCallbacks In the MatterPostAttributeCallback function in ZclCallbacks, add the following line of code or a similar line. This will give the application the ability to react to MoveToLevel commands. You can define platform-specific behavior for a MoveToLevel action. + ```cpp else if (clusterId == LevelControl::Id) { ChipLogProgress(Zcl, "Level Control attribute ID: " ChipLogFormatMEI " Type: %u Value: %u, length %u", @@ -107,19 +112,25 @@ MoveToLevel action. LightMgr().InitiateActionLight(AppEvent::kEventType_Light, action_type, endpoint, *value); } - -## Send a MoveToLevel command and read the CurrentLevel attribute + ``` +## Send a MoveToLevel Command and Read the CurrentLevel Attribute Rebuild the application and load the new executable on your EFR32 device. Send the following mattertool commands and verify that the current-level default attribute was updated as was configured. Replace {desired_level} with 10, and node_ID with the node ID assigned to the device upon commissioning. -> `$ mattertool levelcontrol read current-level 1 1 // Returns 1` +```shell +$ mattertool levelcontrol read current-level 1 1 // Returns 1 +``` -> `$ mattertool levelcontrol move-to-level {desired_level} 0 1 1 {node_ID} 1` +```shell +$ mattertool levelcontrol move-to-level {desired_level} 0 1 1 {node_ID} 1 +``` -> `$ mattertool levelcontrol read current-level 1 1 // Returns 10` +```shell +$ mattertool levelcontrol read current-level 1 1 // Returns 10 +``` For more information on running a Silicon Labs lighting example on a Thunderboard Sense 2 see [sl-newlight/efr32](../../../silabs_examples/sl-newLight/efr32/README.md). diff --git a/docs/silabs/general/HARDWARE_REQUIREMENTS.md b/docs/silabs/general/HARDWARE_REQUIREMENTS.md index 356864186750e0..23d01de199243b 100644 --- a/docs/silabs/general/HARDWARE_REQUIREMENTS.md +++ b/docs/silabs/general/HARDWARE_REQUIREMENTS.md @@ -5,10 +5,12 @@ order to run demos and do development. Following are the hardware requirements for both Thread and Wi-Fi use cases broken down by platform and transport protocol. +The following sections describe the hardware that may be used for Matter+OpenThread (Matter Hub and Accessory Device) and for Matter+Wi-Fi (Accessory Device). The EFRMG24 is the preferred starting point for Matter MCUs (including the Matter Hub RCP and both Accessory Devices). It provides Secure Vault and can use the internal flash of the device to store an upgrade image. + ## Matter Over Thread "Matter Hub" Requirements If you are running Matter over Thread and do not have a platform on which to run -the Open Thread Border Router and chiptool, Silicon Labs recommends that you run +the Open Thread Border Router and chip-tool, Silicon Labs recommends that you run them on a Raspberry Pi. To do so you will need: - **Raspberry Pi** @@ -16,7 +18,7 @@ them on a Raspberry Pi. To do so you will need: - Raspberry Pi 4 with an SD card with storage >= 64 GB > The Raspberry Pi 4 is used to run the Open Thread Border Router and - > the chiptool. In this documentation the combination of this software + > the chip-tool. In this documentation the combination of this software > on the Raspberry Pi is also called the 'Matter Hub' A software image > for the Raspberry Pi is provided on the > [Matter Artifacts page](./ARTIFACTS.md). @@ -33,6 +35,14 @@ them on a Raspberry Pi. To do so you will need: Simplicity Studio. Pre-built OpenThread RCP firmware images are provided for the following boards on the [Matter Artifacts page](./ARTIFACTS.md): + > **Note:** The EFR32MG24 is the preferred starting point for Matter MCUs. It provides Secure Vault and can use the internal flash of the device to store an upgrade image. + + - **MG24 boards:** + - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm + - [XG24-RB4186C](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board) + - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm + - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) +

- **MG12 boards:** - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm @@ -45,12 +55,6 @@ them on a Raspberry Pi. To do so you will need: - [SLWRB4164A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4164a-efr32mg12-radio-board)

- - **MG24 boards:** - - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm - - [XG24-RB4186C](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board) - - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm - - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) - ## Matter Over Thread Accessory Device Requirements The Matter Accessory Device (MAD) is the actual device that the Matter @@ -60,6 +64,21 @@ Pre-built binary images for the Matter accessory devices are provided on the [Matter Artifacts page](./ARTIFACTS.md). Silicon Labs supports development of Matter Accessory Devices for Matter over Thread on the following platforms: +> **Note:** The EFR32MG24 is the preferred starting point for Matter MCUs. It provides Secure Vault and can use the internal flash of the device to store an upgrade image. + + +- **MG24 boards:** + - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm + - [XG24-RB4186C](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board) + - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm + - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) + - BRD2703A / MG24 Explorer Kit + > Note: This board has yet to be released to the public, but it is + > supported in the Silicon Labs build flow. + - BRD2601B / MG24 Explorer Kit + - [XG24-DK2601B](https://www.silabs.com/development-tools/wireless/efr32xg24-dev-kit?tab=overview) +

+ - **MG12 boards:** - [EFR32MG12 Development Kit](https://www.silabs.com/development-tools/wireless/zigbee/efr32mg12-dual-band-starter-kit) @@ -78,25 +97,28 @@ Matter Accessory Devices for Matter over Thread on the following platforms: - [SLWRB4170A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4170a-efr32mg12-radio-board)

-- **MG24 boards:** - - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm - - [XG24-RB4186C](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board) - - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm - - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) - - BRD2703A / MG24 Explorer Kit - > Note: This board has yet to be released to the public, but it is - > supported in the Silicon Labs build flow. - - BRD2601B / MG24 Explorer Kit - - [XG24-DK2601B](https://www.silabs.com/development-tools/wireless/efr32xg24-dev-kit?tab=overview) ## Matter over Wi-Fi Accessory Device Requirements The Silicon Labs Matter over Wi-Fi demo and development requires two boards: the -Silicon Labs EFR32 Radio board to run the Matter code and either the RS9116 or +Silicon Labs EFR32 Radio board to run the Matter code and the RS9116 +or the SiWx917 or the WF200 to run the Wi-Fi protocol stack. Pre-built images for both the EFR32 and the RS9116 are provided on the [Matter Artifacts page](./ARTIFACTS.md). The following boards are supported for the Matter over Wi-Fi demos and development: +> **Note:** The EFR32MG24 is the preferred starting point for Matter MCUs. It provides Secure Vault and can use the internal flash of the device to store an upgrade image. + + +- **MG24 boards:** + + - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm + - [XG24-RB4186C](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board) + - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm - + [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) +

+ + - **MG12 boards:** - [EFR32MG12 Development Kit](https://www.silabs.com/development-tools/wireless/zigbee/efr32mg12-dual-band-starter-kit) @@ -110,18 +132,13 @@ following boards are supported for the Matter over Wi-Fi demos and development: - [SLWRB4164A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4164a-efr32mg12-radio-board)

-- **MG24 boards:** - - - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm - - [XG24-RB4186C](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board) - - BRD4187C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@20dBm - - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) -

- **Wi-Fi Dev Kit** - RS9116 - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) + - SiWx917 + - [SiWx917](https://www.silabs.com/wireless/wi-fi/siwx917-wireless-socs) - WF200 - [WF200](https://www.silabs.com/wireless/wi-fi/wf200-series-2-transceiver-ics) - Interconnect board (included in the Wi-Fi kits) @@ -134,5 +151,5 @@ In addition to your Matter over Wi-Fi Accessory Device you will need the following for both running the demo and for development: - Access point with Internet access -- microSD card (32GB) (if using Raspberry Pi) -- **[Optional]** Android Mobile phone (If using the chiptool on Android) +- microSD card (>=32GB) (if using Raspberry Pi) +- **[Optional]** Android Mobile phone (If using the chip-tool on Android) diff --git a/docs/silabs/general/OTA_BOOTLOADER.md b/docs/silabs/general/OTA_BOOTLOADER.md index a65fb5a2ef75a0..8395a0c54a0932 100644 --- a/docs/silabs/general/OTA_BOOTLOADER.md +++ b/docs/silabs/general/OTA_BOOTLOADER.md @@ -72,7 +72,9 @@ Higher_) before clicking the build icon: Right-click the project name in the Project Explorer view and select Properties. In the C/C++ Build group, click Settings. On the Build Steps tab, in the Post Build Steps Command field enter -> `$ ../postbuild.sh "${ProjDirPath}" "${StudioSdkPath}" "${CommanderAdapterPackPath}"` +```shell +$ ../postbuild.sh "${ProjDirPath}" "${StudioSdkPath}" "${CommanderAdapterPackPath}" +``` Click Apply and Close. Three bootloader images will be generated into the build directory: a main bootloader, a main bootloader with CRC32 checksum, and a @@ -143,13 +145,19 @@ on BRD4186C. - Build the application disabling all optional features - > `$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out lighting-app BRD4186A chip_detail_logging=false chip_automation_logging=false chip_progress_logging=false is_debug=false show_qr_code=false chip_build_libshell=false enable_openthread_cli=false chip_openthread_ftd=true` + ```shell + $ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out lighting-app BRD4186A chip_detail_logging=false chip_automation_logging=false chip_progress_logging=false is_debug=false show_qr_code=false chip_build_libshell=false enable_openthread_cli=false chip_openthread_ftd=true + ``` - Build the GBL file for the update image and note its size - > `$ commander gbl create --compress lzma ~/chip/connectedhomeip/out/lighting-app/BRD4186A/chip-efr32-lighting-example.gbl --app ~/chip/connectedhomeip/out/lighting-app/BRD4186A/chip-efr32-lighting-example.s37` + ```shell + $ commander gbl create --compress lzma ~/chip/connectedhomeip/out/lighting-app/BRD4186A/chip-efr32-lighting-example.gbl --app ~/chip/connectedhomeip/out/lighting-app/BRD4186A/chip-efr32-lighting-example.s37 + ``` - > `$ ls -la out/lighting-app/BRD4186A/chip-efr32-lighting-example.gbl 451176 Jul 19 16:39 out/lighting-app/BRD4186A/chip-efr32-lighting-example.gbl` + ```shell + $ ls -la out/lighting-app/BRD4186A/chip-efr32-lighting-example.gbl 451176 Jul 19 16:39 out/lighting-app/BRD4186A/chip-efr32-lighting-example.gbl + ``` - Flash the application image, bootloader (pre-built BRD4186C bootloader binary from the [Matter Artifacts page](./ARTIFACTS.md). Erase the flash. diff --git a/docs/silabs/general/OTA_SOFTWARE_UPDATE.md b/docs/silabs/general/OTA_SOFTWARE_UPDATE.md index 90cfaaa16301f7..147f8f28c455af 100644 --- a/docs/silabs/general/OTA_SOFTWARE_UPDATE.md +++ b/docs/silabs/general/OTA_SOFTWARE_UPDATE.md @@ -13,9 +13,13 @@ controlled by the `chip_enable_ota_requestor` compile flag. - On a Linux or Darwin platform build the chip-tool and the ota-provider-app as follows: - > `$ scripts/examples/gn_build_example.sh examples/chip-tool out/` + ```shell + $ scripts/examples/gn_build_example.sh examples/chip-tool out/ + ``` - > `$ scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false` + ```shell + $ scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false + ``` - Build or download the Gecko Bootloader binary. Follow the instructions in [Creating the Bootloader for Use in Matter OTA](OTA_BOOTLOADER.md). For the @@ -31,34 +35,48 @@ controlled by the `chip_enable_ota_requestor` compile flag. - Create a bootable image file (using the Lighting application image as an example): - > `$ commander gbl create chip-efr32-lighting-example.gbl --app chip-efr32-lighting-example.s37` + ```shell + $ commander gbl create chip-efr32-lighting-example.gbl --app chip-efr32-lighting-example.s37 + ``` - Create the Matter OTA file from the bootable image file: - > `$ ./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn 2 -vs "2.0" -da sha256 chip-efr32-lighting-example.gbl chip-efr32-lighting-example.ota` + ```shell + $ ./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn 2 -vs "2.0" -da sha256 chip-efr32-lighting-example.gbl chip-efr32-lighting-example.ota + ``` - In a terminal start the Provider app and pass to it the path to the Matter OTA file created in the previous step: - > `$ rm -r /tmp/chip_* ./out/debug/chip-ota-provider-app -f chip-efr32-lighting-example.ota` + ```shell + $ rm -r /tmp/chip_* ./out/debug/chip-ota-provider-app -f chip-efr32-lighting-example.ota + ``` - In a separate terminal run the chip-tool commands to provision the Provider: - > `$ ./out/chip-tool pairing onnetwork 1 20202021` + ```shell + $ ./out/chip-tool pairing onnetwork 1 20202021 + ``` - > `$ ./out/chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets": null}]' 1 0` + ```shell + $ ./out/chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets": null}]' 1 0 + ``` - If the application device had been previously commissioned, hold Button 0 for six seconds to factory-reset the device. - In the chip-tool terminal enter: - > `$ ./out/chip-tool pairing ble-thread 2 hex: 20202021 3840` + ```shell + $ ./out/chip-tool pairing ble-thread 2 hex: 20202021 3840 + ``` where operationalDataset is obtained from the OpenThread Border Router. - Once the commissioning process completes enter: - > ` $ ./out/chip-tool otasoftwareupdaterequestor announce-ota-provider 1 0 0 0 2 0` + ```shell + $ ./out/chip-tool otasoftwareupdaterequestor announce-ota-provider 1 0 0 0 2 0 + ``` - The application device will connect to the Provider and start the image download. Once the image is downloaded the device will reboot into the @@ -126,12 +144,16 @@ Product ID that identify the image served by the Provider, see Example provider configuration file: +```cpp { "foo": 1, // ignored by parser "deviceSoftwareVersionModel": [ - { "vendorId": 65521, "productId": 32773, "softwareVersion": 1, "softwareVersionString": "1.0.0", "cDVersionNumber": 18, "softwareVersionValid": true, "minApplicableSoftwareVersion": 0, "maxApplicableSoftwareVersion": 100, "otaURL": "chip-efr32-lighting-example.ota" } + { + "vendorId": 65521, "productId": 32773, "softwareVersion": 1, "softwareVersionString": "1.0.0", "cDVersionNumber": 18, "softwareVersionValid": true, "minApplicableSoftwareVersion": 0, "maxApplicableSoftwareVersion": 100, "otaURL": "chip-efr32-lighting-example.ota" + } ] } +``` ## Additional Info diff --git a/docs/silabs/general/SOFTWARE_REQUIREMENTS.md b/docs/silabs/general/SOFTWARE_REQUIREMENTS.md index b926611f692f96..f1b74935ef760a 100644 --- a/docs/silabs/general/SOFTWARE_REQUIREMENTS.md +++ b/docs/silabs/general/SOFTWARE_REQUIREMENTS.md @@ -1,33 +1,43 @@ # Matter Software Requirements -This section first covers system-agnostic software requirements and then requirements by system (Windows, Mac, and Linux). Finally, if you are working with Matter over Wi-Fi, you need to [update the firmware](#wi-fi-rs9116-specific-requirements) - -## **System-Agnostic Software Requirements (Windows/Mac/Linux):** +## **System Agnostic Software Requirements (Windows/Mac/Linux):** 1. SSH Client ([PuTTY](https://www.putty.org/), Terminal, or similar): - > The SSH client is used to communicate with the Raspberry Pi over a secure - > shell. + + SSH client is used to communicate with the Raspberry Pi over a secure + shell. + 2. [Raspberry Pi Disk Imager](https://www.raspberrypi.com/software/) - > Raspberry Pi Disk Imager is used to flash the SD Card that contains the - > operating system for the Raspberry Pi. Note that, for the Thread demo, the - > operating system is the demo image. + + Raspberry Pi Disk Imager is used to flash the SD Card that contains the + operating system for the Raspberry Pi. Note that, for the Thread demo, the + operating system is the demo image. + 3. [Flash tool](../general/FLASH_SILABS_DEVICE.md) - > Simplicity Commander standalone or Simplicity Studio is used to flash - > Silicon Labs hardware with firmware images for the RCP and the Matter - > Accessory Device. + + Simplicity Commander standalone or Simplicity Studio is used to flash + Silicon Labs hardware with firmware images for the RCP and the Matter + Accessory Device. + 4. [Git Version Control ](https://git-scm.com/downloads)[only required for building images and development] - > Clone the Silicon Labs Matter repo, then enter and sync all the necessary - > submodules with the following commands:
+ Clone the Silicon Labs Matter repo, then enter and sync all the necessary + submodules with the following commands:
- > `$ git clone https://github.com/SiliconLabs/matter.git` + ```shell + $ git clone https://github.com/SiliconLabs/matter.git + ``` - > `$ cd matter` + ```shell + $ cd matter + ``` - > `$ ./scripts/checkout_submodules.py --shallow --recursive --platform efr32` + ```shell + $ ./scripts/checkout_submodules.py --shallow --recursive --platform efr32 + ``` -5. If you are using an EFR32MG2x device you will need a bootloader to run the +5. If you are using an EFR32MG2x device you will require a bootloader to run the demo applications. When you flash your application image be sure to include a bootloader as well (if one is not already present). Bootloader images are provided on the [Matter Artifacts page](../general/ARTIFACTS.md). @@ -36,7 +46,7 @@ This section first covers system-agnostic software requirements and then require ## **Windows-Specific Software Requirements:** -  These requirements are in addition to the system-agnostic requirements, for Windows +  These requirements are in addition to those mentioned above, for Windows only.
  A Unix-like command line: @@ -53,72 +63,107 @@ only.
## **Mac-Specific Requirements (building own images):** -  These requirements are in addition to the system-agnostic requirements for Mac OS +  These requirements are in addition to those mentioned above for Mac OS users building their own images.
1. Install Homebrew - > `$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` + ```shell + $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + ``` 2. Install pkg-config, openssl, git-lfs - > `$ brew install pkg-config openssl git-lfs` + ```shell + $ brew install pkg-config openssl git-lfs + ``` 3. Install ARM GNU Toolchain (https://developer.arm.com/downloads/-/gnu-rm) 4. Add ARM GCC toolchain to the search path within `bootstrap.sh` by adding this line of code: - > `$ export PATH="/Applications/ARM/bin:$PATH"` + ```shell + $ export PATH="/Applications/ARM/bin:$PATH" + ```
-Depending on your Mac processor, you will have to complete the following additional steps. + Depending on your Mac processor, you will have to complete the following additional steps. ### **Apple Silicon (M1) Software Requirements:** Users may also have to specify which `pkg-config`/`openssl` to use by adding these lines of code to `bootstrap.sh`: -> `$ export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH"` +```shell +$ export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH" +``` -> `$ export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig"` +```shell +$ export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig" +```
### **Intel Software Requirements:** -> `$ cd /usr/local/lib/pkgconfig` +```shell +$ cd /usr/local/lib/pkgconfig +``` -> `$ cd ln -s ../../Cellar/openssl@1.1/1.1.1g/lib/pkgconfig/* .` +```shell +$ cd ln -s ../../Cellar/openssl@1.1/1.1.1g/lib/pkgconfig/* . +``` `openssl@1.1/1.1.1g` may need to be replaced with the actual version of OpenSSL installed by Brew. -If using MacPorts, `port install openssl` is sufficient to satisfy this +If using MacPorts, the command + +```shell +$ port install openssl +``` + +is sufficient to satisfy this dependency.
-## **Linux-Specific Requirements:** +## **Linux Specific Requirements:** On Debian-based Linux distributions such as Ubuntu, these dependencies can be satisfied with the following: -> `$ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev` +```shell +$ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev +```
-## **Wi-Fi RS9116-Specific Requirements:** +## **Wi-Fi RS9116 Specific Requirements:** Before you run the demo or development on the RS9116 please be sure that you update the RS9116 firmware. Pre-Built Rs9116 firmware is available on the -[Matter Artifacts page](../general/ARTIFACTS.md). The following instructions are found on the docs.silabs.com website: +[Matter Artifacts page](../general/ARTIFACTS.md) 1. [Setting up TeraTerm](https://docs.silabs.com/rs9116/wiseconnect/2.0/tera-term-setup) 2. [Updating the RS9116 Firmware](https://docs.silabs.com/rs9116/wiseconnect/2.0/update-evk-firmware) +
+ +## **Wi-Fi SiWx917-Specific Requirements:** + +Before you run the demo or development on the SiWx917 please be sure that you +update the SiWx917 firmware. + +Pre-Built SiWx917 firmware is available on the +[Matter Artifacts page](../general/ARTIFACTS.md). The following instructions are found on the docs.silabs.com website: + +1. [Setting up TeraTerm](https://docs.silabs.com/SiWx917/wiseconnect/2.0/tera-term-setup) +2. [Updating the SiWx917 Firmware](https://docs.silabs.com/siwx917/wiseconnect/2.0/update-evk-firmware) + --- [Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | diff --git a/docs/silabs/general/WIRESHARK.md b/docs/silabs/general/WIRESHARK.md index 56e4d4cf86c887..0b8eb2906141b1 100644 --- a/docs/silabs/general/WIRESHARK.md +++ b/docs/silabs/general/WIRESHARK.md @@ -35,7 +35,9 @@ You integrate the Silabs-PTI.jar utility into Wirehshark by adding a small script into Wireshark's `excap` directory. Make sure that you make the script executable using something like -> `$ chmod 777 ` +```shell +$ chmod 777 +``` This will make it so that Wireshark can execute the script and integrate the WSTK interfaces into its capture functionality. @@ -52,4 +54,6 @@ Once your adapter is connected, you can test out the visibility of your WSTK on the network by running Silabs-PTI.jar from the command line using the following command: -> `$ java -jar silabs-pti-.jar -discover` +```shell +$ java -jar silabs-pti-.jar -discover +``` diff --git a/docs/silabs/thread/BUILD_FLASH_MAD.md b/docs/silabs/thread/BUILD_FLASH_MAD.md index ca5ac2e3eec886..2ae843b3af7a3c 100644 --- a/docs/silabs/thread/BUILD_FLASH_MAD.md +++ b/docs/silabs/thread/BUILD_FLASH_MAD.md @@ -2,7 +2,7 @@ The Matter Accessory Device, such as the lighting-app, is the actual Matter device that you will commission onto the Matter network and control using the -chiptool. +chip-tool. ## Step 1: Get the Image File to Flash the MAD @@ -45,7 +45,7 @@ use one of the following options: The build process puts all image files in the following location: - > \/matter/out/\/\ + `/matter/out//`
diff --git a/docs/silabs/thread/CHIP_TOOL.md b/docs/silabs/thread/CHIP_TOOL.md index b20c68d376d518..4019cb29bb7c39 100644 --- a/docs/silabs/thread/CHIP_TOOL.md +++ b/docs/silabs/thread/CHIP_TOOL.md @@ -1,23 +1,29 @@ -# Using the Chiptool +# Using the Mattertool (chip-tool) The following commands show how to start a new Thread network from the local OTBR, commission an EFR32 Matter End Device (Matter Accessory Device), and then -send the on/off commands with the `mattertool` automated script. +send the on/off commands with the `mattertool` automated script. The `mattertool` +script provides an interface into various chip-tool and otbr commands used to create +and interact with a Matter network + +## Basic Mattertool Commands | **Command** | **Usage** | | ------------------------ | ------------------------------------------------------------------------- | | `mattertool startThread` | Starts the thread network on the OTBR | -| `mattertool bleThread` | Starts commissioning of a Matter Accessory Device using the chiptool | -| `mattertool on` | Sends the _on_ command to the Matter Accessory Device using the chiptool | -| `mattertool off` | Sends the _off_ command to the Matter Accessory Device using the chiptool | +| `mattertool bleThread` | Starts commissioning of a Matter Accessory Device using the chip-tool | +| `mattertool on` | Sends the _on_ command to the Matter Accessory Device using the chip-tool | +| `mattertool off` | Sends the _off_ command to the Matter Accessory Device using the chip-tool | -You can also use the full chiptool command set (still using mattertool) +You can also use the full chip-tool command set (still using mattertool) -> `$ mattertool levelcontrol read current-level 106 1` +```shell +$ mattertool levelcontrol read current-level 106 1 +```

-## Advanced information on the Matter Hub +## Advanced Information on the Matter Hub ### Image tree @@ -45,7 +51,9 @@ The pre-installed OTBR is configured for the infrastructure interface eth0. Bash script to modify, reinstall or update the OTBR: -> `$ otbrsetup` +```shell +$ otbrsetup +``` This bash script centralizes and simplifies the local OTBR installation. @@ -72,33 +80,47 @@ install for eth0 interface: `$ otbrsetup -i` Change OTBR commit reference/version -> `$ cd /home/ubuntu/ot-br-posix`
- -> `$ git fetch`
+```shell +$ cd /home/ubuntu/ot-br-posix +``` -> `$ git checkout `
+```shell +$ git fetch +``` -> `$ otbrsetup -u` +```shell +$ git checkout +``` -
+```shell +$ otbrsetup -u +``` -## Upgrading the Matter - Chiptool +## Upgrading the Matter - Chip-tool For more information on the commit hashes used for this demo please consult the following page: [Matter Repositories and Commit Hashes](../general/COMMIT_HASHES.md) -To change the ChipTool commit reference/version, follow these steps: +To change the chip-tool commit reference/version, follow these steps: -> `$ cd /home/ubuntu/connectedhomeip`
+```shell +$ cd /home/ubuntu/connectedhomeip +``` -> `$ git fetch`
+```shell +$ git fetch +``` -> `$ git checkout `
+```shell +$ git checkout +``` -> `$ mattertool buildCT` +```shell +$ mattertool buildCT +``` -The mattertool script centralizes and simplifies the use of chiptool and +The mattertool script centralizes and simplifies the use of chip-tool and starting a clean thread network.
@@ -111,13 +133,13 @@ Available commands: | startThread | Start a new thread network and store the operational thread dataset for the commissioning purpose (bleThread) | | bleThread | For Matter Bluetooth LE thread commissioning with an EFR32 device | | bleWifi | For Matter Bluetooth LE Wi-FI commissioning with an EFR32 device | -| buildCT | Clean build of the chiptool | +| buildCT | Clean build of the chip-tool | | cleanVars | Erase every Set variable used in the script. They will be set back to default or randomized value | | off | Turn off the Light on the already-commissioned EFR32 device | | on | Turn on the Light on the already-commissioned EFR32 device | | toggle | Toggle the Light on the already-commissioned EFR32 device | | parsePayload | Parse the given Payload (QrCode string) | -| rebuildCT | Rebuild the chiptool | +| rebuildCT | Rebuild the chip-tool | | vars | Print the Variables in use by the script |
@@ -159,14 +181,14 @@ Active variables used by mattertool: You can preset them with export X=Y before running the script or use some available options to change some of them. -> In most cases, MATTER_ROOT, CHIPTOOL_PATH, PINCODE, and DISCRIMINATOR should -> remain at the default set value. +In most cases, MATTER_ROOT, CHIPTOOL_PATH, PINCODE, and DISCRIMINATOR should +remain at the default set value. -> For commissioning commands (bleThread, bleWifi) NODE_ID will be randomized if -> it is the same as the last pairing +For commissioning commands (bleThread, bleWifi) NODE_ID will be randomized if +it is the same as the last pairing -> When the startThread command is used, THREAD_DATA_SET will be assigned with -> the right operation dataset for the created Thread Network. +When the startThread command is used, THREAD_DATA_SET will be assigned with +the right operation dataset for the created Thread Network.
@@ -175,9 +197,13 @@ available options to change some of them. The commands presented above are linked to scripts. You can edit **_.bashrc_** and rename the following alias to your liking. -> `$ alias mattertool=‘source $HOME/scripts/matterTool.sh’`
+```shell +$ alias mattertool=‘source $HOME/scripts/matterTool.sh’ +``` -> `$ alias otbrsetup=‘source $HOME/scripts/setupOTBR.sh’` +```shell +$ alias otbrsetup=‘source $HOME/scripts/setupOTBR.sh' +``` --- diff --git a/docs/silabs/thread/DEMO_OVERVIEW.md b/docs/silabs/thread/DEMO_OVERVIEW.md index c1de7026acbbb5..b7395db3ab81c9 100644 --- a/docs/silabs/thread/DEMO_OVERVIEW.md +++ b/docs/silabs/thread/DEMO_OVERVIEW.md @@ -20,8 +20,8 @@ of the [Matter Hardware](../general/HARDWARE_REQUIREMENTS.md) and ## Step 1: Setting up the Matter Hub (Raspberry Pi) -The Matter Hub consists of the Open Thread Border Router (OTBR) and the chiptool running on a Raspberry Pi. -Silicon Labs has developed a Raspberry Pi image combining the OTBR and chiptool that can be downloaded and +The Matter Hub consists of the Open Thread Border Router (OTBR) and the chip-tool running on a Raspberry Pi. +Silicon Labs has developed a Raspberry Pi image combining the OTBR and chip-tool that can be downloaded and flashed onto an SD Card, which is then inserted into the Raspberry Pi. The Matter Controller sends IPv6 packets to the OTBR, which converts the IPv6 @@ -48,7 +48,7 @@ Information on flashing and optionally building the RCP is located here: ## Step 3: Build and Flash the MAD The Matter Accessory Device (MAD) is the actual Matter device that will be -commissioned onto the Matter network and controlled using the ChipTool. Prebuilt +commissioned onto the Matter network and controlled using the chip-tool. Prebuilt MAD images are available for the demo. Information on flashing and optionally building the Matter Accessory device is @@ -66,9 +66,9 @@ Pi image: | Command | Usage | | ---------------------- | -------------------------------------------------- | | mattertool startThread | Starts the thread network on the OTBR | -| mattertool bleThread | Starts commissioning of a MAD using ChipTool | -| mattertool on | Sends an **on** command to the MAD using ChipTool | -| mattertool off | Sends an **off** command to the MAD using ChipTool | +| mattertool bleThread | Starts commissioning of a MAD using chip-tool | +| mattertool on | Sends an **on** command to the MAD using chip-tool | +| mattertool off | Sends an **off** command to the MAD using chip-tool |
diff --git a/docs/silabs/thread/RASPI_IMG.md b/docs/silabs/thread/RASPI_IMG.md index 6a3af5decc1f35..574eb5c68e63e4 100644 --- a/docs/silabs/thread/RASPI_IMG.md +++ b/docs/silabs/thread/RASPI_IMG.md @@ -1,6 +1,6 @@ # Setting up the Matter Hub (Raspberry Pi) -The Matter Hub consists of the Open Thread Border Router (OTBR) and the chiptool +The Matter Hub consists of the Open Thread Border Router (OTBR) and the chip-tool running on a Raspberry Pi. Silicon Labs has developed a Raspberry Pi image that can be downloaded and flashed onto an SD Card for the Raspberry Pi. @@ -29,7 +29,7 @@ The image can be downloaded from the > Please note that this image, even when zipped up, is quite large ~5GB so this > download will take a while if you are on a slow connection. This image -> includes both the Ubuntu operating system as well as the OTBR and Chip-Tool, +> includes both the Ubuntu operating system as well as the OTBR and chip-tool, > hence the size.
@@ -54,7 +54,7 @@ used to flash the image to a micro SD card. The Raspberry Pi should be connected to a network - this could be Ethernet or a Wi-Fi network. -> NOTE: If you cannot connect your Rasberry Pi to a network over Wi-Fi or +> NOTE: If you cannot connect your Raspberry Pi to a network over Wi-Fi or > Ethernet you do have the option to connect a monitor and keyboard the the > Raspberry Pi and interact with it that way. In this case you do not need to > connect your Raspberry Pi to a network as you can interface with it directly @@ -87,10 +87,10 @@ on finding the IP address and connecting to the Raspberry Pi by SSH. . ### Step 4: Using the Matter Hub -The chiptool, also referred to as the `mattertool`, is provided as a pre-built +The chip-tool, also referred to as the `mattertool`, is provided as a pre-built application inside the Raspberry Pi image. -Refer to the [ChipTool page](./CHIP_TOOL.md) for information on using the Matter +Refer to the [chip-tool page](./CHIP_TOOL.md) for information on using the Matter Hub with `mattertool` commands. --- diff --git a/docs/silabs/thread/RCP.md b/docs/silabs/thread/RCP.md index e18258c301efc5..6e8a0801cf47f9 100644 --- a/docs/silabs/thread/RCP.md +++ b/docs/silabs/thread/RCP.md @@ -41,20 +41,28 @@ https://github.com/SiliconLabs/ot-efr32. You must have Git installed on your local machine. To clone the repo use the following command: -> `$ git clone https://github.com/SiliconLabs/ot-efr32.git` +```shell +$ git clone https://github.com/SiliconLabs/ot-efr32.git +``` Once you have cloned the repo, enter the repo and sync all the submodules with the following command: -> `$ cd ot-efr32` +```shell +$ cd ot-efr32 +``` -> `$ git submodule update --init` +```shell +$ git submodule update --init +``` After updating the submodules you can check out the correct branch or commit hash for the system. Check the current branch and commit hash used here: [Matter Branches and Commit Hashes](../general/COMMIT_HASHES.md) -> `$ git checkout ` +```shell +$ git checkout +```
diff --git a/docs/silabs/thread/THREAD.md b/docs/silabs/thread/THREAD.md index 230a3d89ee029c..658fd73c02c48f 100644 --- a/docs/silabs/thread/THREAD.md +++ b/docs/silabs/thread/THREAD.md @@ -8,7 +8,7 @@ image. The setup consists of the following four elements: -1. A **Controller** such as an app running on a phone or the chiptool running +1. A **Controller** such as an app running on a phone or the chip-tool running on a Linux box or Raspberry Pi. 2. An Open Thread Border Router (**OTBR**) running on a Linux box or Raspberry Pi. diff --git a/docs/silabs/wifi/BUILD_CHIP_ENV.md b/docs/silabs/wifi/BUILD_CHIP_ENV.md index 0583414ff5ae0d..5895e915b9baae 100644 --- a/docs/silabs/wifi/BUILD_CHIP_ENV.md +++ b/docs/silabs/wifi/BUILD_CHIP_ENV.md @@ -1,4 +1,4 @@ -# Building Your Wi-Fi Matter End Device and the Chip-Tool +# Building Your Wi-Fi Matter End Device and the chip-tool # Build Environment for Linux @@ -27,9 +27,8 @@ $ sudo apt install - Install required packages on Ubuntu Laptop/PC using the following commands: ```shell - $ sudo apt install git gcc g++ pkg-config libssl-dev libdbus-1-dev \ - libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev \ - python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev + $ sudo apt install git gcc g++ pkg-config libssl-dev libdbus-1-dev + libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev ```
### 2. Building Enviorment diff --git a/docs/silabs/wifi/BUILD_PI_ENV.md b/docs/silabs/wifi/BUILD_PI_ENV.md index 98a17e4287eef8..351b22e9d1bd98 100644 --- a/docs/silabs/wifi/BUILD_PI_ENV.md +++ b/docs/silabs/wifi/BUILD_PI_ENV.md @@ -51,9 +51,7 @@ On powering up the board, the red and green lights should start blinking. ``` 5. Install required packages using the following commands: ```shell - $ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev \ - libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev \ - python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev + $ sudo apt-get install git gcc g++ pkg-config libssl-dev libdbus-1-dev libglib2.0-dev libavahi-client-dev ninja-build python3-venv python3-dev python3-pip unzip libgirepository1.0-dev libcairo2-dev libreadline-dev ``` > If you see any popups between installs, you can select 'Ok' or 'Continue' @@ -73,28 +71,42 @@ Make sure Bluetooth LE (BLE) is up and running on Raspberry Pi. Raspberry Pi int some issues with BLE that may cause it to crash. Because BLE is used for commissioning on Matter, make sure BLE is running. -`$ sudo systemctl status bluetooth.service` +```shell +$ sudo systemctl status bluetooth.service +``` To stop BLE if it is already running: -`$ sudo systemctl stop bluetooth.service` +```shell +$ sudo systemctl stop bluetooth.service +``` To restart the Bluetooth service, first enable it: -`$ sudo systemctl enable bluetooth.service` +```shell +$ sudo systemctl enable bluetooth.service +``` When you check the status of the Bluetooth service, it will be inactive because it has been enabled but not restarted: -`$ sudo systemctl status bluetooth.service` +```shell +$ sudo systemctl status bluetooth.service +``` Restart the service: -`$ sudo systemctl restart bluetooth.service` +```shell +$ sudo systemctl restart bluetooth.service +``` Now the status of the service should be active and running: -`$ sudo systemctl status bluetooth.service` +```shell +$ sudo systemctl status bluetooth.service +``` + + --- diff --git a/docs/silabs/wifi/DEMO_OVERVIEW.md b/docs/silabs/wifi/DEMO_OVERVIEW.md index 375116c16af8c5..7a2e673333d55c 100644 --- a/docs/silabs/wifi/DEMO_OVERVIEW.md +++ b/docs/silabs/wifi/DEMO_OVERVIEW.md @@ -1,25 +1,19 @@ # Matter over Wi-Fi Demo Overview This document walks through the steps to build the Matter application i.e lighting, thermostat, door-lock for
-EFR32MG12 boards:
-`BRD4161A, BRD4163A, BRD4164A` - -EFR32MG24 boards:
-`BRD4186C, BRD4187C` - -Silicon Labs has two families of Wi-Fi adapters (1.RS911X 2.WF200). Both are supported in this Wi-Fi port of Matter. +EFR32MG boards. A complete list of hardware supported for Wi-Fi is included on the [Hardware Requirements page](../general/HARDWARE_REQUIREMENTS.md). ## Step 1: Matter Wi-Fi Prerequisites -Before you being running the Matter Wi-Fi demo or developing for Wi-Fi you will -want to make sure that you have all the required hardware and software for each +Before running the Matter Wi-Fi demo or developing for Wi-Fi make sure that you have all the required hardware and software for each use case. -1. [Matter Wi-Fi Prerequisites](WIFI_PREREQS.md) +1. [Matter Hardware Requirements](../general/HARDWARE_REQUIREMENTS.md) +1. [Matter Software Requirements](../general/SOFTWARE_REQUIREMENTS.md) -## Step 2: Building the Chip-Tool for Wi-Fi +## Step 2: Building the chip-tool for Wi-Fi -In order to run the Matter Wi-Fi demo you will need to run the Chip-Tool on one +In order to run the Matter Wi-Fi demo you will need to run the chip-tool on one of two platforms, either Linux/Mac or Raspberry Pi. 1. [Build Linux Environment](BUILD_CHIP_ENV.md) @@ -30,13 +24,13 @@ of two platforms, either Linux/Mac or Raspberry Pi. Follow the steps in [Software Setup](SW_SETUP.md) -Build commands are provided for both the RS911x and WF200 adapters. +Build commands are provided for the RS911x, SiWx917 and WF200 adapters. ## Step 4: Running the Demo [Running Matter Demo over Wi-Fi using Linux](RUN_DEMO.md) -This contains instructions to run the Matter Wi-Fi demo using ChipTool +This contains instructions to run the Matter Wi-Fi demo using chip-tool running on a Linux Machine (either Laptop or Raspberry Pi) - follow this after successfully executing the above steps. diff --git a/docs/silabs/wifi/FAQ.md b/docs/silabs/wifi/FAQ.md index 47177da65fa2e4..7b1984cb068a73 100644 --- a/docs/silabs/wifi/FAQ.md +++ b/docs/silabs/wifi/FAQ.md @@ -4,7 +4,7 @@
-### 1. Bluetooth connection fails when trying to commission the system through the ChipTool: +### 1. Bluetooth connection fails when trying to commission the system through the chip-tool: **Command leading to error:** @@ -17,13 +17,13 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. **Error example:** ```log - [1659464425.856025][34818:34823] CHIP:DL: HandlePlatformSpecificBLEEvent 16386 - [1659464425.856035][34818:34823] CHIP:IN: Clearing BLE pending packets. - [1659464425.856055][34818:34823] CHIP:IN: BleConnection Error: ../../examples/chip-tool/third_party/connectedhomeip/src/platform/Linux/bluez/Helper.cpp:1775: CHIP Error 0x000000AC: Internal error +[1659464425.856025][34818:34823] CHIP:DL: HandlePlatformSpecificBLEEvent 16386 +[1659464425.856035][34818:34823] CHIP:IN: Clearing BLE pending packets. +[1659464425.856055][34818:34823] CHIP:IN: BleConnection Error: ../../examples/chip-tool/third_party/connectedhomeip/src/platform/Linux/bluez/Helper.cpp:1775: CHIP Error 0x000000AC: Internal error ``` > This error indicates that the Bluetooth connection between your system and -> laptop is failing. Follow the given procedure and then retry the ChipTool +> laptop is failing. Follow the given procedure and then retry the chip-tool > commissioning command.
@@ -32,24 +32,34 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. 1. Stop Bluetooth service: - `$ systemctl stop bluetooth.service` + ```shell + $ systemctl stop bluetooth.service + ``` 2. Wait 20 seconds 3. Restart Bluetooth service: - `$ sudo service bluetooth restart` + ```shell + $ sudo service bluetooth restart + ``` 4. Unblock Bluetooth service: - `$ rfkill unblock all` + ```shell + $ rfkill unblock all + ``` 5. Enable Bluetooth service: - `$ sudo systemctl enable bluetooth` + ```shell + $ sudo systemctl enable bluetooth + ``` 6. Issue the pairing command: - `$ out/standalone/chip-tool pairing ble-wifi 1122 mySSID mypassword 20202021 3840` + ```shell + $ out/standalone/chip-tool pairing ble-wifi 1122 mySSID mypassword 20202021 3840 + ``` > Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's > password**. @@ -78,7 +88,9 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. - Delete the existing certificates on your laptop with the following command run from the `/connectedhomeip` directory: - `$ /bin/rm /tmp/chip_*` + ```shell + $ /bin/rm /tmp/chip_* + ``` - Issue the commissioning command diff --git a/docs/silabs/wifi/RUN_DEMO.md b/docs/silabs/wifi/RUN_DEMO.md index b65a8d5761d23c..1bf8f3952b0452 100644 --- a/docs/silabs/wifi/RUN_DEMO.md +++ b/docs/silabs/wifi/RUN_DEMO.md @@ -35,7 +35,7 @@ 5. Click on the 'Silicon Labs device' detected, and then click 'Next' 6. You will be asked to select the image/binary to be loaded: click on the - three-dots on that tab and navigate to '`out/rs911x_lighting/BRD4161A`' + three-dots on that tab and navigate to '`out/rs911x_lighting/BRD41xxx`' through 'Browse', select the file named `chip-efr32-lighting-example.out` and click 'Next'. This is the image built in previous step. @@ -66,70 +66,87 @@ > following commands will provide you with a serial console of the EFR32 >
- > `$ konsole -e JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1 &` + ```shell + $ konsole -e JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1 & + ``` + > (Put it in the background) - > `$ sleep 3` + ```shell + $ sleep 3 + ``` - > `$ konsole -e JLinkRTTClient &` + ```shell + $ konsole -e JLinkRTTClient & + ``` > You may need to press in the JLinkExe console first
-## Demo Execution - Commissioning a Wi-Fi Device using ChipTool for Linux +## Demo Execution - Commissioning a Wi-Fi Device using chip-tool for Linux -> Commissioning can be done using ChipTool running either on Linux or Raspberry +> Commissioning can be done using chip-tool running either on Linux or Raspberry > Pi 1. Get the SSID and PSK of the Wi-Fi network (WPA2 - Security) you are connected to. 2. Run the following: - > `$ cd $MATTER_WORKDIR/matter` + ```shell + $ cd $MATTER_WORKDIR/matter + ``` ### Commissioning Command: - > `$ out/standalone/chip-tool pairing ble-wifi 1122 $SSID $PSK 20202021 3840` + ```shell + $ out/standalone/chip-tool pairing ble-wifi 1122 $SSID $PSK 20202021 3840 + ``` > The node ID used here is 1122. This will be used in future commands. > '\$SSID' is a placeholder for your Wi-Fi SSID and '\$PSK' is a placeholder > for the password of your Wi-Fi network. 3. To turn **on** the LED on the EFR32MG12 or EFR32MG24 : - > `$ out/standalone/chip-tool onoff on 1122 1` + ```shell + $ out/standalone/chip-tool onoff on 1122 1 + ``` 4. To turn **off** the LED on the EFR32MG12 or EFR32MG24 : - > `$ out/standalone/chip-tool onoff off 1122 1` + ```shell + $ out/standalone/chip-tool onoff off 1122 1 + ``` If there are any failures, run the following command and then re-run the -Chip-Tool command: +chip-tool command: -> `$ rm -rf /tmp/chip_*` +```shell +$ rm -rf /tmp/chip_* +``` -If you are having difficulty getting the Chip-Tool to commission the device +If you are having difficulty getting the chip-tool to commission the device successfully, it may be because you have more than one network interface -available to the Chip-Tool. The device on which you are running the Chip-Tool +available to the chip-tool. The device on which you are running the chip-tool must be on the same Wi-Fi network as your RS9116 or WF200 and there cannot be -another network interface on the device that is running the Chip-Tool. For +another network interface on the device that is running the chip-tool. For instance, if you have an Ethernet connection as well as a Wi-Fi connection, you -need to unplug the Ethernet connection and try running the Chip-Tool as in step +need to unplug the Ethernet connection and try running the chip-tool as in step #2 above. As the device remembers the Access Point credentials given for commissioning, if you want to run the demo multiple times, do a factory reset by pressing the BTN0 on EFR32MG12 or EFR32MG24 for about 6-7 seconds. The LED0 will flash 3 times and -the QR code will appear again on the LCD screen. +the QR code will appear again on the LCD screen. After a factory reset, BTN0 needs to be pressed again to view the QR Code.
The commissioning command mentioned above does the following: -- ChipTool scans BLE and locates the Silicon Labs device that uses the +- chip-tool scans BLE and locates the Silicon Labs device that uses the specified discriminator - Sends the Wi-Fi SSID and Passkey - The Silicon Labs device will join the Wi-Fi network and get an IPv4 address. It then starts providing mDNS records on IPv4 and IPv6 -- ChipTool then locates the device over Wi-Fi and establishes operational +- chip-tool then locates the device over Wi-Fi and establishes operational certificates - Future communications (tests) will then happen over Wi-Fi diff --git a/docs/silabs/wifi/SW_SETUP.md b/docs/silabs/wifi/SW_SETUP.md index 87182091555f47..92caf1a60aa2e4 100644 --- a/docs/silabs/wifi/SW_SETUP.md +++ b/docs/silabs/wifi/SW_SETUP.md @@ -39,18 +39,20 @@ application images. ```
-## Compiling the ChipTool +## Compiling the chip-tool In order to control the Wi-Fi Matter Accessory Device you will have to compile -and run the ChipTool on either a Linux, Mac or Raspberry Pi. The ChipTool builds +and run the chip-tool on either a Linux, Mac or Raspberry Pi. The chip-tool builds faster on the Mac and Linux machines so that is recommended, but if you have access to a Raspberry Pi that will work as well. -1. Build the Chip-Tool +1. Build the chip-tool - `$ ./scripts/examples/gn_build_example.sh examples/chip-tool out/standalone` + ```shell + $ ./scripts/examples/gn_build_example.sh examples/chip-tool out/standalone + ``` - This will build chiptool in `out/standalone`. + This will build chip-tool in `out/standalone`.
@@ -68,27 +70,34 @@ $ Build command for EFR32MG12 + RS911x: -`$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx --wifi rs911x |& tee out/rs911x_lighting.log` +```shell +$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx --wifi rs911x |& tee out/rs911x_lighting.log +``` Build command for EFR32MG12 + WF200: -`$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32 out/wf200_lighting_app BRD41xxx is_debug=false --wifi wf200 |& tee out/wf200_lighting.log` - -In above command BRD41xxx represent the EFR32MG12 boards +```shell +$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32 out/wf200_lighting_app BRD41xxx is_debug=false --wifi wf200 |& tee out/wf200_lighting.log +``` -`BRD4161A, BRD4163A, BRD4164A` Build command for EFR32MG24 + RS911x: -`$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi rs911x` +```shell +$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi rs911x +``` + +Build command for EFR32MG24 + SiWx917: -Build command for EFR32MG24 + WF200: +`$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi siwx917` -`$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/wf200_lighting BRD41xxx disable_lcd=true use_external_flash=false chip_build_libshell=false --wifi wf200` +Build command for EFR32MG24 + WF200: -In above command BRD41xxx represent the EFR32MG24 boards +```shell +$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/wf200_lighting BRD41xxx disable_lcd=true use_external_flash=false chip_build_libshell=false --wifi wf200 +``` -`BRD4186C, BRD4187C` +A complete list of hardware supported is included on the [Hardware Requirements page](../general/HARDWARE_REQUIREMENTS.md). By using the following flags we can enable or disable the features of lighting application. @@ -97,20 +106,28 @@ By using the following flags we can enable or disable the features of lighting a ```shell $ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx rs91x_wpa3_only=true --wifi rs911x |& tee out/rs911x_lighting.log ``` - Note: - 1. WPA/WPA2 is enabled by default for the rs911x - 2. Enabling WPA3 will disable WPA and WPA2 support +> **Note:** +> 1. WPA/WPA2 is enabled by default for the rs911x +> 2. Enabling WPA3 will disable WPA and WPA2 support 2. `segger_rtt_buffer_size_up` : Flag to get the complete logs without truncation. ```shell $ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx segger_rtt_buffer_size_up=2068 --wifi rs911x |& tee out/rs911x_lighting.log ``` +3. `show_qr_code=false` : Use this flag while building to disable QR code. + ```shell + $ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx show_qr_code=false --wifi rs911x |& tee out/rs911x_lighting.log + ``` + Note: + 1. QR code is enabled by default for all except MG24 + 2. QR code is disable for MG24 because of lcd disable, can't able to enable it by using flag -The generated software can be found in `out/rs911x_xxx/BRD4161A/*.out` for the -RS9116 and in `out/wf200_xxx/BRD4161A/*.out` for the WF200. +The generated software can be found in +`out/rs911x_xxx/BRD41xxx/*.out` for the RS9116, in `out/siwx917_xxx/BRD41xxx/*.out` for the +SiWx917 and in `out/wf200_xxx/BRD41xxx/*.out` for the WF200. This is what you will flash onto the EFR32. For more information on how to flash the EFR32 please check out the page on diff --git a/docs/silabs/wifi/WIFI_PREREQS.md b/docs/silabs/wifi/WIFI_PREREQS.md deleted file mode 100644 index c5a22de08b0e89..00000000000000 --- a/docs/silabs/wifi/WIFI_PREREQS.md +++ /dev/null @@ -1,95 +0,0 @@ -# Matter Wi-Fi Prerequisites - -Silicon Labs Matter Wi-Fi is supported on two different platforms, the -[WF200](https://www.silabs.com/wireless/wi-fi/wf200-series-2-transceiver-ics) -and the -[RS9116](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit). -In both cases the Wi-Fi part is attached to an EFR32MG12 or EFR32MG24 -development board via a daughter card. The EFR32MG12 or REFR32MG24 is used as a -host processor for the application and for its Bluetooth capability, which is -necessary for Matter commissioning. - -In addition to the EFR32MG12 or EFR32MG24 and Wi-Fi boards, you will need to run -the Matter ChipTool. This can be built and run on a Linux or Mac laptop or on a -Raspberry Pi. - -The hardware that you will need for Silicon Labs Matter Wi-Fi development is as -follows: - -## EFR32MG12 + RS9116 Hardware Overview - -![Overview](./images/wifi_setup.png) - ->Note: For EFR32MG24 + RS911x hardware overview will be looking like same which is shown in the above diagram, only MG12 >board need to replace with MG24. - -## EFR32MG12 + WF200 Hardware Overview - -![EFR32MG12 + WF200 connection ](./images/MG12_WF200.jpg) - -> Note : -> 1. For EFR32MG24 + WF200 hardware overview also looking like same which is shown in the above diagram. Only EFR32MG24 >board need to change. -> 2. Make sure on wf200 board interface slide button should in SPI mode and other slide button should be in "ON BOARD LDO" -## Hardware - -- Linux PC/Laptop **or** Raspberry Pi 4 (This is for running the ChipTool to - commission and control the device) -- Kits/Boards: - - SLWSTK6000B Wireless Starter Kit main board - - BRD4161A/BRD4163A/BRD4164A/BRD4186C/BRD4187C daughter boards are supported - - [SLWRB4161A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4161a-efr32mg12-radio-board) - - [SLWRB4163A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4163a-efr32mg12-radio-board) - - [SLWRB4164A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4164a-efr32mg12-radio-board) - - [XG24-RB4186C](https://www.silabs.com/development-tools/wireless/xg24-rb4186c-efr32xg24-wireless-gecko-radio-board) - - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) - > BLE and Matter code run here - - Wi-Fi Dev Kit, either - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) - **or** - [WF200](https://www.silabs.com/wireless/wi-fi/wf200-series-2-transceiver-ics) - - Interconnect board (included in the Wi-Fi kits) - - SPI Cable (included in the RS9116 kit) - - Jumper Cables (included in the RS9116 kit) -- Access point with Internet access -- microSD card (32GB) (if using Raspberry Pi) - -
- -## Software - -- Ozone (optional) to flash the images generated - - Windows: [Download Ozone](https://www.segger.com/downloads/jlink/) - > Search for "Ozone - The J-Link Debugger" and download the latest - > Windows (32 or 64 bit) version and install it - - Linux: - [Download Ozone](https://www.segger.com/downloads/jlink/Ozone_Linux_x86_64.deb) - and install it -- [Simplicity Studio or Simplicity Commander](../general/FLASH_SILABS_DEVICE.md) - (optional) to flash images generated -- Raspberry Pi imager tool (optional): To flash an operating system or - Raspberry Pi image on the SD card of the Raspberry Pi if you are using one - to run the ChipTool. Note: The ChipTool may also be compiled and run on a - Linux machine or Mac. [Download](https://www.raspberrypi.com/software/) -- Upgrade firmware on RS9116 EVK: Firmware for the RS9116 can be downloaded - from the [Matter Artifacts page](../general/ARTIFACTS.md). Information on - how to update the firmware is provided in this - [Reference Guide](https://docs.silabs.com/rs9116/wiseconnect/2.0/update-evk-firmware) -- If you are using an EFR32MG2x device you will require a bootloader to run - the demo applications. When you flash your application image be sure to - include a bootloader as well (if one is not already present). Bootloader - images are provided on the [Matter Artifacts page](../general/ARTIFACTS.md). - -
- -## RS9116: Steps to Update Firmware - -Pre-Built Rs9116 firmware is available on the -[Matter Artifacts page](../general/ARTIFACTS.md) - -1. Connect rs911x `USB-CDC` port to host machine. -2. [Setting up TeraTerm](https://docs.silabs.com/rs9116/wiseconnect/2.0/tera-term-setup) -3. [Updating the RS9116 Firmware](https://docs.silabs.com/rs9116/wiseconnect/2.0/update-evk-firmware) - ---- - -[Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | -[Wi-Fi Demo](./DEMO_OVERVIEW.md)