Skip to content

Commit

Permalink
Pull request project-chip#1560: [Documentation] MATTER-3043 SMG Relea…
Browse files Browse the repository at this point in the history
…se Documentation

Merge in WMN_TOOLS/matter from documentation/smg_release_2.3.0-1.3-alpha.2 to RC_2.3.0-1.3

Squashed commit of the following:

commit 57654c1e7894a1cc062caeec0963dc18f165d7e5
Author: Curtis Rahman <curtis.rahman@silabs.com>
Date:   Tue Feb 13 10:26:23 2024 -0500

    Addressed PR comments

commit ea2d2aa653bd027bb23b1362153e2a78c45b58ab
Author: Mathieu Kardous <Mathieu.Kardous@silabs.com>
Date:   Tue Feb 13 14:56:11 2024 +0000

    Applied suggestion

commit a263ddcccde41982506703ac4015e4766dc85553
Author: Mathieu Kardous <Mathieu.Kardous@silabs.com>
Date:   Tue Feb 13 14:56:01 2024 +0000

    Applied suggestion

... and 13 more commits
  • Loading branch information
CuRahman committed Feb 13, 2024
1 parent 17585c3 commit cc67048
Show file tree
Hide file tree
Showing 19 changed files with 233 additions and 125 deletions.
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ body:
- release_2.2.0-1.2-alpha.1
- release_2.2.0-1.2
- release_2.3.0-1.3-alpha.1
- release_2.3.0-1.3-alpha.2
validations:
required: true

Expand Down
1 change: 1 addition & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ body:
- release_2.2.0-1.2-alpha.1
- release_2.2.0-1.2
- release_2.3.0-1.3-alpha.1
- release_2.3.0-1.3-alpha.2
validations:
required: true

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ Device: SiWx917 SoC
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](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.1/thread/DEMO_OVERVIEW.html)
[Matter Thread](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.2/thread/DEMO_OVERVIEW.html)
- To get started with the Wi-Fi demo and development see
[Matter Wi-Fi](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.1/wifi/DEMO_OVERVIEW.html)
[Matter Wi-Fi](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.2/wifi/DEMO_OVERVIEW.html)

The full documentation set starts here:
[Silicon Labs Matter GitHub Documentation](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.1)
[Silicon Labs Matter GitHub Documentation](https://siliconlabs.github.io/matter/2.3.0-1.3-alpha.2)

---

Expand Down
7 changes: 7 additions & 0 deletions docs/silabs/NEW_FEATURES.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# Silicon Labs Matter New Features

## New Features for v2.3.0-1.3-alpha.2

- Update to use [Gecko SDK (GSDK) v4.4.1](https://docs.silabs.com/gecko-platform/4.4.1/platform-overview/)
- Update to use [WiSeConnect 3 SDK (WiFi SDK) v3.1.3](https://docs.silabs.com/wiseconnect/3.1.3/wiseconnect-developing-with-wiseconnect-sdk/)
- Enhanced 917 SoC OTA functionality
- Enhanced 917 SoC sleep functionality

## New Features for v2.3.0-1.3-alpha.1

- Update to use [Gecko SDK (GSDK) v4.4.0](https://docs.silabs.com/gecko-platform/4.4.0/platform-overview/)
Expand Down
4 changes: 2 additions & 2 deletions docs/silabs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
project = 'Matter'
copyright = 'Copyright © 2023 Silicon Laboratories. All rights reserved.'
author = 'Silicon Labs'
release = '2.3.0-1.3-alpha.1'
version = '2.3.0-1.3-alpha.1'
release = '2.3.0-1.3-alpha.2'
version = '2.3.0-1.3-alpha.2'


# -- General configuration ---------------------------------------------------
Expand Down
33 changes: 15 additions & 18 deletions docs/silabs/general/ARTIFACTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@
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. The majority of these artifacts can be found under the "Assets" section on the release page here:

https://github.com/SiliconLabs/matter/releases/tag/2.3.0-1.3-alpha.1

Images for the items listed below are available under the "Assets" section at the bottom of this page:

https://github.com/SiliconLabs/matter/releases/tag/2.3.0-1.3-alpha.1
https://github.com/SiliconLabs/matter/releases/tag/v2.3.0-1.3-alpha.2

## Matter Hub Raspberry Pi Image

Expand All @@ -17,23 +13,23 @@ 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_2.3.0-1.3-alpha.1.zip
https://www.silabs.com/documents/public/software/SilabsMatterPi_2.3.0-1.3-alpha.2.zip

## Radio Co-Processor (RCP) Images

The Radio Co-Processor firmware is used to turn an EFR into an RCP that can be
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 here:

https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/ot-rcp-binaries-2.3.0-1.3-alpha.1.zip
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/ot-rcp-binaries-2.3.0-1.3-alpha.2.zip

## Matter Accessory Device Images

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 here:

https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/matter-accessory-device-images_2.3.0-1.3-alpha.1.zip
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/matter-accessory-device-images_2.3.0-1.3-alpha.2.zip

For Matter over Thread, 3 different types of images are provided:

Expand All @@ -48,13 +44,12 @@ 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/download/v2.3.0-1.3-alpha.1/bootloader_binaries_2.3.0-1.3-alpha.1.zip
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/bootloader_binaries_2.3.0-1.3-alpha.2.zip

## RS9116 Firmware

The RS9116 firmware (rs9116_firmware_files_with_rev.zip) is used to update the RS9116 which can be found here:

https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/rs9116_firmware_files_with_rev_2.3.0-1.3-alpha.1.zip
The RS9116 firmware (rs9116_firmware_files_with_rev_2.3.0-1.3-alpha.2.zip) is used to update the RS9116 which can be found here:
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/rs9116_firmware_files_with_rev_2.3.0-1.3-alpha.2.zip

**Note**:
RS9116 chip/module needs to be flashed with proper firmware as mentioned below:
Expand All @@ -64,9 +59,9 @@ RS9116 chip/module needs to be flashed with proper firmware as mentioned below:

## SiWx917 Firmware for SiWx917 NCP

The SiWx917 firmware(SiWx917NCP_firmware_files.zip) is used to update the SiWx917 NCP which can be found here:
The SiWx917 firmware(SiWx917NCP_firmware_files_2.3.0-1.3-alpha.2.zip) is used to update the SiWx917 NCP which can be found here:

https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/SiWx917NCP_firmware_files_2.3.0-1.3-alpha.1.zip
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/SiWx917NCP_firmware_files_2.3.0-1.3-alpha.2.zip

**Note**:
SiWx917 NCP board need to be flashed with proper firmware as mentioned below:
Expand All @@ -76,9 +71,9 @@ SiWx917 NCP board need to be flashed with proper firmware as mentioned below:

## SiWx917 Firmware for SiWx917 SoC

The SiWx917 firmware (SiWx917SOC_firmware_files.zip) along with WiSeConnect 3 SDK is used to update the SiWx917 SoC which can be found here:
The SiWx917 firmware (SiWx917SOC_firmware_files_2.3.0-1.3-alpha.2.zip) along with WiSeConnect 3 SDK is used to update the SiWx917 SoC which can be found here:

https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/SiWx917SOC_firmware_files_2.3.0-1.3-alpha.1.zip
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/SiWx917SOC_firmware_files_2.3.0-1.3-alpha.2.zip

**Note**:
SiWx917 SoC boards need to be flashed with proper firmware as mentioned below:
Expand All @@ -90,5 +85,7 @@ SiWx917 SoC boards need to be flashed with proper firmware as mentioned below:
The **JLinkDevices.xml** and **ELF** files referenced in the instructions may be found
here:

https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/JLinkDevices.xml
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.1/RS9117_SF_4MB_42bsp.elf
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/JLinkDevices.xml
https://github.com/SiliconLabs/matter/releases/download/v2.3.0-1.3-alpha.2/RS9117_SF_4MB_42bsp.elf

**Note**:- For EFR32MG2x devices, JLink RTT Logging support is already available.
9 changes: 4 additions & 5 deletions docs/silabs/general/COMMIT_HASHES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ in this release of the Silicon Labs Matter Out of Box Experience

| Repo | Branch | Commit Hash |
| --------------------------------------- | ---------- | ---------------------------------------- |
| https://github.com/SiliconLabs/ot-efr32 | main | e75c767374a6a6fccd62f024c7217762ae652891 |
| https://github.com/SiliconLabs/ot-efr32 | main | 038475dcc21c51448d35309496a2f7401eb2ccfe |

## Openthread

Expand All @@ -26,17 +26,16 @@ in this release of the Silicon Labs Matter Out of Box Experience

| Repo | Branch | Commit Hash |
| ----------------------------------------------- | ------ | ---------------------------------------- |
| https://github.com/project-chip/connectedhomeip | master | c36f4a7745ac0092982933987c694a6b605de35d |
| https://github.com/project-chip/connectedhomeip | master | 42c44d544b059a8f0d9e3b86e9a1f6cc94cd0ea9 |

## Matter chip-tool

| Repo | Branch | Commit Hash |
| ----------------------------------------------- | ------------------------ | ----------------- |
| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.1 | 5ec4196cc41f03fdb89e916297176394ba20c086 |

| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.2 | 42c44d544b059a8f0d9e3b86e9a1f6cc94cd0ea9 |

## Matter Accessory Device (MAD)

| Repo | Branch | Commit Hash |
| ----------------------------------------------- | ------------------------ | ----------------------|
| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.1 | 5ec4196cc41f03fdb89e916297176394ba20c086 |
| https://github.com/SiliconLabs/matter | release_2.3.0-1.3-alpha.2 | 42c44d544b059a8f0d9e3b86e9a1f6cc94cd0ea9|
112 changes: 95 additions & 17 deletions docs/silabs/general/OTA_SOFTWARE_UPDATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,43 +65,46 @@ The chip-ota-provider-app binary for a Raspberry Pi is a part of the Artifacts p
- To Build OTA-Provider app for Linux Platform, run below command in the matter repository.

```shell
scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false
scripts/examples/gn_build_example.sh examples/ota-provider-app/linux out/debug chip_config_network_layer_ble=false
```

## Matter OTA Images
## Matter OTA Application Images
- To create and Build matter OTA from matter code, need two different applications to build mentioned below:
- OTA A
- OTA B

### Build OTA A Application
- Matter OTA-A Application will be used to flash on the matter device.
- In matter cloned directory run below commands to build an OTA A application.
```
For RS9116:

./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting_A BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi rs9116
For WF200
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_lighting_A BRD41xxx chip_build_libshell=false --wifi wf200
For SiWx917 NCP
For RS9116:
```
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs911x_lighting_A BRD41xxx disable_lcd=true use_external_flash=false chip_enable_ble_rs911x=true --wifi rs9116
```

./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi SiWx917
For WF200:
```
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_lighting_A BRD41xxx chip_build_libshell=false --wifi wf200
```

For SiWx917 SOC
For SiWx917 NCP:
```
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_lighting BRD41xxx disable_lcd=true use_external_flash=false --wifi SiWx917
```

./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/SiWx917_lighting BRD4388A
For SiWx917 SOC:
```
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/SiWx917_lighting BRD4388A
```

```
**Note:** Matter OTA-A application will be having software version as 1 by default in **third_party/silabs/BUILD.gn** file.

### Build OTA B Application
- Matter OTA-B application will be used to create gbl & OTA file.
- Open the file **third_party/silabs/BUILD.gn** from matter code cloned directory and modify **sl_matter_version = 1** to any number.

**Note:** Make sure always **sl_matter_version** should be greater than **sl_hardware_version**
- After Modifying software version build OTA B application using below commands for EFR boards
- After Modifying software version build OTA B application using below commands:

```
For RS9116:
Expand All @@ -124,10 +127,20 @@ For SiWx917 SOC

## Running the OTA Download Scenario

- Image will be created and uploaded onto Raspberry Pi which provides the firmware image chunk by chunk to the device.
- Host will initiate the OTA download and provider app will start the OTA image transfer.
- Host will receive combined image and host will transfer the firmware image on to the flash backup location chunk by chunk.
- Once image is downloaded, the device will reboot into the downloaded image.

### Creation of GBL and OTA Images

#### For EFR NCP Devices

- Create a bootable image file (using the Lighting application image as an
example):

```shell

```shell
commander gbl create chip-efr32-lighting-example.gbl --compress lzma --app chip-efr32-lighting-example.s37
```
**Note**:- Using LZMA compression when building the .gbl file ( passing `--compress lzma` parameter to the `commander gbl create` command) further reduces the downloaded image size.
Expand All @@ -137,6 +150,71 @@ For SiWx917 SOC
```shell
$ commander ota create --type matter --input chip-efr32-lighting-example.gbl --vendorid 0xFFF1 --productid 0x8005 --swstring "2.0" --swversion 2 --digest sha256 -o chip-efr32-lighting-example.ota
```
#### For SiWx917 SoC Devices

Storing a single Matter combined upgrade image(TA+M4) and transfer the image to the co-processor and rewrite the 917 firmware as well as M4 firmware Image then boot loading with the upgraded TA processor image and the M4 processor image.

Host will initiate OTA download to receive combined image (TA+M4) and store M4 and TA image on flash backup location.

##### Use Cases

- Combined image where TA and M4 images to be upgraded. M4 image also has the **sl_matter_version** modified with the latest version.
- Only M4 image to be upgraded. M4 image also has the **sl_matter_version** modified with the latest version.
- Only TA image to be upgraded. In this case, We need to have a M4 image with just **sl_matter_version** modified with the latest version. This would be similar to Combined image upgrade.

##### Creation of OTA Images

- The first step is to create a combined image that contains both the firmwares (TA & M4).
- This image is created by combining the binary images of both firmwares.
- For the Matter OTA file, create a bootable image file with the .rps format (using the Lighting application image as an example) and then create the Matter OTA file from the bootable image file using commands provided below.
- Once the .ota file is created, it will be uploaded onto the Raspberry Pi where the OTA provider application is running.

###### Generating The Combined OTA image

- Create TA  image (.rps) with combined image flag set by using command.

```shell
commander rps convert <ta_image_combined.rps> --taapp <ta_image.rps> --combinedimage
```

- Create M4 .rps file from .s37 using below command.

```shell
commander rps create <m4_image.rps> --app <m4_image.s37>
```

- Create M4 (.rps) with combined image flag set by using command.

```shell
commander rps convert <m4_image_combined.rps> --app <m4_image.rps> --combinedimage
```

- Create combined image from the above created TA and M4 images.

```shell
commander rps convert "combined_image.rps" --app "m4_image_combined.rps" --taapp "ta_image_combined.rps" 
```

- Create the Matter OTA file from the bootable image file.

```shell
./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn 2 -vs "2.0" -da sha256 combined_image.rps combined_image.ota
```
**Note:** For TA(alone) OTA firmware upgrade, follow the same steps as above.

###### Generating The M4 OTA image

- Create M4 (.s37) image to  (.rps) image using below command.

```shell
commander rps create <m4_image.rps> --app <m4_image.s37>
```

- Create the Matter OTA file from the bootable image file

```shell
./src/app/ota_image_tool.py create -v 0xFFF1 -p 0x8005 -vn 2 -vs "2.0" -da sha256 m4_image.rps m4_image.ota
```

### Running OTA Provider

Expand Down
4 changes: 2 additions & 2 deletions docs/silabs/thread/CHIP_TOOL.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,10 @@ $ mattertool levelcontrol read current-level 106 1
- ubuntu (you are here)
- connectedhomeip (git repo:
https://github.com/project-chip/connectedhomeip.git)
- .

- ot-br-posix (git repo:
https://github.com/openthread/ot-br-posix.git)
- .

- scripts (in-house scripts)
- configurations.sh
- matterTool.sh
Expand Down
14 changes: 9 additions & 5 deletions docs/silabs/wifi/BUILD_DIC.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,26 +18,30 @@
### Here is an example to build the lighting-app with DIC for the SiWx917 SoC
```shell
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD4325B enable_dic=true chip_enable_wifi_ipv4=true
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD4338A enable_dic=true chip_enable_wifi_ipv4=true
```

## Build command with DIC AWS OTA
- To enable DIC AWS OTA functionality use the `aws_sdk_ota=true` flag.

### Here is an example to build the lighting-app with DIC feature for the EFR32MG24 + 9116
### Here is an example to build the lighting-app with DIC AWS OTA feature for the EFR32MG24 + 9116
```shell
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/rs9116_DIC_light BRD418XX disable_lcd=true use_external_flash=false chip_enable_wifi_ipv4=true enable_dic=true aws_sdk_ota=true chip_enable_ble_rs911x=true --wifi rs9116
```
### Here is an example to build the lighting-app with DIC feature for the EFR32MG24 + WF200
### Here is an example to build the lighting-app with DIC AWS OTA feature for the EFR32MG24 + WF200
```shell
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/wf200_DIC_light BRD418XX chip_build_libshell=false chip_enable_wifi_ipv4=true enable_dic=true aws_sdk_ota=true --wifi wf200
```
### Here is an example to build the lighting-app with DIC for the EFR32MG24 + 917 NCP
### Here is an example to build the lighting-app with DIC AWS OTA feature for the EFR32MG24 + 917 NCP

```shell
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD418XX disable_lcd=true use_external_flash=false chip_enable_wifi_ipv4=true enable_dic=true aws_sdk_ota=true chip_enable_ble_rs911x=true --wifi SiWx917
```

### Here is an example to build the lighting-app with DIC AWS OTA feature for the SiWx917 SoC
```shell
./scripts/examples/gn_silabs_example.sh examples/lighting-app/silabs/ out/siwx917_DIC_light BRD4338A enable_dic=true chip_enable_wifi_ipv4=true aws_sdk_ota=true
```
## Compile using new/different certificates

- Two devices should not use the same Client ID. To use a different Client ID for your second connection do the following:
Expand Down
Loading

0 comments on commit cc67048

Please sign in to comment.