buttonless dfu Error 0x8 GATT CONN TIMEOUT (can't go into bootloader mode)

Hello everyone,

I'm trying to perform a device firmware update using the buttonless service on nRF52DK with SDK v17.1.0 and Softdevice S132.

I can connect correctly to my DK and I see the Buttonless DFU service on nRF Connect using my phone.

However, when i send the request to enter bootloader mode, I get a GATT CONN TIMEOUT error, my device disconnects and doesn't go into Bootloader mode. It doesn't even reset, because i can't see the device available on nRF Connect, i just have to manually reset it.

I don't have watchdog running and NRF_BL_WDT_MAX_SCHEDULER_LATENCY_MS is set to 60000 in my bootloader sdk:_config.h

Here's the error log:

Does anyone know why may this be happening?

Thanks

edit: i tested the buttonless example and i can perform dfu with that application. I believe the gatt conn tiemout isn't the actual issue since when 52DK restarts into bootloader it also times out; when i try to implement dfu in my project i get this GATT error. Could this be due to my sdk_config.h?1423.sdk_config.hProyecto NRF52DK.rar

Parents
  • Hello,

    The connection timeout suggests that the phone did not receive the disconnect PDU from your device (sent from disconnect()). This can prevent the phone from re-connecting to the device in DFU mode, as it must wait for the 4 second supervision timer to expire. Did you get the connection timeout error when testing with the buttonless example as well? I was not able to spot any obvious errors in your implementation. 

    Best regards,

    Vidar

  • Hello,

    I figured the problem was bootloader wouldn't start up when i don't do log_init(). I don't know why this happens, i removed every NRF_LOG and bootloader would run correctly, but if i remove the log_init() line it just doesn't start, why may this be happening? i can start bootloader mode manually (pressing button 4 while resetting) though.

    Thanks

Reply Children
Related