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

Unable to connect to nRF52832 with old phones

Hello,

We have problem BLE connecting to the nRF52832, if we use the method gap_init(), the "better" smartphones can connect(those who support BT 4.2). If we skip the gatt_init() method, the older smartphones can connect(those who only support 4.0). As we understand it, it has to do with the MTU handshake?

We have migrated our hardware from NXP to NS, where we didn't have this issue with NXP.

How do we make the module compatible with both versions / both families of phones? What have we overlooked?

Thank you in advance!

Parents
  • Yes, as stated in this answer

    In SDK 13, a "GATT module" was introduced and is enabled by default. This module enables MTU request and Data Packet Length extension (DLE). For all phones supporting BLE 4.2 and above, the examples in the SDK will work out of the box.

    For phones that support BLE 4.0 and/or BLE 4.1 only, MTU request and DLE will not work. In that case, you will have to disable it in the SDK example: all you need to do is to comment out gatt_init().

    Thus, commenting out gatt_init() is the correct approach to achieve compatibility with Bluetooth v4.0 devices.

Reply
  • Yes, as stated in this answer

    In SDK 13, a "GATT module" was introduced and is enabled by default. This module enables MTU request and Data Packet Length extension (DLE). For all phones supporting BLE 4.2 and above, the examples in the SDK will work out of the box.

    For phones that support BLE 4.0 and/or BLE 4.1 only, MTU request and DLE will not work. In that case, you will have to disable it in the SDK example: all you need to do is to comment out gatt_init().

    Thus, commenting out gatt_init() is the correct approach to achieve compatibility with Bluetooth v4.0 devices.

Children
Related