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

Workaround: Temorarily enable BLE during Enhanced Commissioning Window #9344

Merged
merged 1 commit into from
Sep 1, 2021

Conversation

sagar-apple
Copy link
Contributor

Problem

Our SDK currently doesn't offer a mechanism for an App to know whether a commissionable node is available on-network or via BLE.
It's impossible to know which mechanism to use (this is different from CLI based tests where the tester knows exactly what their test case is). In addition to that the on-network API requires an IP Address. Which is unreasonable to expect an app/non-tester to provide.
#9343

Problem: In addition to that, we recently disabled BLE advertisements while opening the Enhanced Commissioning Window.
Prior to that, we could use the same commissioning mechanism(BLE) to pair an accessory regardless of which commissioning mode the accessory was in.

While we address this issue with the underlying SDK, we should continue to allow BLE based commissioning even on Enhanced Commissioning Windows so that we can re-enable test and integration for this and restore prior functionality.

Change overview

Enabled BLE during the enhanced commissioning flow again.

Testing

How was this tested? (at least one bullet point required)

  • If manually tested, what platforms controller and device platforms were manually tested, and how?
    Tested that CHIPTool iOS is able to pair with an accessory put into Enhanced Commissioning mode via the chip-tool CLI.

@boring-cyborg boring-cyborg bot added the app label Aug 30, 2021
@sagar-apple sagar-apple changed the title Workaround: Temorarily enable BLE during Enchanced Commissioning Window Workaround: Temorarily enable BLE during Enhanced Commissioning Window Aug 30, 2021
@sagar-apple sagar-apple marked this pull request as ready for review August 30, 2021 21:21
@todo
Copy link

todo bot commented Aug 30, 2021

Do not turn on BLE when opening the Enhanced Commissioning Window.

// TODO: Do not turn on BLE when opening the Enhanced Commissioning Window.
#if CONFIG_NETWORK_LAYER_BLE
gAdvDelegate.SetBLE(true);
params.SetAdvertisementDelegate(&gAdvDelegate);
params.SetBleLayer(DeviceLayer::ConnectivityMgr().GetBleLayer()).SetPeerAddress(Transport::PeerAddress::BLE());
#endif // CONFIG_NETWORK_LAYER_BLE
params.SetPASEVerifier(verifier).SetAdvertisementDelegate(&gAdvDelegate);
ReturnErrorOnFailure(


This comment was generated by todo based on a TODO comment in 8b5ac05 in #9344. cc @sagar-apple.

@project-chip project-chip deleted a comment from todo bot Aug 30, 2021
@project-chip project-chip deleted a comment from todo bot Aug 30, 2021
@github-actions
Copy link

Size increase report for "gn_qpg-example-build" from 8be2f3d

File Section File VM
chip-qpg6100-lighting-example.out .text 80 80
Full report output
BLOAT REPORT

Files found only in the build output:
    report.csv

Comparing ./master_artifact/chip-qpg6100-lighting-example.out and ./pull_artifact/chip-qpg6100-lighting-example.out:

sections,vmsize,filesize
.debug_info,0,370
.debug_loc,0,303
.debug_ranges,0,224
.debug_line,0,180
.text,80,80
.debug_str,0,3
[Unmapped],0,-80

Comparing ./master_artifact/chip-qpg6100-lighting-example.out.map and ./pull_artifact/chip-qpg6100-lighting-example.out.map:

BLOAT EXECUTION FAILED WITH CODE 1:
bloaty: unknown file type for file './pull_artifact/chip-qpg6100-lighting-example.out.map'


@github-actions
Copy link

Size increase report for "nrfconnect-example-build" from 8be2f3d

File Section File VM
chip-lock.elf text 72 72
chip-lock.elf device_handles -8 -8
Full report output
BLOAT REPORT

Files found only in the build output:
    report.csv

Comparing ./master_artifact/chip-shell.elf and ./pull_artifact/chip-shell.elf:

sections,vmsize,filesize

Comparing ./master_artifact/chip-lock.elf and ./pull_artifact/chip-lock.elf:

sections,vmsize,filesize
.debug_info,0,370
.debug_loc,0,324
.debug_ranges,0,224
.debug_line,0,178
text,72,72
device_handles,-8,-8


@github-actions
Copy link

Size increase report for "esp32-example-build" from 8be2f3d

File Section File VM
chip-shell.elf .flash.text 56 56
chip-all-clusters-app.elf .flash.text 68 68
chip-temperature-measurement-app.elf .flash.text 148 148
chip-lock-app.elf .flash.text 16 16
chip-bridge-app.elf .flash.text 132 132
Full report output
BLOAT REPORT

Files found only in the build output:
    report.csv

Comparing ./master_artifact/chip-persistent-storage.elf and ./pull_artifact/chip-persistent-storage.elf:

sections,vmsize,filesize

Comparing ./master_artifact/chip-shell.elf and ./pull_artifact/chip-shell.elf:

sections,vmsize,filesize
.flash.text,56,56
[Unmapped],0,-56

Comparing ./master_artifact/chip-all-clusters-app.elf and ./pull_artifact/chip-all-clusters-app.elf:

sections,vmsize,filesize
.debug_info,0,271
.debug_line,0,235
.debug_loc,0,225
.debug_ranges,0,136
.flash.text,68,68
.riscv.attributes,0,-3
[Unmapped],0,-68

Comparing ./master_artifact/chip-temperature-measurement-app.elf and ./pull_artifact/chip-temperature-measurement-app.elf:

sections,vmsize,filesize
.debug_line,0,393
.debug_info,0,376
.debug_loc,0,272
.debug_ranges,0,232
.flash.text,148,148
.debug_str,0,-1
[Unmapped],0,-148

Comparing ./master_artifact/chip-pigweed-app.elf and ./pull_artifact/chip-pigweed-app.elf:

sections,vmsize,filesize

Comparing ./master_artifact/chip-lock-app.elf and ./pull_artifact/chip-lock-app.elf:

sections,vmsize,filesize
.debug_line,0,393
.debug_info,0,376
.debug_loc,0,272
.debug_ranges,0,232
.flash.text,16,16
.debug_str,0,-1
[Unmapped],0,-16

Comparing ./master_artifact/chip-ipv6only-app.elf and ./pull_artifact/chip-ipv6only-app.elf:

sections,vmsize,filesize

Comparing ./master_artifact/chip-bridge-app.elf and ./pull_artifact/chip-bridge-app.elf:

sections,vmsize,filesize
.debug_line,0,393
.debug_info,0,376
.debug_loc,0,272
.debug_ranges,0,232
.flash.text,132,132
.debug_str,0,-1
[Unmapped],0,-132


@msandstedt
Copy link
Contributor

Problem: In addition to that, we recently disabled BLE advertisements while opening the Enhanced Commissioning Window.
Prior to that, we could use the same commissioning mechanism(BLE) to pair an accessory regardless of which commissioning mode the accessory was in.

While we address this issue with the underlying SDK, we should continue to allow BLE based commissioning even on Enhanced Commissioning Windows so that we can re-enable test and integration for this and restore prior functionality.

If we can't conduct ECM over IP, doesn't that mean we just can't support ECM period? What is the usefulness for a kludge that allows this to happen over BLE? That seems like a way to get test cases to pass, but without providing actual value.

Can we think critically about what this actually un-blocks?

@woody-apple
Copy link
Contributor

@sagar-apple , please confirm - enhanced commissioning is broken right now - until the full mDNS on network is working well.

@sagar-apple
Copy link
Contributor Author

sagar-apple commented Aug 31, 2021

@sagar-apple , please confirm - enhanced commissioning is broken right now - until the full mDNS on network is working well.

That's correct. This issue captures what's missing #9343

@woody-apple
Copy link
Contributor

Thanks! @saurabhst @andy31415 @Damian-Nordic @hawk248 ?

@woody-apple
Copy link
Contributor

@LuDuda ?

@woody-apple woody-apple merged commit f67c711 into project-chip:master Sep 1, 2021
@sagar-apple sagar-apple deleted the reenable_ble_TE branch September 1, 2021 01:08
mkardous-silabs pushed a commit to mkardous-silabs/connectedhomeip that referenced this pull request Sep 24, 2021
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.

5 participants