blob: cded4323ec9240bb3b7f083cca13ab3ff294852f [file] [log] [blame]
# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default
name: 80.3.3. [TC-MOD-3.3] OTA Mode Verification (DUT as Server)
PICS:
- MOD.S.A0004
config:
nodeId: 0x12344321
cluster: "Basic Information"
endpoint: 0
tests:
- label: "Note"
verification: |
1.To run this test case build the OTA Provider app to be build in the nRF Environment setup . Follow this step to setup the nRF build environment using container.
https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/nrfconnect#using-docker-container-for-setup
Once the build environmnet is ready , build teh OTA-Provider-App inside the container. Follow the below link to build the OTA-Provider app
https://github.com/project-chip/connectedhomeip/tree/master/examples/ota-provider-app/linux
2. Build all-cluster-app in docker or Flash the pre-built folder from the delivered image
To build maually and flash follow steps explained in:
https://github.com/project-chip/connectedhomeip/tree/master/examples/all-clusters-app/nrfconnect#building
west build -b nrf52840dk_nrf52840 -- -DCONF_FILE=prj_dfu.conf -DCONFIG_CHIP_LIB_SHELL=y
3.Flash
west flash --erase
4.OTA Image needs to build on the docker environment as like in the first step inside the all-clusters-app folder. Refer the below link to build the OTA image with new version.
https://github.com/project-chip/connectedhomeip/tree/master/examples/ota-requestor-app/linux#ota-requestor-app-linux
To build the ota image with new version for nRF, use the following command inside the all-clusters-app folder , which will build matter.ota
west build -b nrf52840dk_nrf52840 -d build2 -- -DCONFIG_CHIP_DEVICE_SOFTWARE_VERSION=2 -DCONF_FILE=prj_dfu.conf -DCONFIG_CHIP_LIB_SHELL=y
disabled: true
- label: "Precondition"
verification: |
This test case is verified after the device is provisioned. Pls provision device first, Pass appropriate nodeID in the below command
disabled: true
- label: "TH reads the StartUpMode attribute from the DUT"
PICS: MOD.S.A0004
verification: |
./chip-tool modeselect read start-up-mode 1 1
on TH(chip-tool) log verify for StartUpMode. Record this value for usage in step 2b and below is the sample log provided for the raspi platform:
[1645778279.693082][4898:4903] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0003DataVersion: 3781469722
[1645778279.693151][4898:4903] CHIP:TOO: StartUpMode: 0
disabled: true
- label: "TH reads the CurrentMode attribute from the DUT"
PICS: MOD.S.A0003
verification: |
./chip-tool modeselect read current-mode 1 1
on TH(chip-tool) log verify for CurrentMode. Record this value for usage in step 2b and 3 and below is the sample log provided for the raspi platform:
[1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469721
[1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 0
disabled: true
- label:
"If the StartUpMode and CurrentMode attributes have the same value,
proceed to step 2c, Otherwise proceed to step 3a."
PICS: MOD.S.A0003 && MOD.S.A0004
verification: |
NOTE:
If the StartUpMode and CurrentMode attributes have the same value, proceed to step 2c, Otherwise proceed to step 3a.
disabled: true
- label: "TH reads the SupportedModes attribute from the DUT"
PICS: MOD.S.A0002
verification: |
./chip-tool modeselect read supported-modes 1 1
on TH(chip-tool) log verify for SupportedModes. Record the mode for usage in step 2b and below is the sample log provided for the raspi platform:
[1654595268.854568][14400:14405] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0002 DataVersion: 366231602
[1654595268.854678][14400:14405] CHIP:TOO: SupportedModes: 3 entries
[1654595268.854743][14400:14405] CHIP:TOO: [1]: {
[1654595268.854772][14400:14405] CHIP:TOO: Label: Black
[1654595268.854811][14400:14405] CHIP:TOO: Mode: 0
[1654595268.854843][14400:14405] CHIP:TOO: SemanticTags: 1 entries
[1654595268.854891][14400:14405] CHIP:TOO: [1]: {
[1654595268.854918][14400:14405] CHIP:TOO: MfgCode: 0
[1654595268.854945][14400:14405] CHIP:TOO: Value: 0
[1654595268.854971][14400:14405] CHIP:TOO: }
[1654595268.855000][14400:14405] CHIP:TOO: }
[1654595268.855038][14400:14405] CHIP:TOO: [2]: {
[1654595268.855064][14400:14405] CHIP:TOO: Label: Cappuccino
[1654595268.855089][14400:14405] CHIP:TOO: Mode: 4
[1654595268.855117][14400:14405] CHIP:TOO: SemanticTags: 1 entries
[1654595268.855149][14400:14405] CHIP:TOO: [1]: {
[1654595268.855175][14400:14405] CHIP:TOO: MfgCode: 0
[1654595268.855199][14400:14405] CHIP:TOO: Value: 0
[1654595268.855223][14400:14405] CHIP:TOO: }
[1654595268.855249][14400:14405] CHIP:TOO: }
[1654595268.855284][14400:14405] CHIP:TOO: [3]: {
[1654595268.855310][14400:14405] CHIP:TOO: Label: Espresso
[1654595268.855332][14400:14405] CHIP:TOO: Mode: 7
[1654595268.855360][14400:14405] CHIP:TOO: SemanticTags: 1 entries
[1654595268.855390][14400:14405] CHIP:TOO: [1]: {
[1654595268.855416][14400:14405] CHIP:TOO: MfgCode: 0
[1654595268.855440][14400:14405] CHIP:TOO: Value: 0
[1654595268.855464][14400:14405] CHIP:TOO: }
[1654595268.855490][14400:14405] CHIP:TOO: }
[1649677252.376226][10804:10809] CHIP:TOO: SemanticTag: 0
[1649677252.376252][10804:10809] CHIP:TOO: }
disabled: true
- label:
"Select a value from the list in step 2c with a different value than
the StartUpMode value read in step 1. TH sends a ChangeToMode command
to the DUT with the selected value."
PICS: MOD.S.A0002 && MOD.S.C00.Rsp
verification: |
./chip-tool modeselect change-to-mode 4 1 1
on TH(chip-tool) log verify that status has a value 0x00 (success) and below is the sample log provided for the raspi platform:
[1645778189.045030][4888:4893] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0050 Command=0x0000_0000 Status=0x0
disabled: true
- label:
"Perform an OTA update on the device that requires a reboot. Allow for
the DUT to update and fully reboot."
verification: |
To perform an OTA update on Thread device follow the cmmds below:
Step-1 : Where we builded OTA provider app execute this cmmd . (In my case I ran connectedhomeip/out/debug ./chip-otaprovider-app -f )
./chip-otaprovider-app -f ~/chip_repos/connectedhomeip/examples/all-clusters-app/nrfconnect/build2/zephyr/matter.ota
Ran on chip-tool:
Step-2: ./chip-tool pairing onnetwork 2 20202021
Step-3 : ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 1, "privilege": 3, "authMode": 2, "subjects": null, "targets": [{"cluster": 41, "endpoint": null, "deviceType": null}]}]' 2 0
Step-4: ./chip-tool otasoftwareupdaterequestor write default-otaproviders '[{"fabricIndex": 1, "providerNodeID": 2, "endpoint": 0}]' 1 0
Step-5: ./chip-tool otasoftwareupdaterequestor announce-otaprovider 2 0 0 0 1 0
disabled: true
- label: "TH reads the CurrentMode attribute from the DUT"
PICS: MOD.S.A0003
verification: |
./chip-tool modeselect read current-mode 1 1
on TH(chip-tool) log verify that CurrentMode is same as value recorded in step 2d and below is the sample log provided for the raspi platform:
[1645778146.171510][4876:4881] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_0000DataVersion: 3781469721
[1645778146.171602][4876:4881] CHIP:TOO: CurrentMode: 4
disabled: true