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!