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

buttonless dfu ble. error in uploading file.

nrf52810 used and sdk 15.3 used . i able to run my program without error and i even able connect my ble dfu. but i cant upload my zip file and i cant bond with nordic dfu. its showing invalid object. even i cant bond with device

Parents Reply Children
  • I see. Most likely that means that pre-validation failed for some reason. Typical reasons include:

    • Invalid signature
    • app version mismatch (app version not specified to be larger than existing version)
    • SoftDevice requirement not met
    • HW version mismatch
  • nRF Connect, 2020-12-16
    DfuTarg (E0:6E:0D:23:1D:8E)
    I	18:07:42.690	[Server] Server started
    V	18:07:42.724	Heart Rate (0x180D)
    - Heart Rate Measurement [N] (0x2A37)
       Client Characteristic Configuration (0x2902)
    - Body Sensor Location [R] (0x2A38)
    - Heart Rate Control Point [W] (0x2A39)
    Unknown Service (0000aaa0-0000-1000-8000-aabbccddeeff)
    - Unknown Characteristic [N R] (0000aaa1-0000-1000-8000-aabbccddeeff)
       Client Characteristic Configuration (0x2902)
       Unknown Descriptor (0000aab0-0000-1000-8000-aabbccddeeff)
       Characteristic User Description (0x2901)
       Characteristic Presentation Format (0x2904)
    - Unknown Characteristic [I W WNR] (0000aaa2-0000-1000-8000-aabbccddeeff)
       Client Characteristic Configuration (0x2902)
    User Data (0x181C)
    - First Name [R W] (0x2A8A)
    - Last Name [R W] (0x2A90)
    - Gender [R W] (0x2A8C)
    V	18:07:43.354	Connecting to E0:6E:0D:23:1D:8E...
    D	18:07:43.355	gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
    D	18:07:43.440	[Server callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	18:07:43.440	[Server] Device with address E0:6E:0D:23:1D:8E connected
    D	18:07:43.466	[Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
    I	18:07:43.466	Connected to E0:6E:0D:23:1D:8E
    D	18:07:43.495	[Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
    V	18:07:43.511	Discovering services...
    D	18:07:43.511	gatt.discoverServices()
    I	18:07:43.890	Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
    I	18:07:43.992	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
    D	18:07:44.094	[Callback] Services discovered with status: 0
    I	18:07:44.094	Services discovered
    V	18:07:44.108	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	18:07:44.144	Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
    V	18:07:50.345	[DFU] DFU service started
    V	18:07:50.345	[DFU] Opening file...
    I	18:07:50.366	[DFU] Firmware file opened successfully
    V	18:07:50.375	[DFU] Connecting to DFU target...
    D	18:07:50.375	[DFU] gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferredPhy = LE_1M | LE_2M)
    I	18:07:50.375	[DFU] Connected to E0:6E:0D:23:1D:8E
    V	18:07:50.375	[DFU] Discovering services...
    D	18:07:50.375	[DFU] gatt.discoverServices()
    I	18:07:50.378	[DFU] Services discovered
    D	18:07:50.398	[DFU] wait(1000)
    V	18:07:51.394	[DFU] Requesting new MTU...
    D	18:07:51.394	[DFU] gatt.requestMtu(517)
    I	18:07:51.464	[DFU] MTU changed to: 247
    V	18:07:51.465	[DFU] Enabling notifications for 8ec90001-f315-4f60-9fb8-838830daea50
    D	18:07:51.465	[DFU] gatt.setCharacteristicNotification(8ec90001-f315-4f60-9fb8-838830daea50, true)
    D	18:07:51.468	[DFU] gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x01-00)
    I	18:07:51.493	[DFU] Data written to descr.8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 01-00
    V	18:07:51.493	[DFU] Notifications enabled for 8ec90001-f315-4f60-9fb8-838830daea50
    A	18:07:51.493	[DFU] Notifications enabled
    D	18:07:51.493	[DFU] wait(1000)
    V	18:07:52.494	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
    D	18:07:52.494	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
    I	18:07:52.529	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 06-01
    I	18:07:52.531	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-06-01-00-01-00-00-8D-00-00-00-13-80-23-EC
    A	18:07:52.531	[DFU] Command object info received (Max size = 256, Offset = 141, CRC = EC238013)
    A	18:07:52.531	[DFU] Received CRC match Init packet
    V	18:07:52.531	[DFU] Writing to characteristic 8ec90001-f315-4f60-9fb8-838830daea50
    D	18:07:52.531	[DFU] gatt.writeCharacteristic(8ec90001-f315-4f60-9fb8-838830daea50)
    I	18:07:52.558	[DFU] Data written to 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 04
    I	18:07:52.741	[DFU] Notification received from 8ec90001-f315-4f60-9fb8-838830daea50, value (0x): 60-04-05
    E	18:07:52.742	[DFU] Remote DFU error: INVALID OBJECT
    V	18:07:52.743	[DFU] Disconnecting...
    D	18:07:52.783	[DFU] gatt.disconnect()
    I	18:07:52.783	[DFU] Disconnected
    D	18:07:52.783	[DFU] gatt.refresh() (hidden)
    D	18:07:52.783	[DFU] gatt.disconnect()
    D	18:07:52.783	[DFU] gatt.close()
    D	18:07:52.783	[DFU] wait(600)
    I	18:07:52.860	Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
    I	18:07:53.040	Connection parameters updated (interval: 15.0ms, latency: 0, timeout: 6000ms)
    

  • this is the log file i got while trying to transfer the file

  • Hi,

    I see. this means that pre validation fails for some reason, but we cannot see from the DFU master exactly what it was. You can either check RTT log from the debug bootloader to see exactly which check failed, or you can let me know in detail the configuration of the existing application (from when you generated the bootloader settings), and the full set of parameters you use when you generate the upgrade image using nrfutil. It would also be good to double check that you are using the correct key for signing the upgrade image (and that the bootloader was built with the corresponding public key).

  • i think creating zip file i made error. can u please give me the command prompt code for generating zip file for ble dfu

Related