Hello,
I work with NRF52832 evaluation board.
SDK 17.1.0
I try to implémente DFU -> pca10040_s132_ble / pca10040_s132_ble_debug.
Applicatif is : ble_app_buttonless_dfu
No code modification (only key), I run with exemple code. I use same DFU pakage for all Device.
Works fine with :
- NRFconnect IOS Iphone XR and Ipad
- NRFconnect Desktop
- NRFconnect Sony Xperia (E5823) Android 7.1.1
Not work with :
- Galaxy tab A8 Android 11
Log DFU with Galaxy tab A8 :
Log PC debug nrf52832 :
<debug> nrf_dfu_ble: Received BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST (request: 517, reply: 247). <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST. <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328). <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (command) <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Set receipt notif <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_RECEIPT_NOTIF_SET <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> app: Shutting down transports (found: 1) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (command) <debug> app: timer_stop (0x20005984) <debug> app: timer_activate (0x20005984) <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Advertising... <debug> nrf_dfu_settings: Using settings page. <debug> nrf_dfu_settings: Copying forbidden parts from backup page. <debug> nrf_dfu_ble: Connected <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST. <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328). <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE <debug> nrf_dfu_ble: max_conn_interval: 12 <debug> nrf_dfu_ble: min_conn_interval: 12 <debug> nrf_dfu_ble: slave_latency: 0 <debug> nrf_dfu_ble: conn_sup_timeout: 600 <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE <debug> nrf_dfu_ble: max_conn_interval: 6 <debug> nrf_dfu_ble: min_conn_interval: 6 <debug> nrf_dfu_ble: slave_latency: 0 <debug> nrf_dfu_ble: conn_sup_timeout: 500 <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE <debug> nrf_dfu_ble: max_conn_interval: 12 <debug> nrf_dfu_ble: min_conn_interval: 12 <debug> nrf_dfu_ble: slave_latency: 0 <debug> nrf_dfu_ble: conn_sup_timeout: 600
Log NRFconnect Galaxy Tab :
nRF Connect, 2022-06-14 DfuTarg (DE:A4:47:3E:E8:41) V 09:34:29.820 [DFU] DFU service started V 09:34:29.820 [DFU] Opening file... I 09:34:29.820 [DFU] Firmware file opened successfully V 09:34:29.820 [DFU] Connecting to DFU target... D 09:34:29.820 [DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M) I 09:34:29.827 [DFU] Connected to DE:A4:47:3E:E8:41 V 09:34:29.828 [DFU] Discovering services... D 09:34:29.828 [DFU] gatt.discoverServices() I 09:34:29.830 [DFU] Services discovered D 09:34:29.836 [DFU] wait(1000) V 09:34:30.862 [DFU] Requesting new MTU... D 09:34:30.862 [DFU] gatt.requestMtu(517) I 09:34:30.868 [DFU] MTU changed to: 247 V 09:34:30.868 [DFU] Enabling notifications for 8ec90001-f315-4f60-9fb8-838830daea50 D 09:34:30.868 [DFU] gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true) D 09:34:30.869 [DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00) I 09:34:30.898 [DFU] Data written to descr.8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-00 V 09:34:30.898 [DFU] Notifications enabled for 8ec90001-f315-4f60-9fb8-838830daea50 A 09:34:30.898 [DFU] Notifications enabled D 09:34:30.898 [DFU] wait(1000) V 09:34:31.903 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50 D 09:34:31.903 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50) I 09:34:31.949 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 06-01 I 09:34:31.949 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-02-00-00-00-00-00-00-00-00-00-00 A 09:34:31.950 [DFU] Command object info received (Max size = 512, Offset = 0, CRC = 00000000) V 09:34:31.950 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50 D 09:34:31.950 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50) I 09:34:31.978 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 02-00-00 I 09:34:31.978 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-02-01 A 09:34:31.978 [DFU] Packet Receipt Notif disabled (Op Code = 2, Value = 0) V 09:34:31.978 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50 D 09:34:31.978 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50) I 09:34:32.008 [DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-01-8D-00-00-00 I 09:34:32.008 [DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-01-01 A 09:34:32.008 [DFU] Command object created V 09:34:32.008 [DFU] Writing to characteristic 8ec90002-f315-4f60-9fb8-838830daea50 D 09:34:32.008 [DFU] gatt.writeCharacteristic(8ec90002-f315-4f60-9fb8-838830daea50) I 09:34:32.013 [DFU] Data written to 8ec90002-f315-4f60-9fb8-838830daea50, value (0x): 12-8A-01-0A-44-08-01-12-40-08-02-10-34-1A-02-81-02-20-00-28-00-30-00-38-D0-BC-04-42-24-08-03-12-20-69-ED-60-0A-27-8D-1D-FD-46-F5-C2-CB-4C-8D-82-C4-49-B9-5D-72-16-0F-78-64-88-13-FA-DE-16-7A-F4-85-48-00-52-04-08-01-12-00-10-00-1A-40-13-87-49-A3-49-EC-28-7A-AE-D2-EC-BC-BD-74-58-0E-4D-23-55-A7-88-02-DF-22-94-BA-5B-03-D4-93-70-98-18-8A-14-3E-29-21-15-9B-6B-B9-C6-C9-3D-8A-F5-4F-7F-96-0A-8A-07-1A-5F-AA-D0-C6-2A-67-BD-4D-61-13 A 09:34:32.013 [DFU] Command object sent (CRC = 1CDAB9F2) V 09:34:32.013 [DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50 D 09:34:32.013 [DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50) E 09:34:38.013 [DFU] Error (0x85): GATT ERROR V 09:34:38.013 [DFU] Disconnecting... D 09:34:38.014 [Callback] Connection state changed with status: 8 and new state: DISCONNECTED (0) E 09:34:38.014 Error 8 (0x8): GATT CONN TIMEOUT I 09:34:38.014 Disconnected D 09:34:38.038 [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:34:38.038 [DFU] gatt.disconnect() I 09:34:38.038 [DFU] Disconnected D 09:34:38.038 [DFU] gatt.refresh() (hidden) D 09:34:38.038 [DFU] gatt.disconnect() D 09:34:38.038 [DFU] [Broadcast] Action received: android.bluetooth.device.action.ACL_DISCONNECTED D 09:34:38.050 [DFU] gatt.close() D 09:34:38.050 [DFU] wait(600) D 09:34:38.649 gatt.close() D 09:34:38.654 wait(200) V 09:34:38.855 Connecting to DE:A4:47:3E:E8:41... D 09:34:38.855 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M) D 09:34:39.023 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED D 09:34:39.028 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2) I 09:34:39.028 Connected to DE:A4:47:3E:E8:41 I 09:34:39.823 Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms) I 09:34:40.048 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms) V 09:34:40.055 Discovering services... D 09:34:40.055 gatt.discoverServices() D 09:34:40.061 [Callback] Services discovered with status: 0 I 09:34:40.061 Services discovered V 09:34:40.067 Generic Access (0x1800) - Device Name [R W] (0x2A00) - Appearance [R] (0x2A01) - Peripheral Preferred Connection Parameters [R] (0x2A04) - Central Address Resolution [R] (0x2AA6) Generic Attribute (0x1801) Secure DFU Service (0xFE59) - DFU Packet [WNR] (8ec90002-f315-4f60-9fb8-838830daea50) - DFU Control Point [N W] (8ec90001-f315-4f60-9fb8-838830daea50) Client Characteristic Configuration (0x2902) I 09:34:40.131 Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
I have no more idea to solve my problem.
Thanks