This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

LESC with old phones (e.g. iPhone 4s)

Hi,

I just implemented LESC Numeric Match on the NUS service for my peripheral device (based on ble_app_multirole_lesc example). I am able to connect to my device using numeric match confirmation with iPhone 6 and iPhone SE and transfer data.

However, when I use iPhone 4S (which doesn't support Bluetooth 4.2), then I see prompt to manually enter 6 digit key on the phone. With that, the pairing/bonding seems to go fine. However, there is no data transfer.

I am using BLE_GAP_CONN_SEC_MODE_SET_LESC_ENC_WITH_MITM for &cccd_md.write_perm and &attr_md_.read_perm and &attr_md.write_perm in rx_char_add() I am using BLE_GAP_CONN_SEC_MODE_SET_LESC_ENC_WITH_MITM for &attr_ms.read_perm and &attr_md.write_perm in tx_char_add()

Any pointers on what might be going wrong?

Thanks, Sam

Parents Reply
  • HI Petter, Yes, I suppose it is legacy pairing. What I am not able to understand is that while both FW and the phone show that pairing is successful, the datapath is not working. The app is not able to enable notifications on device's characteristics. Is there any particular setting that is needed to ensure that LESC falls back correctly to BLE 4.1 method of display and passkey entry? thanks, Sam

Children
No Data
Related