ADV_SCAN_IND should be a non-connectable event
| Originator: | scott | ||
| Number: | rdar://34843997 | Date Originated: | 10/05/2017 |
| Status: | Open | Resolved: | |
| Product: | MacOSX | Product Version: | 12 |
| Classification: | Other Bug | Reproducible: | Yes |
Area:
Bluetooth
Summary:
BLE Advertisement Events of type ADV_SCAN_IND (0x02) are non-connectable, yet MacOS reports them as connectable. Specifically, the advertisementData[CBAdvertisementDataIsConnectable] value is "1".
As per Bluetooth Core Specification 4.4.2, "scannable undirected" or (ADV_SCAN_IND), 0x02, is a non-connectable event.
See (https://www.bluetooth.com/specifications/bluetooth-core-specification)
Steps to Reproduce:
Given any peripheral advertising event ADV_SCAN_IND (0x02), scan on a MacOS machine, handle the discovery and display the value of advertisementData[CBAdvertisementDataIsConnectable].
Creating a peripheral device in this mode isn't trivial, and can't be done using iOS or MacOS code. If you promise to fix this bug, I will send you a $50 Nordic development kit with the requisite source code installed.
Here is a snippet of the source code I use on a Nordic nrf51:
adv_params.type = BLE_GAP_ADV_TYPE_ADV_SCAN_IND;
err_code = sd_ble_gap_adv_start( &adv_params );
You can also verify this with Bluetooth Explorer.
Expected Results:
Upon receipt of an advertising event of type ADV_SCAN_IND, the peripheral's connectability should be noted as FALSE (non-connectable)
Actual Results:
Only on receipt of ADV_NONCONN_IND events does MacOS report non-connectable. ADV_SCAN_IND is erroneously reported as connectable.
Version/Build:
Verified MacOS Sierra 10.12.6 and HighSierra 10.13
Comments
Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!