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

Getting a "GATT CONN TIMEOUT" message when trying to upload a new firmware via BLE DFU

Thank you very much in advance for any help.

I am attempting to upload an example firmware on a nRF52832 with the s132 softdevice BLE stack and the example DFU bootloader. When I use the DFU toolbox provided with the nordic toolbox running on my nexus 5 with android 6.0.1, I am capable of pairing with the MCU (which is on the pca10040 dev board) but I am incapable of uploading a new firmware. I receive the following message: "GATT CONN TIMEOUT".

The firmware example I am uploading is "dfu_test_app_hrm_s132.zip" found at:

....\Workspace\nRF52_SDK_0.9.2_dbc28c9\examples\dfu\ble_dfu_send_hex\test_images_update_nrf52

and the bootloader I have placed in the device is "dual_bank_ble_s132" found at:

....\Workspace\nRF52_SDK_0.9.2_dbc28c9\examples\dfu\bootloader\pca10036\dual_bank_ble_s132\armgcc

Any help would be greatly appreciated and I can supply any other information necessary, if the need arises. I have tried to find similar posts or problems but have been unsuccessful. Thank you again!

Parents
  • Try setting the "Packet Receipt Notification" in the nRF Toolbox app to 1 instead of 10. If that does not solve the issue you can try to increase the connection interval in dfu_transport_ble.c from

    #define MIN_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(15, UNIT_1_25_MS)) 
    #define MAX_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(30, UNIT_1_25_MS))     
    

    to

    #define MIN_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(30, UNIT_1_25_MS)) 
    #define MAX_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(50, UNIT_1_25_MS))
    
Reply
  • Try setting the "Packet Receipt Notification" in the nRF Toolbox app to 1 instead of 10. If that does not solve the issue you can try to increase the connection interval in dfu_transport_ble.c from

    #define MIN_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(15, UNIT_1_25_MS)) 
    #define MAX_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(30, UNIT_1_25_MS))     
    

    to

    #define MIN_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(30, UNIT_1_25_MS)) 
    #define MAX_CONN_INTERVAL                    (uint16_t)(MSEC_TO_UNITS(50, UNIT_1_25_MS))
    
Children
No Data
Related