| # Copyright (c) 2021 Project CHIP Authors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default |
| |
| name: |
| 3.3.16. [TC-DD-3.16] Commissioning Flow - 11-digit Manual Pairing Code - |
| Negative Scenario [DUT - Commissioner] |
| |
| PICS: |
| - MCORE.ROLE.COMMISSIONER |
| - MCORE.DD.11_MANUAL_PC |
| |
| config: |
| nodeId: 0x12344321 |
| cluster: "Basic" |
| endpoint: 0 |
| |
| tests: |
| - label: "Note" |
| verification: | |
| Chip-tool command used below are an example to verify the DUT as commissioner test cases. For certification test, we expect DUT should have a capability or way to run the equivalent command. |
| disabled: true |
| |
| - label: "Preconditions" |
| verification: | |
| 1 - DUT is on an operational network and has accurate date, time, timezone, regulatory, and fabric information available. |
| |
| 2 - 5.1.4.2 - 11-digit Manual Pairing Code is printed on the Commissionee device or in additional provided materials (ex: manual). |
| |
| An example onboarding payload could be "34970112332" (following 5.1.4. Table 37. "Manual Pairing Code Elements") which each include: |
| |
| - 1-bit VID_PID_PRESENT = 0 (11-digit only) |
| |
| - 1-bit VERSION=0 |
| |
| - 4-bit SHORT DISCRIMINATOR=0xF00 (4 Most-significant bits of the 12-bits Discriminator value) |
| |
| - 27-bit PASSCODE=20202021 (see section 5.1.6. Generation of the Passcode) |
| |
| - 16-bit VENDOR_ID=0xFFF1 (as defined in section 2.5.2. "Vendor Identifier", for 21-digit Manual Pairing Code only) |
| |
| - 16-bit PRODUCT_ID=0x8001 (as defined in section 2.5.3. "Product Identifier", present if and only if VID is present) |
| |
| - A generated CHECK_DIGIT (see section 5.1.4. Manual Pairing Code, subsection "Check Digit") |
| disabled: true |
| |
| - label: |
| "Provide the 11-digit Manual Pairing Code from the Commissionee to the |
| DUT in any format supported by DUT" |
| verification: | |
| Verify on the TH Commissionee side: |
| $ ./out/all-clusters-app/chip-all-clusters-app --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --custom-flow 0 --capabilities 4 --discriminator 3840 --passcode 20202021 |
| |
| [1651180718.960383][13218:13218] CHIP:DL: Device Configuration: |
| [1651180718.960441][13218:13218] CHIP:DL: Serial Number: TEST_SN |
| [1651180718.960477][13218:13218] CHIP:DL: Vendor Id: 65521 (0xFFF1) |
| [1651180718.960512][13218:13218] CHIP:DL: Product Id: 32769 (0x8001) |
| [1651180718.960546][13218:13218] CHIP:DL: Hardware Version: 0 |
| [1651180718.960569][13218:13218] CHIP:DL: Setup Pin Code (0 for UNKNOWN/ERROR): 20202021 |
| [1651180718.960597][13218:13218] CHIP:DL: Setup Discriminator (0xFFFF for UNKNOWN/ERROR): 3840 (0xF00) |
| [1651180718.960627][13218:13218] CHIP:DL: Manufacturing Date: (not set) |
| [1651180718.960650][13218:13218] CHIP:DL: Device Type: 65535 (0xFFFF) |
| [1651180718.960671][13218:13218] CHIP:-: ==== Onboarding payload for Standard Commissioning Flow ==== |
| [1651180718.960729][13218:13218] CHIP:SVR: SetupQRCode: [MT:-24J0AFN00KA0648G00] |
| [1651180718.960760][13218:13218] CHIP:SVR: Copy/paste the below URL in a browser to see the QR Code: |
| [1651180718.960781][13218:13218] CHIP:SVR: https://dhrishi.github.io/connectedhomeip/qrcode.html?data=MT%3A-24J0AFN00KA0648G00 |
| [1651180718.960814][13218:13218] CHIP:SVR: Manual pairing code: [34970112332] |
| disabled: true |
| |
| - label: |
| "VERSION: Using the manual code from Step 1, generate a new manual |
| code but substituting out the current VERSION with an invalid VERSION: |
| 2" |
| verification: | |
| 1. Use chip-tool"s "payload verhoeff-generate" command to help generate the new, invalid Manual code |
| No applicable DUT or TH logs |
| |
| $ ./chip-tool payload verhoeff-generate 8497011233 |
| |
| [1651186243492] [13415:349553] CHIP: [SPL] Generating Character for: 84970112331 |
| [1651186243492] [13415:349553] CHIP: [SPL] Generated Char: 1 |
| Manual Code: 84970112331 |
| disabled: true |
| |
| - label: |
| "Provide the Manual Pairing Code, generated in the previous step, to |
| the DUT in any format supported by the DUT" |
| verification: | |
| $ ./chip-tool pairing code 1 84970112331 |
| |
| Verify in DUT Commissioner side |
| |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| disabled: true |
| |
| - label: |
| "VID_PID_PRESENT: Using the manual code from Step 1, generate a new |
| manual code but substituting out the current VID_PID_PRESENT with an |
| invalid VID_PID_PRESENT set to 1" |
| verification: | |
| 1. Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code |
| No applicable DUT or TH logs |
| |
| $ ./chip-tool payload generate-manualcode --discriminator 0xF00 --setup-pin-code 20202021 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 2 --force-short-code 1 |
| |
| [1651181048462] [11611:269469] CHIP: [TOO] Manual Code: 74970112334 |
| disabled: true |
| |
| - label: |
| "Provide the Manual Pairing Code, generated in the previous step, to |
| the DUT in any format supported by the DUT" |
| verification: | |
| $ ./chip-tool pairing code 1 74970112334 |
| |
| Verify on the DUT Commissioner side: |
| [1651184274318] [12512:321250] CHIP: [SPL] Failed decoding base10. Input length 10 was not expected length 20 |
| ... |
| [1651184274321] [12512:321244] CHIP: [TOO] Run command failure: ../../examples/chip-tool/third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:63: CHIP Error 0x0000001E: Invalid string length |
| disabled: true |
| |
| - label: |
| "SHORT DISCRIMINATOR: Using the manual code from Step 1, generate a |
| new manual code but substituting out the current SHORT DISCRIMINATOR |
| string with a discriminator value that makes the generated manual code |
| differ from Step 1s manual code (i.e. Choose a discriminator value |
| that changes any of the 4 most-significant bits of Step 1s 12-bit |
| discriminator value and adheres to rules of section 5.1.1.5. |
| Discriminator value)" |
| verification: | |
| 1. Use chip-tool"s "payload generate-manualcode" command to help generate the new, invalid Manual code |
| No applicable DUT or TH logs |
| |
| $ ./chip-tool payload generate-manualcode --existing-payload 34970112332 --discriminator 0xE00 |
| [1657236763262] [31784:16850989] CHIP: [TOO] Manual Code: 33331712336 |
| |
| Manual Code: 33331712336 |
| disabled: true |
| |
| - label: |
| "Provide the Manual Pairing Code, generated in the previous step, to |
| the DUT in any format supported by the DUT" |
| verification: | |
| Verify on the DUT Commissioner side: |
| $ ./chip-tool pairing code 1 33331712336 |
| |
| [1654001605.517505][3200:3205] CHIP:-: ../../third_party/connectedhomeip/src/platform/Linux/BLEManagerImpl.cpp:748: CHIP Error 0x0000002D: Not Implemented at ../../third_party/connectedhomeip/src/controller/SetUpCodePairer.cpp:450 |
| [1654001605.517563][3200:3205] CHIP:CTL: Stopping commissioning discovery over DNS-SD |
| [1654001605.517619][3200:3205] CHIP:TOO: Secure Pairing Failed |
| disabled: true |
| |
| - label: |
| "Passcode: Using the manual code from Step 1, generate a new manual |
| code using all the same Onboarding Payload components except for the |
| Passcode. For each Passcode in the following list, set the Passcode |
| component to one of the invalid Passcode and generate a new manual |
| code using all the same Onboarding Payload components and one Passcode |
| from the list: 00000000, 11111111, 22222222, 33333333, 44444444, |
| 55555555, 66666666, 77777777, 88888888, 99999999, 12345678, 87654321" |
| verification: | |
| 1. Use these as examples of how to generate manual codes with invalid passcodes |
| No applicable DUT or TH logs |
| |
| "34915200008" (00000000), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 00000000 |
| [1651182185732] [11790:282099] CHIP: [TOO] Manual Code: 34915200008 |
| |
| "35191106788" (11111111), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 11111111 |
| [1651182284292] [11799:283222] CHIP: [TOO] Manual Code: 35191106788 |
| |
| "35467013565" (22222222), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 22222222 |
| [1651182331458] [11817:283904] CHIP: [TOO] Manual Code: 35467013565 |
| |
| "35742920344" (33333333), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 33333333 |
| [1651182345419] [11876:284294] CHIP: [TOO] Manual Code: 35742920344 |
| |
| "36018827124" (44444444), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 44444444 |
| [1651182362963] [11944:284816] CHIP: [TOO] Manual Code: 36018827124 |
| |
| "36294733900" (55555555), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 55555555 |
| [1651182375363] [11945:284938] CHIP: [TOO] Manual Code: 36294733900 |
| |
| "34932240691" (66666666), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 66666666 |
| [1651182395140] [11958:285261] CHIP: [TOO] Manual Code: 34932240691 |
| |
| "35208147474" (77777777), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 77777777 |
| [1651182411341] [11966:285478] CHIP: [TOO] Manual Code: 35208147474 |
| |
| "35484054250" (88888888), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 88888888 |
| [1651182422264] [11967:285581] CHIP: [TOO] Manual Code: 35484054250 |
| |
| "35759961037" (99999999), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 99999999 |
| [1651182431755] [11968:285672] CHIP: [TOO] Manual Code: 35759961037 |
| |
| "35767807533" (12345678), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 12345678 |
| [1651182443511] [11969:285786] CHIP: [TOO] Manual Code: 35767807533 |
| |
| "36545753496" (87654321), |
| $ ./chip-tool payload generate-manualcode --discriminator 3840 --version 0 --vendor-id 0xFFF1 --product-id 0x8001 --commissioning-mode 0 --allow-invalid-payload 1 --setup-pin-code 87654321 |
| [1651182459737] [11970:285960] CHIP: [TOO] Manual Code: 36545753496 |
| disabled: true |
| |
| - label: |
| "Provide each of the Manual Pairing Codes, generated in the previous |
| step, to the DUT in any format supported by the DUT" |
| verification: | |
| Verify on the DUT Commissioner side: |
| No applicable TH logs |
| |
| (00000000) |
| $ ./chip-tool pairing code 1 34915200008 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (11111111) |
| $ ./chip-tool pairing code 1 35191106788 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (22222222) |
| $ ./chip-tool pairing code 1 35467013565 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (33333333) |
| $ ./chip-tool pairing code 1 35742920344 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (44444444) |
| $ ./chip-tool pairing code 1 36018827124 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (55555555) |
| $ ./chip-tool pairing code 1 36294733900 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (66666666) |
| $ ./chip-tool pairing code 1 34932240691 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (77777777) |
| $ ./chip-tool pairing code 1 35208147474 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (88888888) |
| $ ./chip-tool pairing code 1 35484054250 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (99999999) |
| $ ./chip-tool pairing code 1 35759961037 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (12345678) |
| $ ./chip-tool pairing code 1 35767807533 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| |
| (87654321) |
| $ ./chip-tool pairing code 1 36545753496 |
| Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:137: CHIP Error 0x0000002F: Invalid argument |
| disabled: true |
| |
| - label: |
| "CHECK_DIGIT: Using the manual code from Step 1, generate a new manual |
| code but substituting out the current CHECK_DIGIT with an invalid |
| CHECK_DIGIT (i.e. Any different CHECK_DIGIT than the commissionees |
| CHECK_DIGIT while following Table 38. Encoding Method without Vendor |
| and Product IDs (VID_PID_Present == 0))" |
| verification: | |
| 1. Manually change the last digit of the manual pairing code to a different digit |
| No applicable DUT or TH logs |
| |
| Manual Code: 34970112331 |
| disabled: true |
| |
| - label: |
| "Provide the Manual Pairing Code, generated in the previous step, to |
| the DUT in any format supported by the DUT" |
| verification: | |
| Verify on the DUT Commissioner side: |
| $ ./chip-tool pairing code 1 34970112331 |
| [1657586218401] [10710:465838] CHIP: [TOO] Run command failure: ../../third_party/connectedhomeip/src/setup_payload/ManualSetupPayloadParser.cpp:50: CHIP Error 0x00000013: Integrity check failed |
| disabled: true |