| # 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: 3.1.2. [TC-IDM-1.2] Invoke Response Action from DUT to TH - [{DUT_Server}] |
| |
| PICS: |
| - MCORE.IDM.S |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Basic Information" |
| endpoint: 0 |
| |
| tests: |
| - label: |
| "TH sends the Invoke Request Message to the DUT with the path that |
| indicates a specific endpoint that is unsupported." |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| |
| ./chip-tool onoff on 1 20 |
| |
| On TH(chip-tool), verify DUT responds as unsuppported endpoint for the data sent in the above command |
| |
| [1655718065.882392][4587:4592] CHIP:DMG: Received Command Response Status for Endpoint=20 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7f |
| [1655718065.882440][4587:4592] CHIP:TOO: Error: IM Error 0x0000057F: General error: 0x7f (UNSUPPORTED_ENDPOINT) |
| [1655718065.882491][4587:4592] CHIP:DMG: ICR moving to [AwaitingDe] |
| disabled: true |
| |
| - label: |
| "TH sends the Invoke Request Message to the DUT with the path that |
| indicates a specific cluster that is unsupported." |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| ./chip-tool any command-by-id 0x0003 0 1 1 2 |
| |
| On TH(chip-tool), verify DUT responds as unsuppported cluster for the data sent in the above command |
| |
| [1655718144.692503][4602:4607] CHIP:DMG: Received Command Response Status for Endpoint=2 Cluster=0x0000_0003 Command=0x0000_0000 Status=0xc3 |
| [1655718144.692570][4602:4607] CHIP:TOO: Error: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER) |
| [1655718144.692627][4602:4607] CHIP:DMG: ICR moving to [AwaitingDe] |
| disabled: true |
| |
| - label: |
| "TH sends the Invoke Request Message to the DUT with the path that |
| indicates a specific command that is unsupported." |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| |
| ./chip-tool any command-by-id 0x0003 3 1 1 0 |
| |
| On TH(chip-tool), verify DUT responds as unsuppported command for the data sent in the above command |
| |
| [1654076838.936184][13752:13757] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0003 Command=0x0000_0003 Status=0x81 |
| [1654076838.936215][13752:13757] CHIP:TOO: Error: IM Error 0x00000581: General error: 0x81 (UNSUPPORTED_COMMAND) |
| [1654076838.936258][13752:13757] CHIP:DMG: ICR moving to [AwaitingDe] |
| disabled: true |
| |
| - label: |
| "Setup the TH such that it should not have the privilege for the |
| cluster in the path. TH sends the Invoke Request Message to the DUT |
| with a valid CommandDataIB" |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| |
| To Setup the TH(chip-tool) such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command. Here by sending below mentioned ACL command giving only access for ACL cluster(31), So except ACL cluster command if user try to send any other command will get status as unsupported access |
| ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects":[1,112233], "targets": [{ "cluster":31, "endpoint":0, "deviceType":null }]}]' 1 0 |
| [1659419722.669629][1915:1920] CHIP:DMG: WriteResponseMessage = |
| [1659419722.669657][1915:1920] CHIP:DMG: { |
| [1659419722.669687][1915:1920] CHIP:DMG: AttributeStatusIBs = |
| [1659419722.669727][1915:1920] CHIP:DMG: [ |
| [1659419722.669758][1915:1920] CHIP:DMG: AttributeStatusIB = |
| [1659419722.669796][1915:1920] CHIP:DMG: { |
| [1659419722.669833][1915:1920] CHIP:DMG: AttributePathIB = |
| [1659419722.669871][1915:1920] CHIP:DMG: { |
| [1659419722.669912][1915:1920] CHIP:DMG: Endpoint = 0x0, |
| [1659419722.669953][1915:1920] CHIP:DMG: Cluster = 0x1f, |
| [1659419722.669993][1915:1920] CHIP:DMG: Attribute = 0x0000_0000, |
| [1659419722.670034][1915:1920] CHIP:DMG: } |
| [1659419722.670077][1915:1920] CHIP:DMG: |
| [1659419722.670114][1915:1920] CHIP:DMG: StatusIB = |
| [1659419722.670153][1915:1920] CHIP:DMG: { |
| [1659419722.670191][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1659419722.670229][1915:1920] CHIP:DMG: }, |
| [1659419722.670266][1915:1920] CHIP:DMG: |
| [1659419722.670300][1915:1920] CHIP:DMG: }, |
| [1659419722.670343][1915:1920] CHIP:DMG: |
| [1659419722.670373][1915:1920] CHIP:DMG: AttributeStatusIB = |
| [1659419722.670405][1915:1920] CHIP:DMG: { |
| [1659419722.670436][1915:1920] CHIP:DMG: AttributePathIB = |
| [1659419722.670471][1915:1920] CHIP:DMG: { |
| [1659419722.670510][1915:1920] CHIP:DMG: Endpoint = 0x0, |
| [1659419722.670550][1915:1920] CHIP:DMG: Cluster = 0x1f, |
| [1659419722.670590][1915:1920] CHIP:DMG: Attribute = 0x0000_0000, |
| [1659419722.670661][1915:1920] CHIP:DMG: ListIndex = Null, |
| [1659419722.670700][1915:1920] CHIP:DMG: } |
| [1659419722.670740][1915:1920] CHIP:DMG: |
| [1659419722.670776][1915:1920] CHIP:DMG: StatusIB = |
| [1659419722.670813][1915:1920] CHIP:DMG: { |
| [1659419722.670851][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1659419722.670888][1915:1920] CHIP:DMG: }, |
| [1659419722.670925][1915:1920] CHIP:DMG: |
| [1659419722.670958][1915:1920] CHIP:DMG: }, |
| [1659419722.670994][1915:1920] CHIP:DMG: |
| [1659419722.671022][1915:1920] CHIP:DMG: ], |
| [1659419722.671062][1915:1920] CHIP:DMG: |
| [1659419722.671092][1915:1920] CHIP:DMG: InteractionModelRevision = 1 |
| [1659419722.671120][1915:1920] CHIP:DMG: } |
| [1659419722.671244][1915:1920] CHIP:DMG: WriteClient moving to [AwaitingDe] |
| [1659419722.671314][1915:1920] CHIP:EM: Sending Standalone Ack for MessageCounter:153124628 on |
| |
| |
| |
| ./chip-tool onoff on 1 1 |
| On TH(chip-tool), verify DUT responds as UNSUPPORTED_ACCESS for the data sent in the above command |
| [1657869005.834700][2816:2821] CHIP:DMG: }, |
| [1657869005.834790][2816:2821] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e |
| [1657869005.834841][2816:2821] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) |
| [1657869005.834899][2816:2821] CHIP:DMG: ICR moving to [AwaitingDe] |
| |
| With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to send below mentioned command to Grant access to all clusters again. |
| |
| ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233], "targets":null}]' 1 0 |
| disabled: true |
| |
| - label: |
| "Setup the TH such that there is no accessing fabric TH sends the |
| Invoke Request Message to the DUT with a valid and fabric-scoped |
| CommandDataIB" |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| |
| |
| To Setup the TH(chip-tool) such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command. Here by sending below mentioned ACL command giving only access for ACL cluster(31), So except ACL cluster command if try to send any other command will get status as unsupported access |
| |
| ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects":[1,112233], "targets": [{ "cluster":31, "endpoint":0, "deviceType":null }]}]' 1 0 |
| [1659419722.669629][1915:1920] CHIP:DMG: WriteResponseMessage = |
| [1659419722.669657][1915:1920] CHIP:DMG: { |
| [1659419722.669687][1915:1920] CHIP:DMG: AttributeStatusIBs = |
| [1659419722.669727][1915:1920] CHIP:DMG: [ |
| [1659419722.669758][1915:1920] CHIP:DMG: AttributeStatusIB = |
| [1659419722.669796][1915:1920] CHIP:DMG: { |
| [1659419722.669833][1915:1920] CHIP:DMG: AttributePathIB = |
| [1659419722.669871][1915:1920] CHIP:DMG: { |
| [1659419722.669912][1915:1920] CHIP:DMG: Endpoint = 0x0, |
| [1659419722.669953][1915:1920] CHIP:DMG: Cluster = 0x1f, |
| [1659419722.669993][1915:1920] CHIP:DMG: Attribute = 0x0000_0000, |
| [1659419722.670034][1915:1920] CHIP:DMG: } |
| [1659419722.670077][1915:1920] CHIP:DMG: |
| [1659419722.670114][1915:1920] CHIP:DMG: StatusIB = |
| [1659419722.670153][1915:1920] CHIP:DMG: { |
| [1659419722.670191][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1659419722.670229][1915:1920] CHIP:DMG: }, |
| [1659419722.670266][1915:1920] CHIP:DMG: |
| [1659419722.670300][1915:1920] CHIP:DMG: }, |
| [1659419722.670343][1915:1920] CHIP:DMG: |
| [1659419722.670373][1915:1920] CHIP:DMG: AttributeStatusIB = |
| [1659419722.670405][1915:1920] CHIP:DMG: { |
| [1659419722.670436][1915:1920] CHIP:DMG: AttributePathIB = |
| [1659419722.670471][1915:1920] CHIP:DMG: { |
| [1659419722.670510][1915:1920] CHIP:DMG: Endpoint = 0x0, |
| [1659419722.670550][1915:1920] CHIP:DMG: Cluster = 0x1f, |
| [1659419722.670590][1915:1920] CHIP:DMG: Attribute = 0x0000_0000, |
| [1659419722.670661][1915:1920] CHIP:DMG: ListIndex = Null, |
| [1659419722.670700][1915:1920] CHIP:DMG: } |
| [1659419722.670740][1915:1920] CHIP:DMG: |
| [1659419722.670776][1915:1920] CHIP:DMG: StatusIB = |
| [1659419722.670813][1915:1920] CHIP:DMG: { |
| [1659419722.670851][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1659419722.670888][1915:1920] CHIP:DMG: }, |
| [1659419722.670925][1915:1920] CHIP:DMG: |
| [1659419722.670958][1915:1920] CHIP:DMG: }, |
| [1659419722.670994][1915:1920] CHIP:DMG: |
| [1659419722.671022][1915:1920] CHIP:DMG: ], |
| [1659419722.671062][1915:1920] CHIP:DMG: |
| [1659419722.671092][1915:1920] CHIP:DMG: InteractionModelRevision = 1 |
| [1659419722.671120][1915:1920] CHIP:DMG: } |
| [1659419722.671244][1915:1920] CHIP:DMG: WriteClient moving to [AwaitingDe] |
| [1659419722.671314][1915:1920] CHIP:EM: Sending Standalone Ack for MessageCounter:153124628 on |
| |
| |
| ./chip-tool generalcommissioning commissioning-complete 1 0 |
| On TH(chip-tool), verify DUT responds as UNSUPPORTED_ACCESS for the data sent in the above command |
| [1659420197.313287][1960:1965] CHIP:DMG: }, |
| [1659420197.313357][1960:1965] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0004 Status=0x7e |
| [1659420197.313397][1960:1965] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) |
| [1659420197.313441][1960:1965] CHIP:DMG: ICR moving to [AwaitingDe] |
| [1659420197.313505][1960:1965] CHIP:EM: Sending Standalone Ack for MessageCounter:66191391 on exchange 52639i |
| |
| |
| With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to send below mentioned command to Grant access to all clusters again. |
| |
| ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233], "targets":null}]' 1 0 |
| disabled: true |
| |
| - label: |
| "(OPTIONAL) TH sends the Invoke Request Message to the DUT with the |
| command which requires a data response to be sent back." |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| |
| ./chip-tool generalcommissioning arm-fail-safe 1000 1 1 0 |
| |
| On TH(chip-tool), Verify DUT generates an InvokeResponseIB with a valid CommandDataIB and |
| sends it to the TH for the data sent in the above command |
| |
| [1657091692.258118][5248:5253] CHIP:DMG: InvokeResponseMessage = |
| [1657091692.258154][5248:5253] CHIP:DMG: { |
| [1657091692.258189][5248:5253] CHIP:DMG: suppressResponse = false, |
| [1657091692.258233][5248:5253] CHIP:DMG: InvokeResponseIBs = |
| [1657091692.258280][5248:5253] CHIP:DMG: [ |
| [1657091692.258315][5248:5253] CHIP:DMG: InvokeResponseIB = |
| [1657091692.258362][5248:5253] CHIP:DMG: { |
| [1657091692.258400][5248:5253] CHIP:DMG: CommandDataIB = |
| [1657091692.258448][5248:5253] CHIP:DMG: { |
| [1657091692.258492][5248:5253] CHIP:DMG: CommandPathIB = |
| [1657091692.258540][5248:5253] CHIP:DMG: { |
| [1657091692.258589][5248:5253] CHIP:DMG: EndpointId = 0x0, |
| [1657091692.258641][5248:5253] CHIP:DMG: ClusterId = 0x30, |
| [1657091692.258692][5248:5253] CHIP:DMG: CommandId = 0x1, |
| [1657091692.258739][5248:5253] CHIP:DMG: }, |
| [1657091692.258790][5248:5253] CHIP:DMG: |
| [1657091692.258834][5248:5253] CHIP:DMG: CommandFields = |
| [1657091692.258886][5248:5253] CHIP:DMG: { |
| [1657091692.258958][5248:5253] CHIP:DMG: 0x0 = 0, |
| [1657091692.259011][5248:5253] CHIP:DMG: 0x1 = "", |
| [1657091692.259061][5248:5253] CHIP:DMG: }, |
| [1657091692.259107][5248:5253] CHIP:DMG: }, |
| [1657091692.259162][5248:5253] CHIP:DMG: |
| [1657091692.259202][5248:5253] CHIP:DMG: }, |
| [1657091692.259246][5248:5253] CHIP:DMG: |
| [1657091692.259280][5248:5253] CHIP:DMG: ], |
| [1657091692.259323][5248:5253] CHIP:DMG: |
| [1657091692.259358][5248:5253] CHIP:DMG: InteractionModelRevision = 1 |
| [1657091692.259392][5248:5253] CHIP:DMG: }, |
| [1657091692.259477][5248:5253] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0030 Command=0x0000_0001 |
| [1657091692.259539][5248:5253] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Command 0x0000_0001 |
| [1657091692.259610][5248:5253] CHIP:TOO: ArmFailSafeResponse: { |
| [1657091692.259656][5248:5253] CHIP:TOO: errorCode: 0 |
| [1657091692.259690][5248:5253] CHIP:TOO: debugText: |
| [1657091692.259722][5248:5253] CHIP:TOO: } |
| [1657091692.259775][5248:5253] CHIP:DMG: ICR moving to [AwaitingDe] |
| [1657091692.259841][5248:5253] CHIP:EM: Sending Standalone Ack for MessageCounter:215437814 on exchange 22331i |
| disabled: true |
| |
| - label: |
| "TH sends the Invoke Request Message to the DUT with a valid |
| CommandDataIB and SuppressResponse set to True" |
| verification: | |
| Out of Scope for V1.0 |
| https://github.com/project-chip/connectedhomeip/issues/8043 |
| disabled: true |
| |
| - label: |
| "TH sends a Invoke Request Message to the DUT with the TimedRequest |
| set as TRUE.(There should be no previous Timed Invoke action.)" |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| |
| |
| To Setup the TH(chip-tool) such that it should not have the privilege for the cluster in the path. , 1st we need to send below mentioned ACL command. Here by sending below mentioned ACL command giving only access for ACL cluster(31), So except ACL cluster command if try to send any other command will get status as unsupported access |
| |
| ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode": 2, "subjects":[1,112233], "targets": [{ "cluster":31, "endpoint":0, "deviceType":null }]}]' 1 0 |
| [1659419722.669629][1915:1920] CHIP:DMG: WriteResponseMessage = |
| [1659419722.669657][1915:1920] CHIP:DMG: { |
| [1659419722.669687][1915:1920] CHIP:DMG: AttributeStatusIBs = |
| [1659419722.669727][1915:1920] CHIP:DMG: [ |
| [1659419722.669758][1915:1920] CHIP:DMG: AttributeStatusIB = |
| [1659419722.669796][1915:1920] CHIP:DMG: { |
| [1659419722.669833][1915:1920] CHIP:DMG: AttributePathIB = |
| [1659419722.669871][1915:1920] CHIP:DMG: { |
| [1659419722.669912][1915:1920] CHIP:DMG: Endpoint = 0x0, |
| [1659419722.669953][1915:1920] CHIP:DMG: Cluster = 0x1f, |
| [1659419722.669993][1915:1920] CHIP:DMG: Attribute = 0x0000_0000, |
| [1659419722.670034][1915:1920] CHIP:DMG: } |
| [1659419722.670077][1915:1920] CHIP:DMG: |
| [1659419722.670114][1915:1920] CHIP:DMG: StatusIB = |
| [1659419722.670153][1915:1920] CHIP:DMG: { |
| [1659419722.670191][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1659419722.670229][1915:1920] CHIP:DMG: }, |
| [1659419722.670266][1915:1920] CHIP:DMG: |
| [1659419722.670300][1915:1920] CHIP:DMG: }, |
| [1659419722.670343][1915:1920] CHIP:DMG: |
| [1659419722.670373][1915:1920] CHIP:DMG: AttributeStatusIB = |
| [1659419722.670405][1915:1920] CHIP:DMG: { |
| [1659419722.670436][1915:1920] CHIP:DMG: AttributePathIB = |
| [1659419722.670471][1915:1920] CHIP:DMG: { |
| [1659419722.670510][1915:1920] CHIP:DMG: Endpoint = 0x0, |
| [1659419722.670550][1915:1920] CHIP:DMG: Cluster = 0x1f, |
| [1659419722.670590][1915:1920] CHIP:DMG: Attribute = 0x0000_0000, |
| [1659419722.670661][1915:1920] CHIP:DMG: ListIndex = Null, |
| [1659419722.670700][1915:1920] CHIP:DMG: } |
| [1659419722.670740][1915:1920] CHIP:DMG: |
| [1659419722.670776][1915:1920] CHIP:DMG: StatusIB = |
| [1659419722.670813][1915:1920] CHIP:DMG: { |
| [1659419722.670851][1915:1920] CHIP:DMG: status = 0x00 (SUCCESS), |
| [1659419722.670888][1915:1920] CHIP:DMG: }, |
| [1659419722.670925][1915:1920] CHIP:DMG: |
| [1659419722.670958][1915:1920] CHIP:DMG: }, |
| [1659419722.670994][1915:1920] CHIP:DMG: |
| [1659419722.671022][1915:1920] CHIP:DMG: ], |
| [1659419722.671062][1915:1920] CHIP:DMG: |
| [1659419722.671092][1915:1920] CHIP:DMG: InteractionModelRevision = 1 |
| [1659419722.671120][1915:1920] CHIP:DMG: } |
| [1659419722.671244][1915:1920] CHIP:DMG: WriteClient moving to [AwaitingDe] |
| [1659419722.671314][1915:1920] CHIP:EM: Sending Standalone Ack for MessageCounter:153124628 on |
| |
| |
| ./chip-tool onoff on 1 1 --timedInteractionTimeoutMs 100 |
| On TH(chip-tool), verify DUT responds as UNSUPPORTED_ACCESS for the data sent in the above command |
| [1659422136.353455][2014:2019] CHIP:DMG: |
| [1659422136.353482][2014:2019] CHIP:DMG: InteractionModelRevision = 1 |
| [1659422136.353510][2014:2019] CHIP:DMG: }, |
| [1659422136.353575][2014:2019] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0006 Command=0x0000_0001 Status=0x7e |
| [1659422136.353612][2014:2019] CHIP:TOO: Error: IM Error 0x0000057E: General error: 0x7e (UNSUPPORTED_ACCESS) |
| [1659422136.353653][2014:2019] CHIP:DMG: ICR moving to [AwaitingDe] |
| [1659422136.353715][2014:2019] CHIP:EM: Sending Standalone Ack for MessageCounter:11493125 on exchange 55447i |
| |
| |
| |
| With the above command, we are overwriting the default privilege that chip-tool has as an admin. After this test step you need to send below mentioned command to Grant access to all clusters again. |
| |
| ./chip-tool accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233], "targets":null}]' 1 0 |
| disabled: true |
| |
| - label: |
| "TH sends Invoke Request Message to the DUT with the command in the |
| path that requires a Timed Invoke transaction to invoke and this |
| action is not part of a Timed Invoke transaction" |
| verification: | |
| The cluster used in the below command is an example, User can use any supported chip cluster/attribute/command. |
| |
| ./chip-tool administratorcommissioning open-basic-commissioning-window 500 1 0 |
| |
| On TH(chip-tool), verify DUT responds as NEEDS_TIMED_INTERACTION for the data sent in the above command |
| |
| [1654077001.606235][13788:13793] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_003C Command=0x0000_0001 Status=0xc6 |
| [1654077001.606268][13788:13793] CHIP:TOO: Error: IM Error 0x000005C6: General error: 0xc6 (NEEDS_TIMED_INTERACTION) |
| [1654077001.606311][13788:13793] CHIP:DMG: ICR moving to [AwaitingDe] |
| disabled: true |