| # 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 |