I have been experimenting with different IO settings on central and peripheral devices. With LESC_ONLY set whatever the IO settings it just appears to follow JUST WORKS method. I understood that LESC can be combined with passkey and user confirmation for an authenticated pairing. Does the algorithm AUTO need to be selected for the IO settings to be taken into account?
Thanks for reaching out, Will!
Looking through the docs I don't see any requirement for auto so I would assume not. @rickkas7 is that assumption correct?
BLE.setPairingAlgorithm()
Value | Description |
---|---|
BlePairingAlgorithm::AUTO |
Automatic selection |
BlePairingAlgorithm::LEGACY_ONLY |
Legacy Pairing mode only |
BlePairingAlgorithm::LESC_ONLY |
Bluetooth LE Secure Connection Pairing (LESC) only |
I was looking for an explanation of BlePairingAlgorithm::AUTO value use. Something like: Automatic selection based upon the setting of BLE.setPairingIoCaps() on initiator and responder devices
@Colleen I have now had a chance to retry the pairing process with BlePairingAlgorithm set to AUTO on both initiator and responder devices.
This makes no difference - suggesting that this setting only ever implements LESC_ONLY? The log output is below including a worrying 'TODO' could this explain non functioning?
0000007475 [app] INFO: P2 BLE Test Central pairing
0000007492 [hal] INFO: rltk_wlan_set_netif_info: 0, 94:94:4a:04:c2:24
0000007700 [hal] INFO: WiFi on
0000008334 [net.lwip_rltk] INFO: promisc_deinit TODO
0000008339 [hal] INFO: WiFi off
0000008351 [hal] INFO: rltk_wlan_set_netif_info: 0, 94:94:4a:04:c2:24
0000008558 [hal] INFO: WiFi on
0000008887 [app] INFO: Scanning for device...
0000009305 [app] INFO: found Device B5:35:04:4A:94:94
0000009308 [app] INFO: about to connect
0000011253 [app] INFO: Connected, starting pairing...setting passkey to 000000
0000011261 [app] INFO: is Pairing
0000012018 [app] INFO: onPairingEvent STATUS_UPDATED status=0 LESC T bonded F
0000012021 [app] INFO: Pairing completed
0000012025 [app] INFO: Devices Paired
BLE support is wonderful but without authentication of pairing devices will be open to MITM attack.