diff --git a/README.md b/README.md index 077ef515c2b249..820f7f6ce3da7d 100644 --- a/README.md +++ b/README.md @@ -16,12 +16,15 @@ _To see release notes containing list of features and knowns issues go to [SiliconLabs/matter/releases](https://github.com/SiliconLabs/matter/releases) and find the corresponding notes for the release you are using._ +As seen below, Silicon Labs supports Matter on several different hardware platforms including the EFR32, RS9116, WF200 and the new SiWx917 which is a Wi-Fi System-on-Chip (SoC). + +Device: EFR32+RS9116 ![Silicon Labs](./docs/silabs/images/silicon_labs_matter.png) -This repo contains documentation, demos, examples and all the code needed for -Matter Accessory Device development on both Thread and Wi-Fi. The Thread -development use cases differs from Wi-Fi because the Thread protocol requires -the use of an Open Thread Border Router (OTBR). +Device: SiWx917 SoC +![Silicon Labs - SiWx917 soc](./docs/silabs/images/silicon_labs_matter_SiWx917.png) + +This repo contains documentation, demos, examples and all the code needed for Matter Accessory Device development on both Thread and Wi-Fi. The Thread development use cases differs from Wi-Fi because the Thread protocol requires the use of an Open Thread Border Router (OTBR). - To get started with the Thread demo and development see [Matter Thread](./docs/silabs/thread/DEMO_OVERVIEW.md) diff --git a/docs/silabs/README.md b/docs/silabs/README.md index 16515939b0e746..d45b9ed8803325 100644 --- a/docs/silabs/README.md +++ b/docs/silabs/README.md @@ -1,11 +1,11 @@ # Silicon Labs Matter Table of Contents -1. [Silicon Labs Matter Documentation Overview](OVERVIEW.md)
+1. [Silicon Labs Matter Documentation Overview](OVERVIEW.md) 2. Matter Prerequisites 1. [Matter Hardware Requirements](general/HARDWARE_REQUIREMENTS.md) - 2. [Matter Software Requirements](general/SOFTWARE_REQUIREMENTS.md)

+ 2. [Matter Software Requirements](general/SOFTWARE_REQUIREMENTS.md) 3. [Matter over Thread \(15.4\)](thread/THREAD.md) @@ -13,14 +13,16 @@ 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 1. [Matter Wi-Fi Demo Overview](wifi/DEMO_OVERVIEW.md) 2. [Building a Matter Wi-Fi End Device](wifi/SW_SETUP.md) - 3. [Running the Matter Demo over Wi-Fi](wifi/RUN_DEMO.md) -

+ 3. [Running the Matter Demo on EFR32 hosts](wifi/RUN_DEMO.md) + 4. [Ozone Environment Setup for the SiWx917 SoC](wifi/SiWx917_Enablement_For_Ozone.md) + 5. [Flashing the SiWx917 SoC](general/FLASH_SILABS_SiWx917_SOC_DEVICE.md) + 6. [Running the Matter Demo on SiWx917 SoC](wifi/RUN_DEMO_SiWx917_SoC.md) 5. Matter Bridging to Zigbee/Z-Wave @@ -29,7 +31,6 @@ 3. [Running the Matter Bridge](../../silabs_examples/unify-matter-bridge/readme_user.md#Running-the-Matter-Bridge) 4. [Controlling a Z-Wave OnOff device](../../silabs_examples/unify-matter-bridge/readme_user.md#Testing-the-bridge-using-the-chip-tool) 5. [Toggling a Group of OnOff devices](../../silabs_examples/unify-matter-bridge/readme_user.md#toggle-a-group-of-onoff-devices) -

6. Development using VS Code @@ -38,7 +39,7 @@ 1. [Create](dev/vscode/CREATE.md) 2. [Build](dev/vscode/BUILD.md) 3. [Flash](dev/vscode/FLASH.md) - 4. [Debug](dev/vscode/DEBUG.md)

+ 4. [Debug](dev/vscode/DEBUG.md) 7. Matter Overview Guides 1. [Commissioning Process Overview](general/COMMISSIONING.md) @@ -46,7 +47,7 @@ 5. [Matter Attestation Credentials for EFR32](../../silabs_examples/credentials/README.md) 3. [Matter Sleepy End Devices over Openthread](general/OT_SLEEPY_END_DEVICE.md) 4. [Matter OTA Software Update](general/OTA_SOFTWARE_UPDATE.md) -

+ 8. Reference Guides 1. [Matter Hardware Requirements](general/HARDWARE_REQUIREMENTS.md) @@ -54,13 +55,14 @@ 3. [Matter Artifacts Page](general/ARTIFACTS.md) 4. [Matter Commit Hashes](general/COMMIT_HASHES.md) 5. [How to Flash a Silicon Labs Device](general/FLASH_SILABS_DEVICE.md) - 6. [How to Find Your Raspberry Pi](general/FIND_RASPI.md) - 7. [Building a Custom Matter Device](general/CUSTOM_MATTER_DEVICE.md) - 8. [Using Simplicity Studio's Pin Tool and Project Configurator with Matter](./general/PINTOOL.md) - 9. [Using Simplicity Studio's BLE GATT Configurator with Matter](./general/GATT.md) - 10. [Using Simplicity Studio's Energy Profiler with Matter](./general/EP.md) - 11. [Using Wireshark to Capture Network Traffic in Matter](./general/WIRESHARK.md) - 12. [Matter EFR32 Flash Savings Guide](general/CODE_SIZE_SAVINGS.md)

+ 6. [How to Flash the SiWx917 SoC](general/FLASH_SILABS_SiWx917_SOC_DEVICE.md) + 7. [How to Find Your Raspberry Pi](general/FIND_RASPI.md) + 8. [Building a Custom Matter Device](general/CUSTOM_MATTER_DEVICE.md) + 9. [Using Simplicity Studio's Pin Tool and Project Configurator with Matter](./general/PINTOOL.md) + 10. [Using Simplicity Studio's BLE GATT Configurator with Matter](./general/GATT.md) + 11. [Using Simplicity Studio's Energy Profiler with Matter](./general/EP.md) + 12. [Using Wireshark to Capture Network Traffic in Matter](./general/WIRESHARK.md) + 13. [Matter EFR32 Flash Savings Guide](general/CODE_SIZE_SAVINGS.md) 9. Frequently Asked Questions (FAQ) / Troubleshooting diff --git a/docs/silabs/general/ARTIFACTS.md b/docs/silabs/general/ARTIFACTS.md index 9b505bdaf1c111..2e0c02707e5475 100644 --- a/docs/silabs/general/ARTIFACTS.md +++ b/docs/silabs/general/ARTIFACTS.md @@ -3,8 +3,6 @@ This page provides links to pre-built software image "artifacts" that can be used to set up the Matter Demo for the Thread and Wi-Fi use cases. -
- ## Matter Hub Raspberry Pi Image The Matter Hub image is intended to be flashed onto an SD card for a Raspberry @@ -13,9 +11,7 @@ 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: -https://www.silabs.com/documents/public/software/SilabsMatterPi.zip - -
+https://www.silabs.com/documents/public/software/SilabsMatterPi_1.1.0-1.1.zip ## Radio Co-Processor (RCP) Images @@ -24,9 +20,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/v1.0.0 - -
+https://github.com/SiliconLabs/matter/releases/tag/v1.1.0-1.1 ## Matter Accessory Device Images @@ -34,7 +28,7 @@ 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/v1.0.0 +https://github.com/SiliconLabs/matter/releases/tag/v1.1.0-1.1 For Matter over Thread, 3 different types of images are provided: @@ -42,8 +36,6 @@ For Matter over Thread, 3 different types of images are provided: 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. -
- ## Matter Bootloader Binaries If you are using the OTA functionality and especially if you are using an @@ -51,9 +43,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/v1.0.0 - -
+https://github.com/SiliconLabs/matter/releases/tag/v1.1.0-1.1 ## RS9116 Firmware @@ -61,16 +51,25 @@ The RS9116 firmware is used to update the RS9116 - 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` -
- ## SiWx917 Firmware -SiWx917 Firmware(rps) images are available in -the Assets section of this page: +> **Note**: SiWx917 firmware is only available to Alpha customers. Contact Silicon Labs support to obtain the WiseMCU SDK and install it as per the instructions on the [Software Requirements page](./SOFTWARE_REQUIREMENTS.md). + +The SiWx917 firmware is used to update the SiWx917 device connectivity firmware. It can be found in the +repository you have cloned, at the following relative path from the `/matter` +directory, `./third_party/silabs/wisemcu-wifi-bt-sdk/connectivity_firmware` + +## SiWx917 SoC Configuration Files for Flashing the Matter Application + +In order to flash the Matter Application on the SiWx917 SoC, the Ozone Debugger must +be configured for the SiWx917 SoC device by following the instructions on the [Ozone Environment Setup for SiWx917 SoC page](../wifi/SiWx917_Enablement_For_Ozone.md). + +The **JLinkDevices.xml** and **ELF** files referenced in the instructions may be found +in the Assets section of this page: + +https://github.com/SiliconLabs/matter/releases/tag/v1.1.0-1.1 -https://github.com/SiliconLabs/matter/releases/tag/v1.0.0 -
--- [Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | diff --git a/docs/silabs/general/FLASH_SILABS_SiWx917_SOC_DEVICE.md b/docs/silabs/general/FLASH_SILABS_SiWx917_SOC_DEVICE.md new file mode 100644 index 00000000000000..bbd9acf54c65f5 --- /dev/null +++ b/docs/silabs/general/FLASH_SILABS_SiWx917_SOC_DEVICE.md @@ -0,0 +1,14 @@ +# How to Flash a SiWx917 SoC Device + +Once you have an image built, you can flash it onto your SiWx917 SoC device over USB connected to your development machine. This can be done using the Ozone Debugger. + +> Note: Flashing using Simplicity Studio and Simplicity Commander is not yet supported for the SiWx917 SoC. + +## Ozone J-Link Debugger: + +- Multi-platform debugger and performance analyzer for J-Link and J-Trace + - Download for: [Windows](https://www.segger.com/downloads/jlink/Ozone_Setup_Windows_x64.exe) | [Mac](https://www.segger.com/downloads/jlink/Ozone_macOS_Universal.pkg) | [Linux](https://www.segger.com/downloads/jlink/Ozone_Linux_x86_64.deb) +- [Flashing and debug procedure for Ozone](../wifi/RUN_DEMO_SiWx917_SoC.md) + +---- +[Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | [Wi-Fi Demo](../wifi/DEMO_OVERVIEW.md) diff --git a/docs/silabs/general/HARDWARE_REQUIREMENTS.md b/docs/silabs/general/HARDWARE_REQUIREMENTS.md index 40115c30e63994..4693bf2239a369 100644 --- a/docs/silabs/general/HARDWARE_REQUIREMENTS.md +++ b/docs/silabs/general/HARDWARE_REQUIREMENTS.md @@ -42,7 +42,7 @@ them on a Raspberry Pi. To do so you will need: - [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 @@ -53,7 +53,6 @@ them on a Raspberry Pi. To do so you will need: - [SLWRB4163A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4163a-efr32mg12-radio-board) - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm - [SLWRB4164A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4164a-efr32mg12-radio-board) -

## Matter Over Thread Accessory Device Requirements @@ -84,7 +83,7 @@ Matter Accessory Devices for Matter over Thread on the following platforms: - [XGM240-RB4316A](https://www.silabs.com/development-tools/wireless/xgm240-rb4316a-xgm240p-module-radio-board?tab=overview) - BRD4317A / SLWSTK6006A / Wireless Starter Kit/ 2.4GHz@20dBm - [XGM240-RB4317A](https://www.silabs.com/development-tools/wireless/xgm240-rb4317a-xgm240p-module-radio-board?tab=overview) -

+ - **MG12 boards:** - [EFR32MG12 Development Kit](https://www.silabs.com/development-tools/wireless/zigbee/efr32mg12-dual-band-starter-kit) @@ -101,53 +100,66 @@ Matter Accessory Devices for Matter over Thread on the following platforms: - BRD4170A / SLWSTK6000B / Multiband Wireless Starter Kit / 2.4GHz@19dBm, 915MHz@19dBm - [SLWRB4170A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4170a-efr32mg12-radio-board) -

-## Matter over Wi-Fi Accessory Device Requirements +## Matter over Wi-Fi Accessory Device Requirements for NCP mode -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 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: +The Silicon Labs Matter over Wi-Fi NCP mode demo and development requires two boards: the +Silicon Labs EFR32 Radio board to run the Matter code and either the RS9116, SiWx917 or WF200 to run the Wi-Fi protocol stack. +Pre-built images for the EFR32 are provided on the [Matter Artifacts page](./ARTIFACTS.md). Pre-built images for SiWx917 or RS9116 connectivity +firmware are available as per the instructions on the [Software Requirements Page](./SOFTWARE_REQUIREMENTS.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. +> **Note:** +> 1. 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. +> 2. The WF200 connectivity firmware image is included in the EFR32MG12 or EFR32MG24 images on the [Matter Artifacts page](./ARTIFACTS.md) for running with the WF200 in NCP mode. The +Matter application downloads the connectivity firmware onto the WF200 on first-time startup. +The following boards are supported for the Matter over Wi-Fi demos and development: - **MG24 boards:** - - BRD4186C / SLWSTK6006A / Wireless Starter Kit / 2.4GHz@10dBm + - BRD4186C / 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 + - MG24 with WSTK : [xG24-PK6009A](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-10-dbm?tab=overview) + - BRD4187C / Wireless Starter Kit / 2.4GHz@20dBm - [XG24-RB4187C](https://www.silabs.com/development-tools/wireless/xg24-rb4187c-efr32xg24-wireless-gecko-radio-board) -

-- **MG12 boards:** + - MG24 with WSTK : [xG24-PK6010A](https://www.silabs.com/development-tools/wireless/efr32xg24-pro-kit-20-dbm?tab=overview) - - [EFR32MG12 Development Kit](https://www.silabs.com/development-tools/wireless/zigbee/efr32mg12-dual-band-starter-kit) - - BRD4161A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm - - [SLWRB4161A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4161a-efr32mg12-radio-board) - - BRD4162A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@10dBm - - [SLWRB4162A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4162a-efr32mg12-radio-board) - - BRD4163A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm - - [SLWRB4163A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4163a-efr32mg12-radio-board) - - BRD4164A / SLWSTK6000B / Wireless Starter Kit / 2.4GHz@19dBm - - [SLWRB4164A](https://www.silabs.com/development-tools/wireless/zigbee/slwrb4164a-efr32mg12-radio-board) -

+- **Wi-Fi NCP Dev Kits & boards** + - RS9116 + - SB-EVK1 / Single Band Wi-Fi Development Kit / 2.4GHz + - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) + - SB-EVK2 / Single Band Wi-Fi Development Kit / 2.4GHz + - [RS9116X-SB-EVK2](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk2-development-kit) + - DB-EVK1 / Dual Band Wi-Fi Development Kit / 2.4GHz & 5GHz + - [RS9116X-DB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-db-evk-development-kit) + > **Note:** Matter only supported over 2.4GHz on this Dev kit. + - Interconnect board (included in the Wi-Fi kits) + - SPI Cable (included in the RS9116 kit) + - Jumper Cables (included in the RS9116 kit) + - SiWx917 + - WF200 + - WF200 / Single Band Wi-Fi Expansion Board / 2.4GHz + - [SLEXP8022A](https://www.silabs.com/development-tools/wireless/wi-fi/wf200-wifi-expansion-kit) + - WFM200S / Single Band Wi-Fi Expansion Board / 2.4GHz + - [SLEXP8023A](https://www.silabs.com/development-tools/wireless/wi-fi/wfm200-wifi-expansion-kit) -- **Wi-Fi Dev Kit** - - RS9116 - - [RS9116X-SB-EVK1](https://www.silabs.com/development-tools/wireless/wi-fi/rs9116x-sb-evk-development-kit) +## Matter over Wi-Fi Accessory Device Requirements for SoC mode + +The Silicon Labs Matter over Wi-Fi demo and development for SoC mode requires the SiWx917 SoC board that +supports Matter over Wi-Fi in a single-chip package - the integrated MCU is dedicated +for peripheral and application-related processing (Matter), while the ThreadArch® runs the +wireless and networking protocol stacks. Pre-built images for the SiWx917 connectivity firmware +are available as per the instructions on the [Software Requirements Page](./SOFTWARE_REQUIREMENTS.md). The +following boards are supported for the Matter over Wi-Fi demos and development: + +- **Wi-Fi SoC boards** + - 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) - - SPI Cable (included in the RS9116 kit) - - Jumper Cables (included in the RS9116 kit) + ## Additional Matter over Wi-Fi Hardware Requirements diff --git a/docs/silabs/general/SOFTWARE_REQUIREMENTS.md b/docs/silabs/general/SOFTWARE_REQUIREMENTS.md index f47fbfccd90aac..bf54b798569545 100644 --- a/docs/silabs/general/SOFTWARE_REQUIREMENTS.md +++ b/docs/silabs/general/SOFTWARE_REQUIREMENTS.md @@ -13,17 +13,27 @@ 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) - +3. Flash Tools + + - [Flash tool for EFR32 Device](../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. + - [Flash tool for SiWx917 SoC Device](../general/FLASH_SILABS_SiWx917_SOC_DEVICE.md) + + The Ozone Debugger can be configured to flash the application for the SiWx917 SoC device. + + > **Note:** + > 1. Simplicity Studio and Commander tools support is not yet added for the SiWx917 SoC device. + > 2. The SiWx917 SoC device is not yet officially added in Ozone, but it can be configured in Ozone. + 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:
+ submodules with the following commands: ```shell $ git clone https://github.com/SiliconLabs/matter.git @@ -39,15 +49,12 @@ 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). - -
+ bootloader as well (if one is not already present). Bootloader images are provided on the [Matter Artifacts page](../general/ARTIFACTS.md). ## **Windows-Specific Software Requirements:**   These requirements are in addition to those mentioned above, for Windows -only.
+only.   A Unix-like command line: @@ -59,12 +66,10 @@ only.
> WSL or Virtual Box are used to emulate a virtual Linux machine, which is > useful for accessing the Linux command line tools -
- ## **Mac-Specific Requirements (building own images):**   These requirements are in addition to those mentioned above for Mac OS -users building their own images.
+users building their own images. 1. Install Homebrew @@ -85,8 +90,6 @@ users building their own images.
```shell $ export PATH="/Applications/ARM/bin:$PATH" ``` - -
Depending on your Mac processor, you will have to complete the following additional steps. @@ -103,8 +106,6 @@ $ export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH" $ export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@3/lib/pkgconfig" ``` -
- ### **Intel Software Requirements:** ```shell @@ -112,7 +113,7 @@ $ cd /usr/local/lib/pkgconfig ``` ```shell -$ cd ln -s ../../Cellar/openssl@1.1/1.1.1g/lib/pkgconfig/* . +$ 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 @@ -127,8 +128,6 @@ $ port install openssl is sufficient to satisfy this dependency. -
- ## **Linux Specific Requirements:** On Debian-based Linux distributions such as Ubuntu, these dependencies can be @@ -138,32 +137,31 @@ 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 ``` -
- ## **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) +Pre-Built RS9116 firmware is available in the github repository under `third_party/silabs/wiseconnect-wifi-bt-sdk/firmware` 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:** +## **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: +The WiseMCU Combo SDK package is only available to Alpha customers. Please contact Silicon Labs support. -1. [Setting up TeraTerm](https://docs.silabs.com/SiWx917/wiseconnect/2.0/tera-term-setup) -2. For updating the SiWx917 Firmware, refer [Updating the RS9116 Firmware](https://docs.silabs.com/rs9116/wiseconnect/2.0/update-evk-firmware). Instructions are the same for both SiWx917 and RS9116. +On obtaining the package, extract it, rename the folder as `wisemcu-wifi-bt-sdk` and copy it in the github repository under `third_party/silabs`. + +Pre-Built SiWx917 firmware is available under `third_party/silabs/wisemcu-wifi-bt-sdk/connectivity_firmware` +1. [Setting up TeraTerm](https://docs.silabs.com/SiWx917/wiseconnect/2.0/tera-term-setup) +2. For updating the SiWx917 NCP Firmware, refer [Updating the RS9116 Firmware](https://docs.silabs.com/rs9116/wiseconnect/2.0/update-evk-firmware). Instructions are the same for both SiWx917 and RS9116. +3. For updating the SiWx917 SoC Firmware, refer [Updating the SiWx917 SoC Firmware](../wifi/SiWx917_SoC_FWUpdate.md) --- diff --git a/docs/silabs/images/silicon_labs_matter_SiWx917.png b/docs/silabs/images/silicon_labs_matter_SiWx917.png new file mode 100644 index 00000000000000..4f87fb5d10436e Binary files /dev/null and b/docs/silabs/images/silicon_labs_matter_SiWx917.png differ diff --git a/docs/silabs/wifi/BUILD_PI_ENV.md b/docs/silabs/wifi/BUILD_PI_ENV.md index 351b22e9d1bd98..e158d66e26409d 100644 --- a/docs/silabs/wifi/BUILD_PI_ENV.md +++ b/docs/silabs/wifi/BUILD_PI_ENV.md @@ -8,20 +8,24 @@ options ## To flash the Ubuntu OS onto the SD card: 1. Insert the flashed SD card (directly or using a card reader) into the - laptop/PC that will run the Raspberry Pi Imager tool -2. Launch Raspberry Pi 4 Imager -3. Click 'Choose OS' --> 'Other General-purpose OS' --> 'Ubuntu' --> 'Ubuntu + laptop/PC that will run the Raspberry Pi Imager tool. +2. Launch Raspberry Pi 4 Imager. +3. Flash the Pi image using any one of the following procedure: + + - Click 'Choose OS' --> 'Other General-purpose OS' --> 'Ubuntu' --> 'Ubuntu xx.xx 64-bit server OS' - > Note: Flash the latest version of Ubnutu Server (64-bit server OS for arm64 architecture) + > Note: Flash the latest version of Ubnutu Server (64-bit server OS for arm64 architecture) + + - Download the Matter Hub Raspberry Pi Image provided on the [Matter Artifacts page](../general/ARTIFACTS.md), then click 'Choose OS' --> 'Use custom' --> select the Matter Hub Raspberry Pi Image which you downloaded. -4. Click 'Storage' and select the 'SD card detect' +4. Click 'Storage' and select the 'SD card detect'. 5. This Raspberry Pi 4's console can be accessed in multiple ways. In [this guide](https://www.raspberrypi.com/documentation/computers/remote-access.html) Raspberry Pi 4 is being accessed using Putty. 6. Enter the details like User name, Password, SSID and its password to connect - to network. Click 'Save' + to network. Click 'Save'. 7. Click 'Write' and then 'Yes' when you are asked for permission to erase data - on the SD card. It will then start flashing the OS onto the SD card + on the SD card. It will then start flashing the OS onto the SD card. 8. When it is done, click 'Continue'. 9. Remove the SD card from the reader and insert it into the Raspberry Pi as shown below: diff --git a/docs/silabs/wifi/DEMO_OVERVIEW.md b/docs/silabs/wifi/DEMO_OVERVIEW.md index 7a2e673333d55c..4c58b45f401b93 100644 --- a/docs/silabs/wifi/DEMO_OVERVIEW.md +++ b/docs/silabs/wifi/DEMO_OVERVIEW.md @@ -1,7 +1,7 @@ # Matter over Wi-Fi Demo Overview -This document walks through the steps to build the Matter application i.e lighting, thermostat, door-lock for
-EFR32MG boards. A complete list of hardware supported for Wi-Fi is included on the [Hardware Requirements page](../general/HARDWARE_REQUIREMENTS.md). +This document walks through the steps to build the Matter 1.1 applications, such as lighting, light Switch, window covering, thermostat, door lock and On/Off Plug for +EFR32MG24 and SiWx917 SoC 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 @@ -24,11 +24,15 @@ of two platforms, either Linux/Mac or Raspberry Pi. Follow the steps in [Software Setup](SW_SETUP.md) -Build commands are provided for the RS911x, SiWx917 and WF200 adapters. +Build commands are provided for the EFR32MG24 host processor, with the RS9116, SiWx917 and WF200 network co-processors. + +Build command is provided for the SiWx917 SoC processor. ## Step 4: Running the Demo -[Running Matter Demo over Wi-Fi using Linux](RUN_DEMO.md) +[Running the Matter Demo on EFR32 hosts](RUN_DEMO.md) + +[Running the Matter Demo on SiWx917 SoC](RUN_DEMO_SiWx917_SoC.md) 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 diff --git a/docs/silabs/wifi/FAQ.md b/docs/silabs/wifi/FAQ.md index d4f8d8aee8242a..0a691626bee742 100644 --- a/docs/silabs/wifi/FAQ.md +++ b/docs/silabs/wifi/FAQ.md @@ -2,8 +2,6 @@ ## Troubleshooting -
- ### 1. Bluetooth connection fails when trying to commission the system through the chip-tool: **Command leading to error:** @@ -12,8 +10,6 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. -
- **Error example:** ```log @@ -26,8 +22,6 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. > laptop is failing. Follow the given procedure and then retry the chip-tool > commissioning command. -
- **Procedure:** 1. Stop Bluetooth service: @@ -64,25 +58,17 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. > Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's > password**. -
- ### 2. Unsupported certificate format Error: -
- > When trying to commission the system, if an `Unsupported certificate format` > error (example below) is encountered, follow the procedure stated below. -
- **Error example:** ```log [1659631352.672826][5076:5076] CHIP:TOO: Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/controller/CHIPDeviceController.cpp:1275: CHIP Error 0x00000050: Unsupported certificate format ``` -
- **Procedure:** - Delete the existing certificates on your laptop with the following command @@ -94,12 +80,8 @@ Where `mySSID` is **your AP's SSID** and `mypassword` is **your AP's password**. - Issue the commissioning command -
- ### 3. WLAN connection fails from RS9116 during commissioning when channel 13 is selected on the AP: -
- The required channel becomes available for connection when the WLAN connection region is configured during compilation to one that supports the channel, such as for Japan for channel 13. In order to use the desired channel, before building, make sure the WLAN connection region is configured correctly by reviewing/modifying the following lines in @@ -121,12 +103,8 @@ In order to use the desired channel, before building, make sure the WLAN connect #define RSI_REGION_CODE 3 ``` -
- ### 4 . Incorrect firmware version -
- ```shell cd ./third_party/silabs/wiseconnect-wifi-bt-sdk/firmware ``` @@ -144,85 +122,81 @@ Note: > Compare last 5 digits of fimware version mention in the above path with > the currently using firmware version. -
- ### 5 . Apple Homepod associated failures -
- If there is an Apple Homepod on the network paired with a Thread device, and a commissioning failure is seen with error `3000001`: > Either remove the Apple Homepod from the network, or unpair it from all Thread devices, before re-trying the commissioning. -
- ### 6 . Commissioning failure at step 18 -
- 1. Verify router configuration specifically related to IPV6 SLAAC, Internet Group Management Protocol (IGMP) snooping. 2. Delete all the files of chip-tool /tmp folder. (`rm -rf /tmp/chip_*`) 3. After checking the router configuration, factory-reset your access point. -
- ### 7. Commissioning failure at step 16 -
- Verify the access point settings, SSID, PSK, secirity type, REGION, CHANNEL. -
- ### 8 . Inconsistent logs -
- Verify external power is supplied to rs911x -
- ### 9 . To enable different security options on AP/Router -
- 1. Get the router address by entering `route -n` or ifconfig of ipconfig. 2. Enter the router address in the browser and enter the appropriate username and password. 3. Select the appropriate band. 4. In security, select type (WPA / WPA2 / WPA3). -
- ### 10. CHIP Logs are not available on MG12 + WF200 due to image size constraints: -
- -Due to the Door Lock App taking up more space than available flash on the MG12 + WF200 device combination, `chip_logging=false` needs to be included on the command line while building the app image, +Due to apps taking up more space than available flash on the MG12 + WF200 device combination, `chip_logging=false` needs to be included on the command line while building the app image, to disable CHIP logs and thereby reduce the image size. This prevents debugging the code on the MG12 + WF200 device combination. -In order to work around this constraint: +In order to work around this constraint, disable either the LCD or the use of QR codes, depending on your debugging needs. Disabling one of these will sufficiently reduce the image size to allow +CHIP Logging to be enabled. -1. **For Apps other than Door Lock -** Apps other than Door Lock do not have a size constraint. Enable CHIP Logging by removing this from the build -command line: `chip_logging=false` +If you disabled QR Codes, you may use the `chip-tool` for commissioning the device. - `./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32 out/wf200_lighting_app BRD4161A is_debug=false --wifi wf200 |& tee out/wf200_lock_app.log` +If you disabled the LCD and need to debug with QR Codes, the URL to display the QR Code will be printed in the device logs. -
+Disable LCD and enable CHIP Logging: +`./scripts/examples/gn_efr32_example.sh examples/lock-app/efr32 out/wf200_lock_app BRD4161A is_debug=false disable_lcd=true --wifi wf200 |& tee out/wf200_lock_app.log` -2. **For the Door Lock App -** Disable either the LCD or the use of QR codes, depending on your debugging needs. Disabling one of these will sufficiently reduce the image size to allow -CHIP Logging to be enabled. +Disable QR Code and enable CHIP Logging: +`./scripts/examples/gn_efr32_example.sh examples/lock-app/efr32 out/wf200_lock_app BRD4161A is_debug=false show_qr_code=false --wifi wf200 |& tee out/wf200_lock.log` + +### 11. MG24 device sometimes loses its connection to Ozone during OTA Update with RS9116: + +While performing an OTA Update with the EFR32MG24 + RS9116 device combination, when the device is reset and bootloading begins with the new image, the Ozone Debugger sometimes loses its connection. - If you disabled QR Codes, you may use the CHIP Tool for commissioning the device. +There are two possible workarounds to this: + +1. Immediately re-attach the device to the console when the connection is lost. + +2. Download the RTT Viewer application instead and use it to view the logs during OTA Update. + +### 12. MG24 device sometimes fails to bootload with the new image during OTA Update with WF200: + +While performing an OTA Update with the EFR32MG24 + WF200 device combination using the external flash, when the device is reset and bootloading begins with the new image, the device sometimes starts up +with the existing image instead of the newly downloaded one. + +When this happens, perform the following steps to run the OTA Update successfully: + +1. Disconnect the WF200 Expansion Board from the EFR32MG24. + +2. Go To the Simplicity Commander's folder path in the command prompt and run the command below: +```shell +commander.exe extflash read --range 0x00:+ +``` - If you disabled the LCD and need to debug with QR Codes, the URL to display the QR Code will be printed in the device logs. +3. Reconnect the WF200 Expansion Board to the EFR32MG24 and reset the device. - Disable LCD and enable CHIP Logging: - `./scripts/examples/gn_efr32_example.sh examples/lock-app/efr32 out/wf200_lock_app BRD4161A is_debug=false disable_lcd=true --wifi wf200 |& tee out/wf200_lock_app.log` +4. Re-run the OTA Update process from the beginning. - Disable QR Code and enable CHIP Logging: - `./scripts/examples/gn_efr32_example.sh examples/lock-app/efr32 out/wf200_lock_app BRD4161A is_debug=false show_qr_code=false --wifi wf200 |& tee out/wf200_lock.log` --- diff --git a/docs/silabs/wifi/RUN_DEMO.md b/docs/silabs/wifi/RUN_DEMO.md index 95608de235a027..c7a9f053efec1b 100644 --- a/docs/silabs/wifi/RUN_DEMO.md +++ b/docs/silabs/wifi/RUN_DEMO.md @@ -1,6 +1,6 @@ -# Running the Matter Demo over Wi-fi +# Running the Matter Demo over Wi-Fi on EFR32 device -## Flashing images/binaries on MG12, MG24 platform using Ozone, Simplicity Studio or Simplicity Commander. +## Flashing Images/Binaries on EFR32MG24 Platform using Ozone, Simplicity Studio, or Simplicity Commander > Note: If you are coming from Simplicity Studio, you may have already installed > the demo image in Simplicity Studio, in which case you can skip to the @@ -19,7 +19,7 @@ 1. Click the three-dots on the 'Device' tab and select 'Manufacturer' as '`Silicon Labs`' - 2. Select 'Device' as '`EFR32MG12PxxxF1024`' or `EFR32MG24Bxxx1536` + 2. Select 'Device' as `EFR32MG24Bxxx1536` depending on the device you are using. 3. Click 'OK' 4. The 'Register set' tab will get filled automatically @@ -41,8 +41,8 @@ through 'Browse', select the file named `chip-efr32-lighting-example.out` and click 'Next'. This is the image built in previous step. - > Note that you may be using a different board like the BRD4163A, BRD4164A, - > BRD4186C, or BRD4187C in which case your image will be in a directory + > Note that you may be using a different board like the + > BRD4186C or BRD4187C, in which case your image will be in a directory > corresponding to that board identifier. 8. Make sure the next screen has 'Initial PC' selected as 'ELF Entry Point' - @@ -53,7 +53,7 @@ 9. Select 'Download and Reset Program' in the dropdown next to the Power button on the top left of the page - > The Silabs chip, EFR32MG12 or EFR32MG24 will be erased and programmed + > The Silabs chip, EFR32MG24, will be erased and programmed 10. Run the image by clicking the 'Play' button on the top left (or press the F5 key) @@ -68,7 +68,7 @@ > following commands will provide you with a serial console of the EFR32 ```shell - $ konsole -e JLinkExe -device EFR32MG12PXXXF1024 -if JTAG -speed 4000 -autoconnect 1 & + $ konsole -e JLinkExe -device EFR32MG24Bxxx1536 -if JTAG -speed 4000 -autoconnect 1 & ``` > (Put it in the background) @@ -106,12 +106,12 @@ > '\$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: +3. To turn **on** the LED on the EFR32MG24: ```shell $ out/standalone/chip-tool onoff on 1122 1 ``` -4. To turn **off** the LED on the EFR32MG12 or EFR32MG24: +4. To turn **off** the LED on the EFR32MG24: ```shell $ out/standalone/chip-tool onoff off 1122 1 @@ -135,15 +135,14 @@ need to unplug the Ethernet connection and try running the chip-tool as in step 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. After a factory reset, BTN0 needs to be pressed again to view the QR Code. +on EFR32MG24 for about 6-7 seconds. The LED0 will flash 3 times. The commissioning command mentioned above does the following: - 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. +- The Silicon Labs device will join the Wi-Fi network and get an IP address. It then starts providing mDNS records on IPv4 and IPv6 - chip-tool then locates the device over Wi-Fi and establishes operational certificates diff --git a/docs/silabs/wifi/RUN_DEMO_SiWx917_SoC.md b/docs/silabs/wifi/RUN_DEMO_SiWx917_SoC.md new file mode 100644 index 00000000000000..7e9a90a3a511ac --- /dev/null +++ b/docs/silabs/wifi/RUN_DEMO_SiWx917_SoC.md @@ -0,0 +1,116 @@ +# Running the Matter Demo over Wi-Fi for SiWx917 SoC + +## Flashing Images/Binaries on the SiWx917 SoC platform using Ozone + +> **Note:** +> 1. SiWx917 SoC device support is not yet available in Simplicity Studio and Commander. +> 2. Official support for SiWx917 SoC device is not yet available in the Ozone Debugger, but can be configured - [Ozone Environment Setup for SiWx917 SoC](SiWx917_Enablement_For_Ozone.md). +> 3. 917 SoC switch positions: Left switch should be on the **OFF/LOW**, and right switch should be on the **NORMAL** side. + +1. Plug the WSTK and SiWx917 radio board into the laptop. + +![SiWx917 soc Device](./images/SiWx917_Radio_WSTK.png) + +2. Launch the Ozone Debugger (Recommended version: 3.26). + +3. In the **New Project Wizard**: + + - Click the three dots (`...`) on the **Device** tab and select the **Manufacturer** as `Silicon Labs`. + - Select the **Device** as `Si917DualFlash`. + - Click **OK**. + - The **Register set** tab is populated automatically. + +> **Note:** Entering data in the **Peripherals** tab is optional. + +4. Click **Next**. A window will be displayed showing the following: + + - Serial Number: Read from device + - Target Interface: JTAG + - Speed: 4MHz + - Host Interface: USB + - One Product in the **Emulators connected via USB** tab + +5. Select the Product shown in the **Emulators connected via USB** tab and click **Next**. + +6. Click the detected **Silicon Labs device** that gets displayed and click **Next**. + +7. Click the three dots (`...`) on that tab, select **Browse** and choose the `*.out` image you wish to flash and run. Click **Next**. + +> **Note**: The image you select will be the one built using the instructions on the [Building a Matter Wi-Fi End Device page](./SW_SETUP.md). + +8. Make sure the next screen has **Initial PC** selected as `Read from Base Address Vector Table` and click **Finish**. + +9. A Diagnostics Warning may be displayed about FreeRTOS being detected. Click **Continue**. + +10. Select **Download and Reset Program** in the dropdown next to the **Power** button on the top-left hand corner of the page. + +11. The SiWx917 SoC device will be erased and programmed. + +12. Click **Reset Program to main (F4)** next to the **Play/Pause** button on the top-left hand corner of the page. + +> **Note**: This will reset the MCU after flashing the application. + +13. Run the image by clicking the **Resume/Halt** button on the top-left hand corner of the page (or press the **F5** key). + +> **Note:** +> 1. The output of the SiWX917 SoC application will be displayed on the Ozone terminal or J-Link RTT Client. +> 2. The RTT Client is provided with Ozone and does not have to be downloaded separately. + + +## Demo Execution - Commissioning a SiWx917 SoC Device using chip-tool for Linux + +> **Note**: 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: + + ```shell + $ cd $MATTER_WORKDIR/matter + ``` + + ### Commissioning Command: + + ```shell + $ out/standalone/chip-tool pairing ble-wifi 1122 $SSID $PSK 20202021 3840 + ``` + +> **Note:** +> 1. The Node ID used here is `1122`. This will be used in future commands. +> 2. The below given steps (3, 4, 5) are for Lighting-app, use app specific commands if you are using any other application. + +3. To turn **on** the LED on the SiWx917: + ```shell + $ out/standalone/chip-tool onoff on 1122 1 + ``` + +4. To turn **off** the LED on the SiWx917: + ```shell + $ out/standalone/chip-tool onoff off 1122 1 + ``` + +5. The updated **on/off** state may be verified with the following command: + ```shell + $ out/standalone/chip-tool onoff read on-off 1122 1 + ``` + +If you are having difficulty getting the chip-tool to commission the device +successfully, refer to the troubleshooting information on the +[Running the Matter Demos over Wi-Fi on EFR32 hosts page](./RUN_DEMO.md). + +As the device remembers the Access Point credentials given for commissioning, if +you want to run the demo multiple times, do a [Factory Reset](./SiWx917SoC_Factory_Reset.md). + +The commissioning command mentioned above does the following: + +- 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 IP address. +It then starts providing mDNS records on IPv4 and IPv6 +- chip-tool then locates the device over Wi-Fi and establishes operational certificates +- Future communications (tests) will then happen over Wi-Fi + +--- + +[Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | +[Wi-Fi Demo](./DEMO_OVERVIEW.md) diff --git a/docs/silabs/wifi/SW_SETUP.md b/docs/silabs/wifi/SW_SETUP.md index 93bc35f190c600..4dcf8712005559 100644 --- a/docs/silabs/wifi/SW_SETUP.md +++ b/docs/silabs/wifi/SW_SETUP.md @@ -1,18 +1,5 @@ # Software Setup and Preliminaries -## Using the Matter Accessory Device (MAD) Pre-Built Binaries - -If you are just running the Matter demo, and are not interested in building the -Matter Accessory Device images from scratch, you can download the MAD images for -Wi-Fi from this software release on the -[Matter Artifacts Page](../general/ARTIFACTS.md) - -Once you have downloaded the image you require for your device, you can skip -forward to the [Running the Matter Demo over Wi-Fi page](./RUN_DEMO.md) - -If you are planning to build the Wi-Fi images from scratch, -continue with this documentation. - ## Software Setup If you have not downloaded or cloned this repository, you can run the following @@ -53,15 +40,43 @@ access to a Raspberry Pi that will work as well. This will build chip-tool in `out/standalone`. +## Using the Matter Accessory Device (MAD) Pre-Built Binaries + +If you are just running the Matter demo, and are not interested in building the +Matter Accessory Device images from scratch, you can download the MAD images for +Wi-Fi from this software release on the +[Matter Artifacts Page](../general/ARTIFACTS.md) + +> **Note:** A pre-built image is not available for SiWx917 in SoC mode. It must be built from scratch in this release. +> Pre-built images will be provided in the next release. + +Once you have downloaded the image you require for your device, you can skip +forward to the instructions for running the demo. + + - **For EFR32MG24 host processors** + + - [Running the Matter Demo for EFR32 device over Wi-Fi page](./RUN_DEMO.md) + + - **For SiWx917 SoC processor** + + - [Running the Matter Demo for SiWx917 SoC device over Wi-Fi page](./RUN_DEMO_SiWx917_SoC.md) + +If you are planning to build the Wi-Fi images from scratch, +continue with this documentation. + ## Building the Matter Application The following commands are for building the Matter application. Depending on which device you are using, select the appropriate command to build. -> **Note:** -> The following build commands are for the `lighting-app` application. In order to build different applications, for example `lock-app`, `window-app` or `thermostat`, substitute the appropriate application name. -> Additional examples are provided in the [/examples](../../../examples/) directory, -or [/silabs_examples](../../../silabs_examples/) (such as `onoff-plug-app`). +> **Note:** +> 1. The build commands given below are for the following applications: `lighting-app`, `lock-app`, `light-switch-app`, `window-app` +> 2. In order to build applications other than those mentioned in # 1, (such as `thermostat-app`), substitute the appropriate application name & +substitute `/silabs/efr32/` with `/efr32/` after the application name. +> 3. Additional examples (such as `onoff-plug-app`) are provided in the [/examples](../../../examples/) or [/silabs_examples](../../../silabs_examples/) directory. +> 4. In order to build applications from [/silabs_examples](../../../silabs_examples/) (such as `onoff-plug-app`), substitute `examples` with `silabs_examples`. +> 5. To build for EFR32MG24 host processors, substitute `BRD41xxx` in the build command with the appropriate MG24 board number +from the [Hardware Requirements Page](../general/HARDWARE_REQUIREMENTS.md). Run the following: @@ -70,38 +85,36 @@ $ cd matter $ ``` -Build command for EFR32MG12 + RS9116: - -```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: - -```shell -$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32 out/wf200_lighting_app BRD41xxx is_debug=false chip_logging=false --wifi wf200 |& tee out/wf200_lighting.log -``` - > **Note:** The image size currently exceeds the available flash with CHIP logging enabled. Build command for EFR32MG24 + RS9116: ```shell -$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi rs911x |& tee out/rs911x_lighting.log +$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/silabs/efr32 out/rs911x_lighting BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi rs9116 |& tee out/rs911x_lighting.log ``` Build command for EFR32MG24 + SiWx917: ```shell -$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi rs911x |& tee out/siwx917_lighting.log +$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/silabs/efr32 out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi SiWx917 |& tee out/siwx917_lighting.log ``` Build command for EFR32MG24 + WF200: ```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 |& tee out/wf200_lighting.log +$ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/silabs/efr32 out/wf200_lighting BRD41xxx chip_build_libshell=false --wifi wf200 |& tee out/wf200_lighting.log ``` +Build command for SiWx917 SoC processor: + +```shell +./scripts/examples/gn_efr32_example.sh examples/lighting-app/silabs/SiWx917 out/SiWx917_lighting BRD4325B --wifi SiWx917 |& tee out/rs911x_lighting.out +``` +> **Note:** +> 1. LED and button features are enabled for SiWx917 SoC. +> 2. LCD and QR code features are not enabled for SiWx917 SoC. +> 3. Before building for SiWx917 SoC, you must first obtain the WiseMCU Combo SDK package and install it. See the [Software Requirements page](../general/SOFTWARE_REQUIREMENTS.md). + A complete list of hardware supported is included on the [Hardware Requirements page](../general/HARDWARE_REQUIREMENTS.md). Enable or disable the lighting application's features using the following flags. @@ -109,7 +122,7 @@ Enable or disable the lighting application's features using the following flags. 1. `rs91x_wpa3_only` : Use this flag while building to enable wpa3 mode in rs91x wifi chip. ```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 + $ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx rs91x_wpa3_only=true --wifi rs9116 |& tee out/rs911x_lighting.log ``` > **Note:** @@ -119,12 +132,12 @@ Enable or disable the lighting application's features using the following flags. 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 + $ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx segger_rtt_buffer_size_up=2068 --wifi rs9116 |& 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 + $ ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx show_qr_code=false --wifi rs9116 |& tee out/rs911x_lighting.log ``` > **Note:** > 1. QR code is enabled by default for all except MG24 @@ -133,16 +146,19 @@ Enable or disable the lighting application's features using the following flags. 4. `chip_enable_wifi_ipv4` : Use this flag while building to enable IPV4 (disabled by default). ```shell - ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx chip_enable_wifi_ipv4=true --wifi rs911x |& tee out/rs911x_lighting.log + ./scripts/examples/gn_efr32_example.sh examples/lighting-app/efr32/ out/rs911x_lighting BRD41xxx chip_enable_wifi_ipv4=true --wifi rs9116 |& tee out/rs911x_lighting.log ``` 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 see -[Flashing a Silicon Labs Device](../general/FLASH_SILABS_DEVICE.md) +This is what you will flash onto the EFR32 device or SiWx917 SoC device. For more information on flashing: + +- Flashing the EFR32 + - [Flashing a Silicon Labs Device](../general/FLASH_SILABS_DEVICE.md) +- Flashing the SiWx917 + - [Flashing the SiWX917 SoC Device](../general/FLASH_SILABS_SiWx917_SOC_DEVICE.md) **[Optional:** Increasing stack size **]** @@ -152,7 +168,5 @@ Navigate to \``configMINIMAL_STACK_SIZE`\`, and change the macro value from `140` to **`320`**. -
- [Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | [Wi-Fi Demo](./DEMO_OVERVIEW.md) diff --git a/docs/silabs/wifi/SiWx917SoC_Factory_Reset.md b/docs/silabs/wifi/SiWx917SoC_Factory_Reset.md new file mode 100644 index 00000000000000..a80f0514a1a9f4 --- /dev/null +++ b/docs/silabs/wifi/SiWx917SoC_Factory_Reset.md @@ -0,0 +1,14 @@ +# SiWx917 SoC Factory Reset + +1. Press the BTN0 on WSTK for about 6-7 seconds. The LED0 will flash 5 times. + +2. You will get "Target Connection Lost" pop-up on Ozone, click **YES**. + ![Silicon Labs - SiWx917 SoC Ozone Target Connection Lost](./images/SiWx917_SoC_TargetConnectionLost.png) + +3. Select **Attach to Running Program** in the dropdown next to the **Power** button on the top-left hand corner of the page. + ![Silicon Labs - SiWx917 SoC Ozone Target Connection Lost](./images/SiWx917SoC_AttachToRunningProgram.png) + +--- + +[Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | +[Wi-Fi Demo](./DEMO_OVERVIEW.md) diff --git a/docs/silabs/wifi/SiWx917_Enablement_For_Ozone.md b/docs/silabs/wifi/SiWx917_Enablement_For_Ozone.md new file mode 100644 index 00000000000000..856211d36dbc57 --- /dev/null +++ b/docs/silabs/wifi/SiWx917_Enablement_For_Ozone.md @@ -0,0 +1,27 @@ +# Ozone Environment Setup for a SiWx917 SoC Device + +- Auto detection of SiWx917 SoC device in Ozone is not enabled. +- Follow the steps to manually configure the SiWx917 SoC with Ozone. + +## Steps to Configure the SiWx917 SoC on the Ozone Debugger + +1. Update the **JlinkDevices.xml** and **ELF** files found in the [Matter Artifacts page](../general/ARTIFACTS.md). + + - Download the **JLinkDevices.xml** file and copy it in your Ozone installation path - `C:\Program Files\SEGGER\Ozone`. + + - In your Ozone `Devices` folder - `C:\Program Files\SEGGER\Ozone\Devices` - create a sub-folder named `SiliconLabs` if it does not exist. + + - Download the **ELF** file (Flash driver) and copy it in the `SiliconLabs` folder - `C:\Program Files\SEGGER\Ozone\Devices\SiliconLabs`. + +2. Launch Ozone. The SiWx917 Dual Flash SoC device should be visible in the **Device** field's selection list. + +![Silicon Labs - SiWx917 SoC](./images/SiWx917_Target_Ozone.png) + +3. If the above steps are successful, you can download and flash the Matter application + + - [Flashing the Application with Ozone](./RUN_DEMO_SiWx917_SoC.md) + +--- + +[Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | +[Wi-Fi Demo](./DEMO_OVERVIEW.md) diff --git a/docs/silabs/wifi/SiWx917_SoC_FWUpdate.md b/docs/silabs/wifi/SiWx917_SoC_FWUpdate.md new file mode 100644 index 00000000000000..f56620d9f16d45 --- /dev/null +++ b/docs/silabs/wifi/SiWx917_SoC_FWUpdate.md @@ -0,0 +1,34 @@ +# Updating SiWx917 SoC Firmware + +## Steps to update the firmware on SiWx917 SoC radio board + +1. Connect power cable to radio board. + +2. Jumper should be connected. + +3. Switches: Left switch should be **ON/high**, and the right switch should be on the **ISP** side. + +![Silicon Labs - SiWx917 SoC RadioBoard](./images/SiWx917_SoC_RadioBoard.png) + +4. Open Tera term in windows PC and check for connected USB devices. + +5. Select JLink CDC UART Port and change baud rate to 921600 to increase speed. + +6. From terminal type "CTRL + |" for boot message "U", then type "U" for boot menu, type "B", "0" to burn wireless / "4", "1" to burn MCU firmware, and give (Ctrl + \ + c) to exit from kermit. + +![Silicon Labs - SiWx917 FW Flash Options](./images/SiWx917_SoC_FWFlashOption.png) + +7. From terminal, go to Transfer->Kermit→Send and select *.rps file to load. + +![Silicon Labs - SiWx917 FW send](./images/SiWx917_SoC_Kermit.png) + +8. Once the image transfer is complete, type "c" to continue to check the upgrade sequence, once the upgrade is successful , Enter "1" for the Enter next command , once text "Loading..." appears type (Ctrl + \ + c) to exit from Kermit and "q" to quit and return to the terminal. + +9. Reset both the buttons to Off/Low state. + +10. Flash and run the application - [Running the Matter Demo on SiWx917 SoC](RUN_DEMO_SiWx917_SoC.md). + +--- + +[Table of Contents](../README.md) | [Thread Demo](../thread/DEMO_OVERVIEW.md) | +[Wi-Fi Demo](./DEMO_OVERVIEW.md) diff --git a/docs/silabs/wifi/images/SiWx917SoC_AttachToRunningProgram.png b/docs/silabs/wifi/images/SiWx917SoC_AttachToRunningProgram.png new file mode 100644 index 00000000000000..ff0ca2377fb0d4 Binary files /dev/null and b/docs/silabs/wifi/images/SiWx917SoC_AttachToRunningProgram.png differ diff --git a/docs/silabs/wifi/images/SiWx917_Radio_WSTK.png b/docs/silabs/wifi/images/SiWx917_Radio_WSTK.png new file mode 100644 index 00000000000000..52c10c5678215f Binary files /dev/null and b/docs/silabs/wifi/images/SiWx917_Radio_WSTK.png differ diff --git a/docs/silabs/wifi/images/SiWx917_SoC_FWFlashOption.png b/docs/silabs/wifi/images/SiWx917_SoC_FWFlashOption.png new file mode 100644 index 00000000000000..5962cd465227bf Binary files /dev/null and b/docs/silabs/wifi/images/SiWx917_SoC_FWFlashOption.png differ diff --git a/docs/silabs/wifi/images/SiWx917_SoC_Kermit.png b/docs/silabs/wifi/images/SiWx917_SoC_Kermit.png new file mode 100644 index 00000000000000..be4bb15892889f Binary files /dev/null and b/docs/silabs/wifi/images/SiWx917_SoC_Kermit.png differ diff --git a/docs/silabs/wifi/images/SiWx917_SoC_RadioBoard.png b/docs/silabs/wifi/images/SiWx917_SoC_RadioBoard.png new file mode 100644 index 00000000000000..82be950337fc2d Binary files /dev/null and b/docs/silabs/wifi/images/SiWx917_SoC_RadioBoard.png differ diff --git a/docs/silabs/wifi/images/SiWx917_SoC_TargetConnectionLost.png b/docs/silabs/wifi/images/SiWx917_SoC_TargetConnectionLost.png new file mode 100644 index 00000000000000..44147b4e0e295d Binary files /dev/null and b/docs/silabs/wifi/images/SiWx917_SoC_TargetConnectionLost.png differ diff --git a/docs/silabs/wifi/images/SiWx917_Target_Ozone.png b/docs/silabs/wifi/images/SiWx917_Target_Ozone.png new file mode 100644 index 00000000000000..aecc952b19292f Binary files /dev/null and b/docs/silabs/wifi/images/SiWx917_Target_Ozone.png differ diff --git a/silabs_examples/unify-matter-bridge/readme_user.md b/silabs_examples/unify-matter-bridge/readme_user.md index f46c1a2235a541..7dc54d94915549 100644 --- a/silabs_examples/unify-matter-bridge/readme_user.md +++ b/silabs_examples/unify-matter-bridge/readme_user.md @@ -40,8 +40,10 @@ the 64-bit version of Raspberry Pi OS Bullseye. - [Using the chip-tool to Commission](#using-the-chip-tool-to-commission) - [Toggle an OnOff device](#toggle-an-onoff-device) - [Toggle a Group of OnOff Devices](#toggle-a-group-of-onoff-devices) - - [Running the matter bridge in none specification compliant mode](#running-the-matter-bridge-in-none-specification-compliant-mode) + - [Running the matter bridge in strict device mapping mode](#running-the-matter-bridge-in-strict-device-mapping-mode) - [Command Line Arguments](#command-line-arguments) + - [Running chip-tool tests on Unify Matter Bridge endpoints](#running-chip-tool-tests-on-unify-matter-bridge-endpoints) + - [Troubleshooting](#troubleshooting) ## Running the Matter Bridge @@ -125,15 +127,20 @@ The commissioning procedure requires use of a pairing code. This pairing code is written to the console when running the Matter Bridge. Look for something similar to '`MT:-24J029Q00KA0648G00`', used as the pairing code in the following example. This code can be used when commissioning with the CLI commissioning -tool `chip-tool`. - +tool `chip-tool`. ```bash [1659615301.367669][1967:1967] CHIP:SVR: SetupQRCode: [MT:-24J029Q00KA0648G00] ``` -A simpler, more user-friendly way of commissioning is to use the Google Home App -with a QR code containing the pairing code. The QR code can be obtained by -following the link seen in the console, similar to the line below: +Additionally the pairing code will be published on the MQTT Broker on the topic +ucl/SmartStart/CommissionableDevice/MT:-24J029Q00KA0648G00. The Unify Developer +GUI has a page which display the QRCodes of all comissionable bridge which are +connected to the broker, ready to be scaned with a Google Home App or similar. + +Another way to get the QR code is to look for an url in the console log similar +to and copy the link into a browser. Note that two codes a printed at startup +one for _Standard Comissioning flow_ and one for custom comissioning flow. +Be sure to use the standard flow with Eco system devices. ```bash [1659615301.367723][1967:1967] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J029Q00KA0648G00