Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix python Wi-Fi/Thread setup with manual code #33933

Conversation

tcarmelveilleux
Copy link
Contributor

  • Plumbing was missing to pass down the short discriminator
  • Passing --manual-code 1234-567-8901 which only has short discriminator, would always fail to find device over BLE

Fixes #26907

This PR:

  • Adds plumbing to detect short discriminator in Python controller
  • Improves code-based setup in CHIPDeviceController to honor the SetupDiscriminator value, including whether short/long.

Testing done:

  • Ran python3 src/python_testing/TC_SC_3_6.py --commissioning-method ble-wifi --wifi-ssid MySsid --wifi-passphrase Secret123 --manual-code 2168-374-4904 --storage-path kvs1
    • Before fix, discriminator always mismatched.
    • After fix, commissioning succeeds.
  • Unit tests and other integration tests still pass

- Plumbing was missing to pass down the short discriminator
- Passing `--manual-code 1234-567-8901` which only has short
  discriminator, would always fail to find device over BLE

Fixes project-chip#26907

This PR:

- Adds plumbing to detect short discriminator in Python controller
- Improves code-based setup in CHIPDeviceController to honor the
  SetupDiscriminator value, including whether short/long.

Testing done:
- Ran `python3 src/python_testing/TC_SC_3_6.py --commissioning-method ble-wifi --wifi-ssid MySsid --wifi-passphrase Secret123 --manual-code 2168-374-4904 --storage-path kvs1`
  - Before fix, discriminator always mismatched.
  - After fix, commissioning succeeds.
- Unit tests and other integration tests still pass
Copy link

github-actions bot commented Jun 14, 2024

PR #33933: Size comparison from a12a0c0 to df49964

Full report (22 builds for cc13x4_26x4, cc32xx, linux, mbed, nrfconnect, nxp, qpg, stm32, tizen)
platform target config section a12a0c0 df49964 change % change
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 797600 797604 4 0.0
RAM 103088 103088 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 813260 813264 4 0.0
RAM 113568 113568 0 0.0
lock-mtd LP_EM_CC1354P10_6 FLASH 802792 802788 -4 -0.0
RAM 107688 107688 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 755592 755588 -4 -0.0
RAM 101788 101788 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 741248 741252 4 0.0
RAM 102036 102036 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 605586 605546 -40 -0.0
RAM 204512 204512 0 0.0
lock CC3235SF_LAUNCHXL FLASH 651214 651174 -40 -0.0
RAM 204772 204772 0 0.0
linux chip-tool-ipv6only arm64 unknown 19816 19816 0 0.0
FLASH 10659316 10659492 176 0.0
RAM 583448 583448 0 0.0
thermostat-no-ble arm64 unknown 9184 9184 0 0.0
FLASH 4152436 4152356 -80 -0.0
RAM 234584 234584 0 0.0
mbed lock-app-release cy8cproto_062_4343w FLASH 1497436 1497436 0 0.0
RAM 226072 226072 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 875740 875744 4 0.0
RAM 139129 139129 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 948860 948868 8 0.0
RAM 137557 137557 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 821952 821956 4 0.0
RAM 138027 138027 0 0.0
nxp contact k32w0+release FLASH 575228 575228 0 0.0
RAM 70024 70024 0 0.0
k32w1+release FLASH 590360 590344 -16 -0.0
RAM 74056 74056 0 0.0
light k32w0+release FLASH 609288 609304 16 0.0
RAM 69500 69500 0 0.0
k32w1+release FLASH 673760 673752 -8 -0.0
RAM 82808 82808 0 0.0
qpg lighting-app qpg6105+debug FLASH 650120 650120 0 0.0
RAM 104556 104556 0 0.0
lock-app qpg6105+debug FLASH 610252 610244 -8 -0.0
RAM 99232 99232 0 0.0
stm32 light STM32WB5MM-DK FLASH 471948 471944 -4 -0.0
RAM 141652 141652 0 0.0
tizen all-clusters-app arm unknown 1548 1548 0 0.0
FLASH 1620576 1620524 -52 -0.0
RAM 45412 45420 8 0.0
chip-tool-ubsan arm unknown 2360 2360 0 0.0
FLASH 15755698 15757082 1384 0.0
RAM 6913544 6914184 640 0.0

src/protocols/secure_channel/RendezvousParameters.h Outdated Show resolved Hide resolved
src/protocols/secure_channel/RendezvousParameters.h Outdated Show resolved Hide resolved
src/lib/support/SetupDiscriminator.h Outdated Show resolved Hide resolved
Copy link

github-actions bot commented Jun 14, 2024

PR #33933: Size comparison from a12a0c0 to 1aa93d0

Full report (4 builds for cc32xx, mbed, stm32)
platform target config section a12a0c0 1aa93d0 change % change
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 605586 605542 -44 -0.0
RAM 204512 204512 0 0.0
lock CC3235SF_LAUNCHXL FLASH 651214 651170 -44 -0.0
RAM 204772 204772 0 0.0
mbed lock-app-release cy8cproto_062_4343w FLASH 1497436 1497372 -64 -0.0
RAM 226072 226072 0 0.0
stm32 light STM32WB5MM-DK FLASH 471948 471944 -4 -0.0
RAM 141652 141652 0 0.0

Copy link

github-actions bot commented Jun 14, 2024

PR #33933: Size comparison from a12a0c0 to 7399c9a

Full report (85 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, mbed, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section a12a0c0 7399c9a change % change
bl602 lighting-app bl602 FLASH 1269916 1269812 -104 -0.0
RAM 95328 95328 0 0.0
bl602+mfd FLASH 1284194 1284090 -104 -0.0
RAM 95480 95480 0 0.0
bl602+rpc FLASH 1309130 1309012 -118 -0.0
RAM 103760 103760 0 0.0
bl702 lighting-app bl702 FLASH 1090556 1090452 -104 -0.0
RAM 14897 14897 0 0.0
bl702+mfd FLASH 1101506 1101402 -104 -0.0
RAM 15049 15049 0 0.0
bl702+rpc FLASH 1180636 1180518 -118 -0.0
RAM 23925 23925 0 0.0
bl706-eth FLASH 874156 874052 -104 -0.0
RAM 27016 27016 0 0.0
bl706-wifi FLASH 1126382 1126278 -104 -0.0
RAM 14349 14349 0 0.0
bl702l lighting-app bl702l FLASH 1077698 1077594 -104 -0.0
RAM 21468 21468 0 0.0
bl702l+mfd FLASH 1088960 1088856 -104 -0.0
RAM 21628 21628 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 797600 797596 -4 -0.0
RAM 103088 103088 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 813260 813264 4 0.0
RAM 113568 113568 0 0.0
lock-mtd LP_EM_CC1354P10_6 FLASH 802792 802788 -4 -0.0
RAM 107688 107688 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 755592 755588 -4 -0.0
RAM 101788 101788 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 741248 741244 -4 -0.0
RAM 102036 102036 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 605586 605542 -44 -0.0
RAM 204512 204512 0 0.0
lock CC3235SF_LAUNCHXL FLASH 651214 651170 -44 -0.0
RAM 204772 204772 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 661173 661173 0 0.0
RAM 74512 74512 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 681017 681017 0 0.0
RAM 77144 77144 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 681017 681017 0 0.0
RAM 77144 77144 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 637953 637961 8 0.0
RAM 69580 69580 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 603637 603637 0 0.0
RAM 70216 70216 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 623273 623281 8 0.0
RAM 72768 72768 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 623273 623281 8 0.0
RAM 72768 72768 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619141 619141 0 0.0
RAM 73232 73232 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 638857 638857 0 0.0
RAM 75784 75784 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 638857 638857 0 0.0
RAM 75784 75784 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 587717 587717 0 0.0
RAM 67200 67200 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 607569 607569 0 0.0
RAM 69832 69832 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 607569 607569 0 0.0
RAM 69832 69832 0 0.0
efr32 lighting-app BRD4187C FLASH 887768 887760 -8 -0.0
RAM 183424 183424 0 0.0
lock-app BRD4338a FLASH 699880 699880 0 0.0
RAM 242228 242228 0 0.0
window-app BRD4187C FLASH 969212 969212 0 0.0
RAM 167856 167856 0 0.0
esp32 all-clusters-app c3devkit DRAM 88324 88324 0 0.0
FLASH 1468444 1468440 -4 -0.0
IRAM 75570 75570 0 0.0
m5stack DRAM 114796 114796 0 0.0
FLASH 1537607 1537607 0 0.0
IRAM 125403 125403 0 0.0
linux air-purifier-app debug unknown 4568 4568 0 0.0
FLASH 2533920 2533856 -64 -0.0
RAM 129072 129072 0 0.0
all-clusters-app debug unknown 5344 5344 0 0.0
FLASH 5579230 5579166 -64 -0.0
RAM 483240 483240 0 0.0
all-clusters-minimal-app debug unknown 5264 5264 0 0.0
FLASH 5052920 5052856 -64 -0.0
RAM 236792 236792 0 0.0
bridge-app debug unknown 5232 5232 0 0.0
FLASH 4479528 4479464 -64 -0.0
RAM 216752 216752 0 0.0
chip-tool debug unknown 5744 5744 0 0.0
FLASH 11521847 11522695 848 0.0
RAM 535426 535426 0 0.0
chip-tool-ipv6only arm64 unknown 19816 19816 0 0.0
FLASH 10659316 10660164 848 0.0
RAM 583448 583448 0 0.0
fabric-admin debug unknown 5600 5600 0 0.0
FLASH 11292023 11292855 832 0.0
RAM 529010 529010 0 0.0
fabric-bridge-app debug unknown 5240 5240 0 0.0
FLASH 4349352 4349288 -64 -0.0
RAM 208800 208800 0 0.0
lighting-app debug+rpc+ui unknown 5864 5864 0 0.0
FLASH 5366722 5366658 -64 -0.0
RAM 225392 225392 0 0.0
lock-app debug unknown 5184 5184 0 0.0
FLASH 4543736 4543672 -64 -0.0
RAM 204208 204208 0 0.0
ota-provider-app debug unknown 4552 4552 0 0.0
FLASH 4179640 4179576 -64 -0.0
RAM 193200 193200 0 0.0
ota-requestor-app debug unknown 4488 4488 0 0.0
FLASH 4303880 4303816 -64 -0.0
RAM 197840 197840 0 0.0
shell debug unknown 4112 4112 0 0.0
FLASH 2800733 2800669 -64 -0.0
RAM 154392 154392 0 0.0
thermostat-no-ble arm64 unknown 9184 9184 0 0.0
FLASH 4152436 4152356 -80 -0.0
RAM 234584 234584 0 0.0
tv-app debug unknown 5472 5472 0 0.0
FLASH 5593928 5594792 864 0.0
RAM 345640 345640 0 0.0
tv-casting-app debug unknown 5104 5104 0 0.0
FLASH 9568294 9568230 -64 -0.0
RAM 352800 352800 0 0.0
mbed lock-app-release cy8cproto_062_4343w FLASH 1497436 1497372 -64 -0.0
RAM 226072 226072 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 875740 875736 -4 -0.0
RAM 139129 139129 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 948860 948860 0 0.0
RAM 137557 137557 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 821952 821948 -4 -0.0
RAM 138027 138027 0 0.0
nxp contact k32w0+release FLASH 575228 575228 0 0.0
RAM 70024 70024 0 0.0
k32w1+release FLASH 590360 590344 -16 -0.0
RAM 74056 74056 0 0.0
light k32w0+release FLASH 609288 609288 0 0.0
RAM 69500 69500 0 0.0
k32w1+release FLASH 673760 673752 -8 -0.0
RAM 82808 82808 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1613260 1613212 -48 -0.0
RAM 207132 207132 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1534588 1534540 -48 -0.0
RAM 204036 204036 0 0.0
light cy8ckit_062s2_43012 FLASH 1460940 1460892 -48 -0.0
RAM 197316 197316 0 0.0
lock cy8ckit_062s2_43012 FLASH 1463268 1463236 -32 -0.0
RAM 224380 224380 0 0.0
qpg lighting-app qpg6105+debug FLASH 650120 650112 -8 -0.0
RAM 104556 104556 0 0.0
lock-app qpg6105+debug FLASH 610252 610244 -8 -0.0
RAM 99232 99232 0 0.0
stm32 light STM32WB5MM-DK FLASH 471948 471944 -4 -0.0
RAM 141652 141652 0 0.0
telink air-quality-sensor-app tlsr9528a_retention FLASH 625438 625434 -4 -0.0
RAM 49904 49904 0 0.0
all-clusters-app tlsr9118bdk40d FLASH 602186 602182 -4 -0.0
RAM 130288 130288 0 0.0
all-clusters-minimal-app tlsr9528a FLASH 770328 770324 -4 -0.0
RAM 110052 110052 0 0.0
bridge-app tlsr9258a FLASH 668524 668520 -4 -0.0
RAM 94672 94672 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 627160 627156 -4 -0.0
RAM 49948 49948 0 0.0
light-switch-app-ota-shell-factory-data tlsr9528a FLASH 712966 712970 4 0.0
RAM 76540 76540 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 557850 557846 -4 -0.0
RAM 126544 126544 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 792926 792926 0 0.0
RAM 99900 99900 0 0.0
lock-app-dfu tlsr9528a FLASH 660300 660296 -4 -0.0
RAM 69228 69228 0 0.0
ota-requestor-app tlsr9258a FLASH 686846 686842 -4 -0.0
RAM 94396 94396 0 0.0
pump-app tlsr9518adk80d FLASH 609344 609340 -4 -0.0
RAM 56328 56328 0 0.0
pump-controller-app tlsr9518adk80d FLASH 599730 599726 -4 -0.0
RAM 56128 56128 0 0.0
shell tlsr9518adk80d FLASH 462614 462614 0 0.0
RAM 71852 71852 0 0.0
smoke_co_alarm-app tlsr9528a_retention FLASH 633522 633518 -4 -0.0
RAM 51576 51576 0 0.0
temperature-measurement-app-mars-ota tlsr9518adk80d FLASH 642584 642580 -4 -0.0
RAM 59764 59764 0 0.0
thermostat tlsr9518adk80d FLASH 618620 618616 -4 -0.0
RAM 56452 56452 0 0.0
window-covering tlsr9118bdk40d FLASH 464848 464844 -4 -0.0
RAM 82224 82224 0 0.0
tizen all-clusters-app arm unknown 1548 1548 0 0.0
FLASH 1620576 1620524 -52 -0.0
RAM 45412 45420 8 0.0
chip-tool-ubsan arm unknown 2360 2360 0 0.0
FLASH 15755698 15758338 2640 0.0
RAM 6913544 6915248 1704 0.0

@yufengwangca yufengwangca merged commit 3d78493 into project-chip:master Jun 14, 2024
69 checks passed
agners added a commit to home-assistant-libs/chip-wheels that referenced this pull request Jun 17, 2024
This adds more cleanups from the master branch to keep our 1.3 based
branch close to upstream. Most noteworthy here are a patch which stops
mDNS discovery when using the on-network commissioning API, fixes when
commissioning using WiFi/Thread setup through BLE directly (the Python
Matter Server isn't using this APIs currently), dropping unnecessary
code and and general messaging cleanup.

Specifically, this integrates changes from the following PRs
- project-chip/connectedhomeip#33882
- project-chip/connectedhomeip#33896
- project-chip/connectedhomeip#33891
- project-chip/connectedhomeip#33880
- project-chip/connectedhomeip#33914
- project-chip/connectedhomeip#33915
- project-chip/connectedhomeip#33933
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[python] ChipDeviceController BLE API do not support discovery by short discriminator
4 participants