iOS BLE cannot correctly read the model number.

After updating from SDK V2.1.3 OTA to SDK V2.9.0, iOS cannot correctly read data such as the model number, but Android can read it normally.

Turn off Bluetooth in the system, turn it back on, and it can be read normally after connecting.

Parents
  • Hello,

    Can you check whether the device actually restores the bond data and the CCCD when the new firmware boots? Are you seeing a new pairing dialog after the OTA/reboot?

    I see that you have enabled CONFIG_BT_SETTINGS=y, but in the application, after enabling Bluetooth, you also need to call settings_load(). This call restores the bonds and CCCDs, see this here.

    Try enabling the logs CONFIG_BT_LOG_LEVEL_DBG and CONFIG_SETTINGS_LOG_LEVEL_DBG and check if there are any log messages indicating that CCCD data is being loaded from flash after boot.

    Kind regards,
    Abhijith

  • Hello, 

    There are no new pairing dialog after OTA/reboot.

    Log:

    *** Booting nRF Connect SDK v2.9.0-7787b2649840 ***
    *** Using Zephyr OS v3.7.99-1f8f3dc29142 ***
    [00:00:00.008,697] <dbg> settings: settings_nvs_backend_init: Initialized
    [00:00:00.044,067] <inf> bt_sdc_hci_driver: SoftDevice Controller build revision: 
                                                2d 79 a1 c8 6a 40 b7 3c  f6 74 f9 0b 22 d3 c4 80 |-y..j@.< .t.."...
                                                74 72 82 ba                                      |tr..             
    [00:00:00.052,551] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
    [00:00:00.052,581] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
    [00:00:00.052,612] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 45.41337 Build 3074452168
    [00:00:00.053,131] <inf> bt_hci_core: No ID address. App must call settings_load()
    [00:00:00.053,314] <dbg> settings: settings_call_set_handler: set-value OK. key: bt/ccc/f0051b64f7c00
    [00:00:00.053,61

    This seems like:Confusing warning: "No ID address. App must call settings_load" · Issue #65817 · zephyrproject-rtos/zephyr

    Log:

    *** Booting nRF Connect SDK v2.9.0-7787b2649840 ***
    *** Using Zephyr OS v3.7.99-1f8f3dc29142 ***
    [00:00:00.002,838] <dbg> bt_gatt: gatt_register: attr 0x200029cc handle 0x002a uuid 2800 perm 0x01
    [00:00:00.002,868] <dbg> bt_gatt: gatt_register: attr 0x200029e0 handle 0x002b uuid 2803 perm 0x01
    [00:00:00.002,990] <dbg> bt_gatt: gatt_register: attr 0x200029f4 handle 0x002c uuid da2e7828-fbce-4e01-ae9e-261174997c48 perm 0x02
    [00:00:00.003,051] <dbg> bt_gatt: gatt_register: attr 0x20002a08 handle 0x002d uuid 2902 perm 0x03
    [00:00:00.008,361] <dbg> settings: settings_nvs_backend_init: Initialized
    [00:00:00.049,743] <dbg> bt_hci_core: bt_hci_cmd_create: opcode 0x0c03 param_len 0
    --- 83 messages dropped ---
    [00:00:00.049,774] <dbg> bt_hci_core: bt_hci_cmd_create: buf 0x20036c18
    [00:00:00.049,774] <dbg> bt_hci_core: bt_hci_cmd_send_sync: buf 0x20036c18 opcode 0x0c03 len 3
    [00:00:00.049,804] <dbg> bt_hci_core: bt_tx_TX

    There are too many logs, and 'messages dropped' often appears.

Reply
  • Hello, 

    There are no new pairing dialog after OTA/reboot.

    Log:

    *** Booting nRF Connect SDK v2.9.0-7787b2649840 ***
    *** Using Zephyr OS v3.7.99-1f8f3dc29142 ***
    [00:00:00.008,697] <dbg> settings: settings_nvs_backend_init: Initialized
    [00:00:00.044,067] <inf> bt_sdc_hci_driver: SoftDevice Controller build revision: 
                                                2d 79 a1 c8 6a 40 b7 3c  f6 74 f9 0b 22 d3 c4 80 |-y..j@.< .t.."...
                                                74 72 82 ba                                      |tr..             
    [00:00:00.052,551] <inf> bt_hci_core: HW Platform: Nordic Semiconductor (0x0002)
    [00:00:00.052,581] <inf> bt_hci_core: HW Variant: nRF52x (0x0002)
    [00:00:00.052,612] <inf> bt_hci_core: Firmware: Standard Bluetooth controller (0x00) Version 45.41337 Build 3074452168
    [00:00:00.053,131] <inf> bt_hci_core: No ID address. App must call settings_load()
    [00:00:00.053,314] <dbg> settings: settings_call_set_handler: set-value OK. key: bt/ccc/f0051b64f7c00
    [00:00:00.053,61

    This seems like:Confusing warning: "No ID address. App must call settings_load" · Issue #65817 · zephyrproject-rtos/zephyr

    Log:

    *** Booting nRF Connect SDK v2.9.0-7787b2649840 ***
    *** Using Zephyr OS v3.7.99-1f8f3dc29142 ***
    [00:00:00.002,838] <dbg> bt_gatt: gatt_register: attr 0x200029cc handle 0x002a uuid 2800 perm 0x01
    [00:00:00.002,868] <dbg> bt_gatt: gatt_register: attr 0x200029e0 handle 0x002b uuid 2803 perm 0x01
    [00:00:00.002,990] <dbg> bt_gatt: gatt_register: attr 0x200029f4 handle 0x002c uuid da2e7828-fbce-4e01-ae9e-261174997c48 perm 0x02
    [00:00:00.003,051] <dbg> bt_gatt: gatt_register: attr 0x20002a08 handle 0x002d uuid 2902 perm 0x03
    [00:00:00.008,361] <dbg> settings: settings_nvs_backend_init: Initialized
    [00:00:00.049,743] <dbg> bt_hci_core: bt_hci_cmd_create: opcode 0x0c03 param_len 0
    --- 83 messages dropped ---
    [00:00:00.049,774] <dbg> bt_hci_core: bt_hci_cmd_create: buf 0x20036c18
    [00:00:00.049,774] <dbg> bt_hci_core: bt_hci_cmd_send_sync: buf 0x20036c18 opcode 0x0c03 len 3
    [00:00:00.049,804] <dbg> bt_hci_core: bt_tx_TX

    There are too many logs, and 'messages dropped' often appears.

Children
No Data
Related