blob: 21beac03a85b001847fb7573b6286ce505d57c15 [file] [log] [blame]
# Copyright (c) 2023 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:
32.4.2. [TC-IDM-4.2] Subscription Response Messages from DUT Test Cases.
[DUT as Server]
PICS:
- MCORE.IDM.S
config:
nodeId: 0x12344321
cluster: "Basic Information"
endpoint: 0
tests:
- label: "Notes/Testing Considerations"
verification: |
1. The Cluster and Commands should be based on the cluster implementation on the DUT.
2. The cluster used in the below test steps is an example, User can use any supported chip cluster/attribute/command.
disabled: true
- label: "Pre condition"
verification: |
Please use Interactive mode to Verify subscription test cases
Here the command to enter interactive mode:-- ./chip-tool interactive start
disabled: true
- label: "Step 0a: SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT = 60 mins"
PICS: " !ICDM.S "
verification: |
When the ICDM feature is not supported or enabled, the SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT is set to 60 minutes.
disabled: true
- label: "Step 0b: CR1 reads from the DUT the IdleModeDuration attribute."
PICS: ICDM.S
verification: |
CR1 reads from the DUT the IdleModeDuration attribute by sending below mentioned command
icdmanagement read idle-mode-interval 1 0
Please note down the value of IdleModeDuration as SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT for use in the next step validations.
[1692870543.225457][7160:7162] CHIP:DMG: SuppressResponse = true,
[1692870543.225495][7160:7162] CHIP:DMG: InteractionModelRevision = 10
[1692870543.225528][7160:7162] CHIP:DMG: }
[1692870543.225723][7160:7162] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_0000 DataVersion: 4022467249
[1692870543.225795][7160:7162] CHIP:TOO: IdleModeDuration: 2000
[1692870543.225992][7160:7162] CHIP:EM: <<< [E:52837i S:57653 M:52559591 (Ack:263018291)] (S) Msg TX to 1:0000000000000001 [853D] --- Type 0000:10 (SecureChannel:StandaloneAck)
disabled: true
- label:
"Step 1: CR1 sends a subscription message to the DUT with
MaxIntervalCeiling set to a value greater than
SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT. DUT sends a report data
action to the TH. CR1 sends a success status response to the DUT. DUT
sends a Subscribe Response Message to the CR1 to activate the
subscription."
verification: |
Please run the following command on the TH to test the subscription feature and verify that the value of MaxIntervalCeiling is set correctly(set the value greater than SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT)
onoff subscribe on-off 100 600 1 1 --keepSubscriptions true
On the CR1( chip-tool), verify a report data message is received and verify it contains the following data :
1. Verify Report Data Message Received:
Check if a report data message is received on the CR1.
2. Verify Report Data Contents:
Confirm that the received report data message contains the data of the attribute/event that was previously requested.
3. Verify Subscribe Response Fields:
Examine the Subscribe Response to ensure it includes the following fields:
SubscriptionId: Verify that it is of type uint32.
Verify MaxInterval Field:
4. Check for an additional field in the Subscribe Response:
MaxInterval: Verify that it is of type uint32.
5. Verify MaxInterval against MaxIntervalCeiling:
Compare the MaxInterval value received in the Subscribe Response to the MaxIntervalCeiling value to verify that MaxInterval is less than or equal to MaxIntervalCeiling.
[1693221742.765461][22261:22263] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_0000 DataVersion: 523169586
[1693221742.765473][22261:22263] CHIP:TOO: OnOff: FALSE
[1693221742.765495][22261:22263] CHIP:DMG: MoveToState ReadClient[0x7f6070027e40]: Moving to [AwaitingSu]
[1693221742.765530][22261:22263] CHIP:EM: <<< [E:26388i S:13043 M:192043500 (Ack:11734613)] (S) Msg TX to 1:0000000000000001 [3DC0] --- Type 0001:01 (IM:StatusResponse)
[1693221742.765542][22261:22263] CHIP:IN: (S) Sending msg 192043500 on secure session with LSID: 13043
[1693221742.765587][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
[1693221742.765594][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
[1693221742.765981][22261:22263] CHIP:EM: >>> [E:26388i S:13043 M:11734614 (Ack:192043500)] (S) Msg RX from 1:0000000000000001 [3DC0] --- Type 0001:04 (IM:SubscribeResponse)
[1693221742.765991][22261:22263] CHIP:EM: Found matching exchange: 26388i, Delegate: 0x7f6070027e50
[1693221742.766002][22261:22263] CHIP:EM: Rxd Ack; Removing MessageCounter:192043500 from Retrans Table on exchange 26388i
[1693221742.766012][22261:22263] CHIP:DMG: SubscribeResponse is received
[1693221742.766025][22261:22263] CHIP:DMG: SubscribeResponseMessage =
[1693221742.766031][22261:22263] CHIP:DMG: {
[1693221742.766038][22261:22263] CHIP:DMG: SubscriptionId = 0x15e2f82f,
[1693221742.766045][22261:22263] CHIP:DMG: MaxInterval = 0x64,
[1693221742.766051][22261:22263] CHIP:DMG: InteractionModelRevision = 10
[1693221742.766057][22261:22263] CHIP:DMG: }
[1693221742.766068][22261:22263] CHIP:DMG: Subscription established with SubscriptionID = 0x15e2f82f MinInterval = 100s MaxInterval = 100s Peer = 01:0000000000000001
disabled: true
- label:
"Step 2: CR1 sends a subscription message to the DUT with
MaxIntervalCeiling set to a value less than
SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT. DUT sends a report data
action to the CR1. CR1 sends a success status response to the DUT. DUT
sends a Subscribe Response Message to the CR1 to activate the
subscription."
verification: |
Please run the following command on the TH to test the subscription feature and verify that the value of MaxIntervalCeiling is set correctly( set the value less than SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT)
basicinformation subscribe location 10 400 1 0 --keepSubscriptions true
On the CR1(chip-tool), verify a report data message is received and verify it contains the following data :
1. Verify Report Data Message Received:
Check if a report data message is received on the CR1 (target hardware).
2. Verify Report Data Contents:
Confirm that the received report data message contains the data of the attribute/event that was previously requested.
3. Verify Subscribe Response Fields:
Examine the Subscribe Response to ensure it includes the following fields:
SubscriptionId: Verify that it is of type uint32.
MaxInterval: Verify that it is of type uint32.
4. Verify MaxInterval against SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT:
Compare the MaxInterval value received in the Subscribe Response to the value of SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT.
Verify that the MaxInterval value is less than or equal to SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT.
[1693221766.862968][22261:22263] CHIP:DMG: }
[1693221766.863028][22261:22263] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0006 DataVersion: 1552486032
[1693221766.863045][22261:22263] CHIP:TOO: Location: XX
[1693221766.863068][22261:22263] CHIP:DMG: MoveToState ReadClient[0x7f6070027b50]: Moving to [AwaitingSu]
[1693221766.863114][22261:22263] CHIP:EM: <<< [E:26389i S:13043 M:192043503 (Ack:11734615)] (S) Msg TX to 1:0000000000000001 [3DC0] --- Type 0001:01 (IM:StatusResponse)
[1693221766.863130][22261:22263] CHIP:IN: (S) Sending msg 192043503 on secure session with LSID: 13043
[1693221766.863196][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
[1693221766.863207][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793
[1693221766.863559][22261:22263] CHIP:EM: >>> [E:26389i S:13043 M:11734616 (Ack:192043503)] (S) Msg RX from 1:0000000000000001 [3DC0] --- Type 0001:04 (IM:SubscribeResponse)
[1693221766.863569][22261:22263] CHIP:EM: Found matching exchange: 26389i, Delegate: 0x7f6070027b60
[1693221766.863584][22261:22263] CHIP:EM: Rxd Ack; Removing MessageCounter:192043503 from Retrans Table on exchange 26389i
[1693221766.863603][22261:22263] CHIP:DMG: SubscribeResponse is received
[1693221766.863620][22261:22263] CHIP:DMG: SubscribeResponseMessage =
[1693221766.863629][22261:22263] CHIP:DMG: {
[1693221766.863639][22261:22263] CHIP:DMG: SubscriptionId = 0x83e461d9,
[1693221766.863651][22261:22263] CHIP:DMG: MaxInterval = 0xa,
[1693221766.863661][22261:22263] CHIP:DMG: InteractionModelRevision = 10
[1693221766.863667][22261:22263] CHIP:DMG: }
[1693221766.863677][22261:22263] CHIP:DMG: Subscription established with SubscriptionID = 0x83e461d9 MinInterval = 10s MaxInterval = 10s Peer = 01:0000000000000001
disabled: true
- label:
"Step 3: Setup CR2 such that it does not have access to a specific
cluster. CR2 sends a subscription message to subscribe to an attribute
on that cluster for which it does not have access. AttributePath =
[[Attribute = Attribute, Cluster = ClusterID, Endpoint = EndpointID
]]."
verification: |
To ensure that CR1 and CR2 are on the same fabric and that CR1 grants access to CR2, Please send the below mentioned command, it will configure TH2 without access to a specific cluster, we send the ACL command, allowing access only to the Level Control cluster (cluster ID: 8); any attempts to subscribe to or use commands from other clusters will result in a status of 'INVALID_ACTION
accesscontrol write acl '[{"privilege":5, "authMode":2, "subjects":[112233], "targets":null, "fabricIndex": 1},{"privilege":3, "authMode":2, "subjects":[4], "targets":[{"cluster":8, "endpoint":null, "deviceType":null}]}]' 1 0
[1689933254.566655][48781:48783] CHIP:EM: Rxd Ack; Removing MessageCounter:156974239 from Retrans Table on exchange 6316i
[1689933254.566660][48781:48783] CHIP:DMG: WriteClient moving to [ResponseRe]
[1689933254.566671][48781:48783] CHIP:DMG: WriteResponseMessage =
[1689933254.566675][48781:48783] CHIP:DMG: {
[1689933254.566677][48781:48783] CHIP:DMG: AttributeStatusIBs =
[1689933254.566682][48781:48783] CHIP:DMG: [
[1689933254.566684][48781:48783] CHIP:DMG: AttributeStatusIB =
[1689933254.566688][48781:48783] CHIP:DMG: {
[1689933254.566691][48781:48783] CHIP:DMG: AttributePathIB =
[1689933254.566695][48781:48783] CHIP:DMG: {
[1689933254.566698][48781:48783] CHIP:DMG: Endpoint = 0x0,
[1689933254.566702][48781:48783] CHIP:DMG: Cluster = 0x1f,
[1689933254.566705][48781:48783] CHIP:DMG: Attribute = 0x0000_0000,
[1689933254.566708][48781:48783] CHIP:DMG: }
[1689933254.566713][48781:48783] CHIP:DMG:
[1689933254.566716][48781:48783] CHIP:DMG: StatusIB =
[1689933254.566720][48781:48783] CHIP:DMG: {
[1689933254.566723][48781:48783] CHIP:DMG: status = 0x00 (SUCCESS),
[1689933254.566726][48781:48783] CHIP:DMG: },
[1689933254.566730][48781:48783] CHIP:DMG:
[1689933254.566732][48781:48783] CHIP:DMG: },
[1689933254.566739][48781:48783] CHIP:DMG:
[1689933254.566741][48781:48783] CHIP:DMG: AttributeStatusIB =
[1689933254.566744][48781:48783] CHIP:DMG: {
[1689933254.566747][48781:48783] CHIP:DMG: AttributePathIB =
[1689933254.566750][48781:48783] CHIP:DMG: {
[1689933254.566752][48781:48783] CHIP:DMG: Endpoint = 0x0,
[1689933254.566756][48781:48783] CHIP:DMG: Cluster = 0x1f,
[1689933254.566760][48781:48783] CHIP:DMG: Attribute = 0x0000_0000,
[1689933254.566763][48781:48783] CHIP:DMG: ListIndex = Null,
[1689933254.566766][48781:48783] CHIP:DMG: }
[1689933254.566770][48781:48783] CHIP:DMG:
[1689933254.566773][48781:48783] CHIP:DMG: StatusIB =
[1689933254.566776][48781:48783] CHIP:DMG: {
[1689933254.566779][48781:48783] CHIP:DMG: status = 0x00 (SUCCESS),
[1689933254.566782][48781:48783] CHIP:DMG: },
[1689933254.566786][48781:48783] CHIP:DMG:
[1689933254.566789][48781:48783] CHIP:DMG: },
[1689933254.566794][48781:48783] CHIP:DMG:
[1689933254.566797][48781:48783] CHIP:DMG: AttributeStatusIB =
[1689933254.566800][48781:48783] CHIP:DMG: {
[1689933254.566802][48781:48783] CHIP:DMG: AttributePathIB =
[1689933254.566805][48781:48783] CHIP:DMG: {
[1689933254.566808][48781:48783] CHIP:DMG: Endpoint = 0x0,
[1689933254.566811][48781:48783] CHIP:DMG: Cluster = 0x1f,
[1689933254.566815][48781:48783] CHIP:DMG: Attribute = 0x0000_0000,
[1689933254.566818][48781:48783] CHIP:DMG: ListIndex = Null,
[1689933254.566821][48781:48783] CHIP:DMG: }
[1689933254.566825][48781:48783] CHIP:DMG:
[1689933254.566828][48781:48783] CHIP:DMG: StatusIB =
[1689933254.566831][48781:48783] CHIP:DMG: {
[1689933254.566834][48781:48783] CHIP:DMG: status = 0x00 (SUCCESS),
[1689933254.566837][48781:48783] CHIP:DMG: },
[1689933254.566840][48781:48783] CHIP:DMG:
[1689933254.566843][48781:48783] CHIP:DMG: },
[1689933254.566847][48781:48783] CHIP:DMG:
[1689933254.566849][48781:48783] CHIP:DMG: ],
[1689933254.566857][48781:48783] CHIP:DMG:
[1689933254.566859][48781:48783] CHIP:DMG: InteractionModelRevision = 1
[1689933254.566862][48781:48783] CHIP:DMG: }
[1689933254.566897][48781:48783] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1689933254.566916][48781:48783] CHIP:EM: <<< [E:6316i S:13964 M:156974240 (Ack:46397313)] (S) Msg TX to 1:0000000000000001 [B15F] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1689933254.566922][48781:48783] CHIP:IN: (S) Sending msg 156974240 on secure session with LSID: 13964
If CR2 attempts to subscribe to an attribute on a cluster (ClusterID) for which it does not have access, the AttributePath used for the subscription would be in the form [[Attribute = AttributeName, Cluster = ClusterID, Endpoint = EndpointID]], but this action will be denied, and CR2 will not be able to access the attribute due to the restricted access.
below provided the example command used to subscribe location attribute from basicinformation cluster from node id(4) that have access to the “levelcontrol” cluster
basicinformation subscribe location 10 2400 1 0 --commissioner-nodeid 4
[1689933387.304826][48781:48783] CHIP:EM: Rxd Ack; Removing MessageCounter:42350588 from Retrans Table on exchange 6319i
[1689933387.304834][48781:48783] CHIP:DMG: StatusResponseMessage =
[1689933387.304838][48781:48783] CHIP:DMG: {
[1689933387.304841][48781:48783] CHIP:DMG: Status = 0x80 (INVALID_ACTION),
[1689933387.304845][48781:48783] CHIP:DMG: InteractionModelRevision = 1
[1689933387.304846][48781:48783] CHIP:DMG: }
[1689933387.304850][48781:48783] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
[1689933387.304864][48781:48783] CHIP:EM: <<< [E:6319i S:13965 M:42350589 (Ack:227168589)] (S) Msg TX to 2:0000000000000001 [B15F] --- Type 0001:01 (IM:StatusResponse)
[1689933387.304869][48781:48783] CHIP:IN: (S) Sending msg 42350589 on secure session with LSID: 13965
[1689933387.304882][48781:48783] CHIP:DMG: MoveToState ReadClient[0x7fd404019110]: Moving to [ Idle]
With the ACL command in step-2, we are overwriting the default privilege that chip-tool has an admin. After this step-3 you need to send below mentioned command to Grant access to all clusters again.
accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233,4], "targets":null}]' 1 0
disabled: true
- label:
"Step 4: Setup CR2 such that it does not have access to all attributes
on a specific cluster and endpoint. CR2 sends a subscription request
to subscribe to all attributes for which it does not have access.
AttributePath = [[Cluster = ClusterID, Endpoint = EndpointID ]]."
verification: |
To ensure that CR1 and CR2 are on the same fabric and that CR1 grants access to CR2, Please send the below mentioned command, it will configure CR2 without access to a specific cluster on Specific endpoint, we send the ACL command, allowing access only to the Level Control cluster (cluster ID: 8) on endpoint 1 ; any attempts to subscribe to or use commands from other clusters will result in a status of 'INVALID_ACTION
accesscontrol write acl '[{"privilege":5, "authMode":2, "subjects":[112233], "targets":null, "fabricIndex": 1},{"privilege":3, "authMode":2, "subjects":[4], "targets":[{"cluster":8, "endpoint":1, "deviceType":null}]}]' 1 0
[1687418564.590285][167960:167962] CHIP:DMG: WriteResponseMessage =
[1687418564.590290][167960:167962] CHIP:DMG: {
[1687418564.590294][167960:167962] CHIP:DMG: AttributeStatusIBs =
[1687418564.590304][167960:167962] CHIP:DMG: [
[1687418564.590313][167960:167962] CHIP:DMG: AttributeStatusIB =
[1687418564.590321][167960:167962] CHIP:DMG: {
[1687418564.590327][167960:167962] CHIP:DMG: AttributePathIB =
[1687418564.590336][167960:167962] CHIP:DMG: {
[1687418564.590346][167960:167962] CHIP:DMG: Endpoint = 0x0,
[1687418564.590355][167960:167962] CHIP:DMG: Cluster = 0x1f,
[1687418564.590366][167960:167962] CHIP:DMG: Attribute = 0x0000_0000,
[1687418564.590374][167960:167962] CHIP:DMG: }
[1687418564.590385][167960:167962] CHIP:DMG:
[1687418564.590392][167960:167962] CHIP:DMG: StatusIB =
[1687418564.590406][167960:167962] CHIP:DMG: {
[1687418564.590415][167960:167962] CHIP:DMG: status = 0x00 (SUCCESS),
[1687418564.590423][167960:167962] CHIP:DMG: },
[1687418564.590433][167960:167962] CHIP:DMG:
[1687418564.590444][167960:167962] CHIP:DMG: },
[1687418564.590462][167960:167962] CHIP:DMG:
[1687418564.590469][167960:167962] CHIP:DMG: AttributeStatusIB =
[1687418564.590477][167960:167962] CHIP:DMG: {
[1687418564.590484][167960:167962] CHIP:DMG: AttributePathIB =
[1687418564.590493][167960:167962] CHIP:DMG: {
[1687418564.590502][167960:167962] CHIP:DMG: Endpoint = 0x0,
[1687418564.590512][167960:167962] CHIP:DMG: Cluster = 0x1f,
[1687418564.590521][167960:167962] CHIP:DMG: Attribute = 0x0000_0000,
[1687418564.590530][167960:167962] CHIP:DMG: ListIndex = Null,
[1687418564.590539][167960:167962] CHIP:DMG: }
[1687418564.590552][167960:167962] CHIP:DMG:
[1687418564.590559][167960:167962] CHIP:DMG: StatusIB =
[1687418564.590567][167960:167962] CHIP:DMG: {
[1687418564.590576][167960:167962] CHIP:DMG: status = 0x00 (SUCCESS),
[1687418564.590584][167960:167962] CHIP:DMG: },
[1687418564.590593][167960:167962] CHIP:DMG:
[1687418564.590601][167960:167962] CHIP:DMG: },
[1687418564.590616][167960:167962] CHIP:DMG:
[1687418564.590623][167960:167962] CHIP:DMG: AttributeStatusIB =
[1687418564.590631][167960:167962] CHIP:DMG: {
[1687418564.590638][167960:167962] CHIP:DMG: AttributePathIB =
[1687418564.590647][167960:167962] CHIP:DMG: {
[1687418564.590656][167960:167962] CHIP:DMG: Endpoint = 0x0,
[1687418564.590665][167960:167962] CHIP:DMG: Cluster = 0x1f,
[1687418564.590675][167960:167962] CHIP:DMG: Attribute = 0x0000_0000,
[1687418564.590683][167960:167962] CHIP:DMG: ListIndex = Null,
[1687418564.590691][167960:167962] CHIP:DMG: }
[1687418564.590704][167960:167962] CHIP:DMG:
[1687418564.590712][167960:167962] CHIP:DMG: StatusIB =
[1687418564.590720][167960:167962] CHIP:DMG: {
[1687418564.590729][167960:167962] CHIP:DMG: status = 0x00 (SUCCESS),
[1687418564.590738][167960:167962] CHIP:DMG: },
[1687418564.590747][167960:167962] CHIP:DMG:
[1687418564.590754][167960:167962] CHIP:DMG: },
[1687418564.590768][167960:167962] CHIP:DMG:
[1687418564.590776][167960:167962] CHIP:DMG: ],
[1687418564.590796][167960:167962] CHIP:DMG:
[1687418564.590804][167960:167962] CHIP:DMG: InteractionModelRevision = 1
[1687418564.590811][167960:167962] CHIP:DMG: }
[1687418564.590882][167960:167962] CHIP:DMG: WriteClient moving to [AwaitingDe]
If CR2 attempts to subscribe to an attribute on a cluster (ClusterID) for which it does not have access, the AttributePath used for the subscription would be in the form AttributePath = [[Cluster = ClusterID, Endpoint = EndpointID ]]., but this action will be denied, and CR2 will not be able to access the attribute due to the restricted access.
below provided the example command to subscribe all attributes onto endpoint 1 for onoff cluster from node id(4) that have access to the “levelcontrol” cluster onto endpoint 1
onoff subscribe-by-id 0xFFFFFFFF 5 100 1 1 --commissioner-nodeid 4
[1687418591.903193][167960:167962] CHIP:EM: Found matching exchange: 3641i, Delegate: 0x7fc81c00bbd0
[1687418591.903197][167960:167962] CHIP:EM: Rxd Ack; Removing MessageCounter:104560060 from Retrans Table on exchange 3641i
[1687418591.903206][167960:167962] CHIP:DMG: StatusResponseMessage =
[1687418591.903209][167960:167962] CHIP:DMG: {
[1687418591.903211][167960:167962] CHIP:DMG: Status = 0x80 (INVALID_ACTION),
[1687418591.903213][167960:167962] CHIP:DMG: InteractionModelRevision = 1
[1687418591.903215][167960:167962] CHIP:DMG: }
[1687418591.903220][167960:167962] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
[1687418591.903236][167960:167962] CHIP:EM: <<< [E:3641i S:26604 M:104560061 (Ack:37058090)] (S) Msg TX to 2:0000000000000001 [2DB4] --- Type 0001:01 (IM:StatusResponse)
[1687418591.903241][167960:167962] CHIP:IN: (S) Sending msg 104560061 on secure session with LSID: 26604
[1687418591.903262][167960:167962] CHIP:DMG: MoveToState ReadClient[0x7fc81c00bbc0]: Moving to
With the ACL command in step-2, we are overwriting the default privilege that chip-tool has an admin. After this step-3 you need to send below mentioned command to Grant access to all clusters again.
accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233,4], "targets":null}]' 1 0
disabled: true
- label:
"Step 5: Setup CR2 such that it does not have access to an Endpoint.
CR2 sends a subscription request to subscribe to all attributes on all
clusters on a specific Endpoint for which it does not have access.
AttributePath = [[ Endpoint = EndpointID ]]."
verification: |
To ensure that CR1 and CR2 are on the same fabric and that CR1 grants access to CR2, Please send the below mentioned command, it will configure CR2 without access to a specific endpoint, we send the ACL command, allowing access only to the endpoint 1 ; any attempts to subscribe to or use commands from other clusters will result in a status of 'INVALID_ACTION
accesscontrol write acl '[{"privilege":5, "authMode":2, "subjects":[112233], "targets":null, "fabricIndex": 1},{"privilege":3, "authMode":2, "subjects":[4], "targets":[{"cluster":null, "endpoint":1, "deviceType":null}]}]' 1 0
[1687418943.852982][167960:167962] CHIP:DMG: WriteResponseMessage =
[1687418943.852989][167960:167962] CHIP:DMG: {
[1687418943.852996][167960:167962] CHIP:DMG: AttributeStatusIBs =
[1687418943.853006][167960:167962] CHIP:DMG: [
[1687418943.853012][167960:167962] CHIP:DMG: AttributeStatusIB =
[1687418943.853018][167960:167962] CHIP:DMG: {
[1687418943.853024][167960:167962] CHIP:DMG: AttributePathIB =
[1687418943.853034][167960:167962] CHIP:DMG: {
[1687418943.853042][167960:167962] CHIP:DMG: Endpoint = 0x0,
[1687418943.853053][167960:167962] CHIP:DMG: Cluster = 0x1f,
[1687418943.853060][167960:167962] CHIP:DMG: Attribute = 0x0000_0000,
[1687418943.853067][167960:167962] CHIP:DMG: }
[1687418943.853080][167960:167962] CHIP:DMG:
[1687418943.853087][167960:167962] CHIP:DMG: StatusIB =
[1687418943.853095][167960:167962] CHIP:DMG: {
[1687418943.853103][167960:167962] CHIP:DMG: status = 0x00 (SUCCESS),
[1687418943.853109][167960:167962] CHIP:DMG: },
[1687418943.853117][167960:167962] CHIP:DMG:
[1687418943.853123][167960:167962] CHIP:DMG: },
[1687418943.853136][167960:167962] CHIP:DMG:
[1687418943.853142][167960:167962] CHIP:DMG: AttributeStatusIB =
[1687418943.853148][167960:167962] CHIP:DMG: {
[1687418943.853154][167960:167962] CHIP:DMG: AttributePathIB =
[1687418943.853161][167960:167962] CHIP:DMG: {
[1687418943.853167][167960:167962] CHIP:DMG: Endpoint = 0x0,
[1687418943.853175][167960:167962] CHIP:DMG: Cluster = 0x1f,
[1687418943.853182][167960:167962] CHIP:DMG: Attribute = 0x0000_0000,
[1687418943.853189][167960:167962] CHIP:DMG: ListIndex = Null,
[1687418943.853196][167960:167962] CHIP:DMG: }
[1687418943.853205][167960:167962] CHIP:DMG:
[1687418943.853211][167960:167962] CHIP:DMG: StatusIB =
[1687418943.853218][167960:167962] CHIP:DMG: {
[1687418943.853227][167960:167962] CHIP:DMG: status = 0x00 (SUCCESS),
[1687418943.853233][167960:167962] CHIP:DMG: },
[1687418943.853240][167960:167962] CHIP:DMG:
[1687418943.853246][167960:167962] CHIP:DMG: },
[1687418943.853258][167960:167962] CHIP:DMG:
[1687418943.853264][167960:167962] CHIP:DMG: AttributeStatusIB =
[1687418943.853274][167960:167962] CHIP:DMG: {
[1687418943.853280][167960:167962] CHIP:DMG: AttributePathIB =
[1687418943.853290][167960:167962] CHIP:DMG: {
[1687418943.853296][167960:167962] CHIP:DMG: Endpoint = 0x0,
[1687418943.853304][167960:167962] CHIP:DMG: Cluster = 0x1f,
[1687418943.853311][167960:167962] CHIP:DMG: Attribute = 0x0000_0000,
[1687418943.853318][167960:167962] CHIP:DMG: ListIndex = Null,
[1687418943.853323][167960:167962] CHIP:DMG: }
[1687418943.853332][167960:167962] CHIP:DMG:
[1687418943.853338][167960:167962] CHIP:DMG: StatusIB =
[1687418943.853345][167960:167962] CHIP:DMG: {
[1687418943.853352][167960:167962] CHIP:DMG: status = 0x00 (SUCCESS),
[1687418943.853359][167960:167962] CHIP:DMG: },
[1687418943.853368][167960:167962] CHIP:DMG:
[1687418943.853374][167960:167962] CHIP:DMG: },
[1687418943.853383][167960:167962] CHIP:DMG:
[1687418943.853389][167960:167962] CHIP:DMG: ],
[1687418943.853405][167960:167962] CHIP:DMG:
[1687418943.853411][167960:167962] CHIP:DMG: InteractionModelRevision = 1
[1687418943.853418][167960:167962] CHIP:DMG: }
[1687418943.853488][167960:167962] CHIP:DMG: WriteClient moving to [AwaitingDe]
If CR2 attempts to subscribe to an attribute on a cluster (ClusterID) for which it does not have access, the AttributePath used for the subscription would be in the form AttributePath = [[ Endpoint = EndpointID ]], but this action will be denied, and CR2 will not be able to access the attribute due to the restricted access.
below provided the example command to subscribe to all attributes onto endpoint 0 for cluster 6 from a node id that have access to everything onto endpoint 1
onoff subscribe-by-id 0xFFFFFFFF 5 100 1 0 --commissioner-nodeid 4
[1687418974.537572][167960:167962] CHIP:EM: Rxd Ack; Removing MessageCounter:104560062 from Retrans Table on exchange 3650i
[1687418974.537610][167960:167962] CHIP:DMG: StatusResponseMessage =
[1687418974.537622][167960:167962] CHIP:DMG: {
[1687418974.537631][167960:167962] CHIP:DMG: Status = 0x80 (INVALID_ACTION),
[1687418974.537640][167960:167962] CHIP:DMG: InteractionModelRevision = 1
[1687418974.537648][167960:167962] CHIP:DMG: }
[1687418974.537658][167960:167962] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
[1687418974.537725][167960:167962] CHIP:EM: <<< [E:3650i S:26604 M:104560063 (Ack:37058092)] (S) Msg TX to 2:0000000000000001 [2DB4] --- Type 0001:01 (IM:StatusResponse)
[1687418974.537743][167960:167962] CHIP:IN: (S) Sending msg 104560063 on secure session with LSID: 26604
With the ACL command in step-2, we are overwriting the default privilege that chip-tool has an admin. After this step-3 you need to send below mentioned command to Grant access to all clusters again.
accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233,4], "targets":null}]' 1 0
disabled: true
- label:
"Step 6: Setup CR2 such that it does not have access to the Node. CR2
sends a subscription request to subscribe to all attributes on all
clusters on all endpoints on a Node for which it does not have access.
AttributePath = [[ ]]."
verification: |
sending a command along with unregistered commissioner node id (5)
any subscribe-by-id 0xFFFFFFFF 0xFFFFFFFF 10 100 1 0XFFFF --commissioner-nodeid 5
On CR2, Verify that the DUT returns a "INVALID_ACTION" status response.
[1695815340.162063][2522:2524] CHIP:EM: Rxd Ack; Removing MessageCounter:187875065 from Retrans Table on exchange 10455i
[1695815340.162181][2522:2524] CHIP:DMG: StatusResponseMessage =
[1695815340.162244][2522:2524] CHIP:DMG: {
[1695815340.162298][2522:2524] CHIP:DMG: Status = 0x80 (INVALID_ACTION),
[1695815340.162357][2522:2524] CHIP:DMG: InteractionModelRevision = 11
[1695815340.162412][2522:2524] CHIP:DMG: }
[1695815340.162501][2522:2524] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
disabled: true
- label:
"Step 7: CR1 sends a subscription request action for an attribute with
an empty DataVersionFilters field. DUT sends a report data action with
the data of the attribute along with the data version. Tear down the
subscription for that attribute. Start another subscription with the
DataVersionFilter field set to the data version received above."
verification: |
Chip-Tool support required to validate this step : SDK Issue - https://github.com/project-chip/connectedhomeip/issues/28363
Not Testable
disabled: true
- label:
"Step 8: CR1 sends a subscription request action for an attribute and
sets the MinIntervalFloor value to be same as MaxIntervalCeiling.
Activate the Subscription between CR1 and DUT. Modify the attribute
which has been subscribed to on the DUT."
verification: |
Please send the following command from CR1 (the subscription requester) to DUT (the device under test) to activate the subscription for the "on-time" attribute, setting the MinIntervalFloor and MaxIntervalCeiling values to be the same (in this case, 100 seconds):
onoff subscribe on-time 100 100 1 1 --keepSubscriptions true
On the CR1(chip-tool) verify the SubscribeResponse is received successfully
[1690540281.061350][9488:9490] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 3310786904
[1690540281.061363][9488:9490] CHIP:TOO: OnTime: 0
[1690540281.061379][9488:9490] CHIP:DMG: MoveToState ReadClient[0x7faef8013880]: Moving to [AwaitingSu]
[1690540281.061427][9488:9490] CHIP:EM: <<< [E:49945i S:38251 M:151709012 (Ack:20807554)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
[1690540281.061441][9488:9490] CHIP:IN: (S) Sending msg 151709012 on secure session with LSID: 38251
[1690540281.061758][9488:9490] CHIP:EM: >>> [E:49945i S:38251 M:20807555 (Ack:151709012)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:04 (IM:SubscribeResponse)
[1690540281.061771][9488:9490] CHIP:EM: Found matching exchange: 49945i, Delegate: 0x7faef8013890
[1690540281.061786][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709012 from Retrans Table on exchange 49945i
[1690540281.061800][9488:9490] CHIP:DMG: SubscribeResponse is received
[1690540281.061816][9488:9490] CHIP:DMG: SubscribeResponseMessage =
[1690540281.061825][9488:9490] CHIP:DMG: {
[1690540281.061833][9488:9490] CHIP:DMG: SubscriptionId = 0x3ef5dc34,
[1690540281.061844][9488:9490] CHIP:DMG: MaxInterval = 0x64,
[1690540281.061853][9488:9490] CHIP:DMG: InteractionModelRevision = 1
[1690540281.061862][9488:9490] CHIP:DMG: }
[1690540281.061875][9488:9490] CHIP:DMG: Subscription established with SubscriptionID = 0x3ef5dc34 MinInterval = 100s MaxInterval = 100s Peer = 01:0000000000000001
After activating the subscription between TH and DUT, please send the following command to modify the 'on-time' attribute value:
>>> onoff write on-time 1 1 1
On CR1(chip-tool), verify that the DUT sends a report data containing the current 'ontime' attribute value after the MinIntervalFloor time has elapsed
[1690540304.761997][9488:9488] CHIP:TOO: Command: onoff write on-time 1 1 1
[1690540304.762298][9488:9490] CHIP:TOO: Sending command to node 0x1
[1690540304.762462][9488:9490] CHIP:CSM: FindOrEstablishSession: PeerId = [1:0000000000000001]
[1690540304.762474][9488:9490] CHIP:CSM: FindOrEstablishSession: No existing OperationalSessionSetup instance found
[1690540304.762493][9488:9490] CHIP:DIS: Found an existing secure session to [1:0000000000000001]!
[1690540304.762501][9488:9490] CHIP:DIS: OperationalSessionSetup[1:0000000000000001]: State change 1 --> 5
[1690540304.762534][9488:9490] CHIP:TOO: cluster 0x0000_0006, attribute: 0x0000_4001, endpoint 1
[1690540304.762585][9488:9490] CHIP:DMG: WriteClient moving to [AddAttribu]
[1690540304.762673][9488:9490] CHIP:EM: <<< [E:49946i S:38251 M:151709014] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:06 (IM:WriteRequest)
[1690540304.762693][9488:9490] CHIP:IN: (S) Sending msg 151709014 on secure session with LSID: 38251
[1690540304.762788][9488:9490] CHIP:DMG: WriteClient moving to [AwaitingRe]
[1690540304.763448][9488:9490] CHIP:EM: >>> [E:49946i S:38251 M:20807556 (Ack:151709014)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:07 (IM:WriteResponse)
[1690540304.763464][9488:9490] CHIP:EM: Found matching exchange: 49946i, Delegate: 0x7faef800a5e0
[1690540304.763478][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709014 from Retrans Table on exchange 49946i
[1690540304.763493][9488:9490] CHIP:DMG: WriteClient moving to [ResponseRe]
[1690540304.763518][9488:9490] CHIP:DMG: WriteResponseMessage =
[1690540304.763527][9488:9490] CHIP:DMG: {
[1690540304.763534][9488:9490] CHIP:DMG: AttributeStatusIBs =
[1690540304.763546][9488:9490] CHIP:DMG: [
[1690540304.763553][9488:9490] CHIP:DMG: AttributeStatusIB =
[1690540304.763562][9488:9490] CHIP:DMG: {
[1690540304.763570][9488:9490] CHIP:DMG: AttributePathIB =
[1690540304.763579][9488:9490] CHIP:DMG: {
[1690540304.763589][9488:9490] CHIP:DMG: Endpoint = 0x1,
[1690540304.763597][9488:9490] CHIP:DMG: Cluster = 0x6,
[1690540304.763606][9488:9490] CHIP:DMG: Attribute = 0x0000_4001,
[1690540304.763614][9488:9490] CHIP:DMG: }
[1690540304.763626][9488:9490] CHIP:DMG:
[1690540304.763634][9488:9490] CHIP:DMG: StatusIB =
[1690540304.763646][9488:9490] CHIP:DMG: {
[1690540304.763654][9488:9490] CHIP:DMG: status = 0x00 (SUCCESS),
[1690540304.763662][9488:9490] CHIP:DMG: },
[1690540304.763671][9488:9490] CHIP:DMG:
[1690540304.763677][9488:9490] CHIP:DMG: },
[1690540304.763688][9488:9490] CHIP:DMG:
[1690540304.763694][9488:9490] CHIP:DMG: ],
[1690540304.763706][9488:9490] CHIP:DMG:
[1690540304.763713][9488:9490] CHIP:DMG: InteractionModelRevision = 1
[1690540304.763719][9488:9490] CHIP:DMG: }
[1690540304.763753][9488:9490] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1690540304.763793][9488:9490] CHIP:EM: <<< [E:49946i S:38251 M:151709015 (Ack:20807556)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1690540304.763810][9488:9490] CHIP:IN: (S) Sending msg 151709015 on secure session with LSID: 38251
[1690540304.763846][9488:9490] CHIP:EM: Flushed pending ack for MessageCounter:20807556 on exchange 49946i
[1690540325.496486][9488:9490] CHIP:EM: >>> [E:48664r S:38251 M:20807557] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:05 (IM:ReportData)
[1690540325.496520][9488:9490] CHIP:EM: Handling via exchange: 48664r, Delegate: 0x5639a50ebc68
[1690540325.496552][9488:9490] CHIP:DMG: ReportDataMessage =
[1690540325.496565][9488:9490] CHIP:DMG: {
[1690540325.496576][9488:9490] CHIP:DMG: SubscriptionId = 0x3a11136b,
[1690540325.496587][9488:9490] CHIP:DMG: InteractionModelRevision = 1
[1690540325.496595][9488:9490] CHIP:DMG: }
[1690540325.496632][9488:9490] CHIP:DMG: Refresh LivenessCheckTime for 804224 milliseconds with SubscriptionId = 0x3a11136b Peer = 01:0000000000000001
[1690540325.496682][9488:9490] CHIP:EM: <<< [E:48664r S:38251 M:151709016 (Ack:20807557)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
[1690540325.496697][9488:9490] CHIP:IN: (S) Sending msg 151709016 on secure session with LSID: 38251
[1690540325.497211][9488:9490] CHIP:EM: >>> [E:48664r S:38251 M:20807558 (Ack:151709016)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1690540325.497237][9488:9490] CHIP:EM: Found matching exchange: 48664r, Delegate: (nil)
[1690540325.497258][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709016 from Retrans Table on exchange 48664r
[1690540381.062201][9488:9490] CHIP:EM: >>> [E:48665r S:38251 M:20807559] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:05 (IM:ReportData)
[1690540381.062234][9488:9490] CHIP:EM: Handling via exchange: 48665r, Delegate: 0x5639a50ebc68
[1690540381.062272][9488:9490] CHIP:DMG: ReportDataMessage =
[1690540381.062281][9488:9490] CHIP:DMG: {
[1690540381.062289][9488:9490] CHIP:DMG: SubscriptionId = 0x3ef5dc34,
[1690540381.062296][9488:9490] CHIP:DMG: AttributeReportIBs =
[1690540381.062308][9488:9490] CHIP:DMG: [
[1690540381.062315][9488:9490] CHIP:DMG: AttributeReportIB =
[1690540381.062325][9488:9490] CHIP:DMG: {
[1690540381.062332][9488:9490] CHIP:DMG: AttributeDataIB =
[1690540381.062338][9488:9490] CHIP:DMG: {
[1690540381.062346][9488:9490] CHIP:DMG: DataVersion = 0xc5569959,
[1690540381.062354][9488:9490] CHIP:DMG: AttributePathIB =
[1690540381.062367][9488:9490] CHIP:DMG: {
[1690540381.062375][9488:9490] CHIP:DMG: Endpoint = 0x1,
[1690540381.062383][9488:9490] CHIP:DMG: Cluster = 0x6,
[1690540381.062392][9488:9490] CHIP:DMG: Attribute = 0x0000_4001,
[1690540381.062399][9488:9490] CHIP:DMG: }
[1690540381.062409][9488:9490] CHIP:DMG:
[1690540381.062417][9488:9490] CHIP:DMG: Data = 1,
[1690540381.062423][9488:9490] CHIP:DMG: },
[1690540381.062433][9488:9490] CHIP:DMG:
[1690540381.062439][9488:9490] CHIP:DMG: },
[1690540381.062447][9488:9490] CHIP:DMG:
[1690540381.062453][9488:9490] CHIP:DMG: ],
[1690540381.062463][9488:9490] CHIP:DMG:
[1690540381.062470][9488:9490] CHIP:DMG: InteractionModelRevision = 1
[1690540381.062476][9488:9490] CHIP:DMG: }
[1690540381.062543][9488:9490] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 3310786905
[1690540381.062558][9488:9490] CHIP:TOO: OnTime: 1
[1690540381.062580][9488:9490] CHIP:DMG: Refresh LivenessCheckTime for 104224 milliseconds with SubscriptionId = 0x3ef5dc34 Peer = 01:0000000000000001
[1690540381.062627][9488:9490] CHIP:EM: <<< [E:48665r S:38251 M:151709017 (Ack:20807559)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
[1690540381.062641][9488:9490] CHIP:IN: (S) Sending msg 151709017 on secure session with LSID: 38251
[1690540381.063237][9488:9490] CHIP:EM: >>> [E:48665r S:38251 M:20807560 (Ack:151709017)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1690540381.063261][9488:9490] CHIP:EM: Found matching exchange: 48665r, Delegate: (nil)
[1690540381.063276][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709017 from Retrans Table on exchange 48665r
disabled: true
- label:
"Step 9: CR1 sends a subscription request action for an attribute and
set the MinIntervalFloor value to be greater than MaxIntervalCeiling."
verification: |
Please send the following command from CR1 (the subscription requester) to DUT (the device under test) to activate the subscription for the "on-time" attribute, setting the MinIntervalFloor value to be greater than MaxIntervalCeiling:
onoff subscribe on-time 500 100 1 1 --keepSubscriptions true
On CR1 (chip-tool), verify that the DUT sends an error message, confirming that the subscription is not established successfully
[1661754615.089845][103654:103659] CHIP:DMG: StatusResponseMessage =
[1661754615.089857][103654:103659] CHIP:DMG: {
[1661754615.089868][103654:103659] CHIP:DMG: Status = 0x80 (INVALID_ACTION),
[1661754615.089879][103654:103659] CHIP:DMG: InteractionModelRevision = 1
[1661754615.089889][103654:103659] CHIP:DMG: }
[1661754615.089901][103654:103659] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
[1661754615.089927][103654:103659] CHIP:EM: Piggybacking Ack for MessageCounter:223396916 on exchange: 6193i
disabled: true
- label:
"Step 10: CR1 sends a subscription request to subscribe to a specific
global attribute from all clusters on all endpoints. AttributePath =
[[Attribute = Global Attribute]]. +"
verification: |
any subscribe-by-id 0xFFFFFFFF 0xFFFD 10 300 1 0xFFFF --keepSubscriptions true
The following log is an example of the output obtained for Attribute 0x0000_FFFD on Endpoint 0
Pls repeat this for every cluster on every endpoint. The log represents the attributes of clusters found on different endpoints.
Verify the presence of mandatory global attribute ClusterRevision for every cluster on every endpoint:
Verification Instructions:
Please use the provided example log as a guide to verify the attributes for other clusters and endpoints in a similar manner.
[1690541617.461279][9488:9490] CHIP:DMG: }
[1690541617.461374][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 124546948
[1690541617.461379][9488:9490] CHIP:TOO: ClusterRevision: 4
[1690541617.461388][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 1468663600
[1690541617.461391][9488:9490] CHIP:TOO: ClusterRevision: 4
[1690541617.461399][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2536415407
[1690541617.461402][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690541617.461410][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 1723648967
[1690541617.461413][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690541617.461421][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 659240739
[1690541617.461424][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690541617.461432][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 3950349597
[1690541617.461435][9488:9490] CHIP:TOO: ClusterRevision: 2
[1690541617.461443][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 1224601682
[1690541617.461446][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690541617.461454][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 2744454868
[1690541617.461456][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690541617.461464][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 463823876
[1690541617.461467][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690541617.461475][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 115397017
[1690541617.461477][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690541617.461485][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 85684249
[1690541617.461488][9488:9490] CHIP:TOO: ClusterRevision: 2
[1690541617.461496][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 75615160
[1690541617.461498][9488:9490] CHIP:TOO: ClusterRevision: 1
disabled: true
- label:
"Step 11: CR1 sends a subscription request to subscribe to a global
attribute on an endpoint on all clusters. AttributePath = [[Attribute
= Global Attribute, Endpoint = EndpointID ]]. +"
verification: |
any subscribe-by-id 0xFFFFFFFF 0xFFFD 10 300 1 0 --keepSubscriptions true
The following log is an example of the output obtained for Attribute 0x0000_FFFD on Endpoint 0
Pls repeat this for every cluster on endpoint 0. The log represents the attribute of clusters found on endpoint 0.
Verify the presence of mandatory global attribute ClusterRevision for every cluster on every endpoint:
Verification Instructions:
Please use the provided example log as a guide to verify the attributes for other clusters and endpoints in a similar manner.
[1690542041.905545][9488:9490] CHIP:DMG: InteractionModelRevision = 1
[1690542041.905546][9488:9490] CHIP:DMG: }
[1690542041.905621][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_FFFD DataVersion: 124546948
[1690542041.905625][9488:9490] CHIP:TOO: ClusterRevision: 4
[1690542041.905634][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Attribute 0x0000_FFFD DataVersion: 1468663600
[1690542041.905637][9488:9490] CHIP:TOO: ClusterRevision: 4
[1690542041.905646][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 2536415407
[1690542041.905649][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905657][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001E Attribute 0x0000_FFFD DataVersion: 1723648967
[1690542041.905659][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905667][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFD DataVersion: 659240739
[1690542041.905670][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905678][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFD DataVersion: 3950349597
[1690542041.905680][9488:9490] CHIP:TOO: ClusterRevision: 2
[1690542041.905688][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002A Attribute 0x0000_FFFD DataVersion: 1224601682
[1690542041.905691][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905699][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002B Attribute 0x0000_FFFD DataVersion: 2744454868
[1690542041.905701][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905710][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002C Attribute 0x0000_FFFD DataVersion: 463823876
[1690542041.905712][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905720][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002D Attribute 0x0000_FFFD DataVersion: 115397017
[1690542041.905722][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905730][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002F Attribute 0x0000_FFFD DataVersion: 85684249
[1690542041.905733][9488:9490] CHIP:TOO: ClusterRevision: 2
[1690542041.905741][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0030 Attribute 0x0000_FFFD DataVersion: 75615160
[1690542041.905743][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905751][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFD DataVersion: 1962336111
[1690542041.905753][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905761][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFD DataVersion: 465381371
[1690542041.905763][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905772][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFD DataVersion: 2781452270
[1690542041.905774][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905782][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFD DataVersion: 3343308905
[1690542041.905784][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905792][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFD DataVersion: 1933667935
[1690542041.905794][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905803][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0036 Attribute 0x0000_FFFD DataVersion: 1917440631
[1690542041.905806][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905814][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFD DataVersion: 2059544742
[1690542041.905816][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905824][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0038 Attribute 0x0000_FFFD DataVersion: 292367345
[1690542041.905826][9488:9490] CHIP:TOO: ClusterRevision: 2
[1690542041.905835][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003C Attribute 0x0000_FFFD DataVersion: 4275836516
[1690542041.905837][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905845][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFD DataVersion: 2334789054
[1690542041.905848][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905856][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFD DataVersion: 2215403935
[1690542041.905858][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905866][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFD DataVersion: 1171006049
[1690542041.905868][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905877][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFD DataVersion: 1339481925
[1690542041.905879][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905887][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_FFFD DataVersion: 2155717858
[1690542041.905889][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.905897][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0405 Attribute 0x0000_FFFD DataVersion: 2620361579
[1690542041.906830][9488:9490] CHIP:TOO: ClusterRevision: 3
[1690542041.906854][9488:9490] CHIP:TOO: Endpoint: 0 Cluster: 0xFFF1_FC06 Attribute 0x0000_FFFD DataVersion: 2161647034
[1690542041.906860][9488:9490] CHIP:TOO: ClusterRevision: 1
[1690542041.906886][9488:9490] CHIP:DMG: MoveToState ReadClient[0x7faef801d0f0]: Moving to [AwaitingSu]
[1690542041.906910][9488:9490] CHIP:EM: <<< [E:49949i S:38251 M:151709045 (Ack:20807605)] (S) Msg TX to 1:0000000000000001 [8B98] --- Type 0001:01 (IM:StatusResponse)
[1690542041.906915][9488:9490] CHIP:IN: (S) Sending msg 151709045 on secure session with LSID: 38251
[1690542041.907098][9488:9490] CHIP:EM: >>> [E:49949i S:38251 M:20807606 (Ack:151709045)] (S) Msg RX from 1:0000000000000001 [8B98] --- Type 0001:04 (IM:SubscribeResponse)
[1690542041.907107][9488:9490] CHIP:EM: Found matching exchange: 49949i, Delegate: 0x7faef801d100
[1690542041.907113][9488:9490] CHIP:EM: Rxd Ack; Removing MessageCounter:151709045 from Retrans Table on exchange 49949i
[1690542041.907119][9488:9490] CHIP:DMG: SubscribeResponse is received
[1690542041.907126][9488:9490] CHIP:DMG: SubscribeResponseMessage =
[1690542041.907128][9488:9490] CHIP:DMG: {
[1690542041.907131][9488:9490] CHIP:DMG: SubscriptionId = 0x9488dc04,
[1690542041.907134][9488:9490] CHIP:DMG: MaxInterval = 0x12c,
[1690542041.907137][9488:9490] CHIP:DMG: InteractionModelRevision = 1
[1690542041.907139][9488:9490] CHIP:DMG: }
[1690542041.907144][9488:9490] CHIP:DMG: Subscription established with SubscriptionID = 0x9488dc04 MinInterval = 10s MaxInterval = 300s Peer = 01:0000000000000001
disabled: true
- label:
"Step 12: CR1 sends a subscription request to the DUT with both
AttributeRequests and EventRequests as empty"
verification: |
Please send the following command from TH (the subscription requester) to DUT (the device under test) to activate the subscription with both AttributeRequests and EventRequests as empty
any subscribe-none 10 100 1 --keepSubscriptions 1
On CR1 (chip-tool), verify that the DUT sends an error message, confirming that the subscription is not established successfully
[1690884829.708780][84191:84193] CHIP:EM: Rxd Ack; Removing MessageCounter:136461510 from Retrans Table on exchange 23099i
[1690884829.708861][84191:84193] CHIP:DMG: StatusResponseMessage =
[1690884829.708907][84191:84193] CHIP:DMG: {
[1690884829.708947][84191:84193] CHIP:DMG: Status = 0x80 (INVALID_ACTION),
[1690884829.708988][84191:84193] CHIP:DMG: InteractionModelRevision = 1
[1690884829.709026][84191:84193] CHIP:DMG: }
[1690884829.709064][84191:84193] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION)
[1690884829.709196][84191:84193] CHIP:EM: <<< [E:23099i S:5058 M:136461511 (Ack:90075666)] (S) Msg TX to 1:0000000000000001 [EAE3] --- Type 0001:01 (IM:StatusResponse)
[1690884829.709252][84191:84193] CHIP:IN: (S) Sending msg 136461511 on secure session with LSID: 5058
[1690884829.709420][84191:84193] CHIP:DMG: MoveToState ReadClient[0xffff9c005e90]: Moving to [ Idle]
disabled: true