BLE peripheral - failed connection from central - ble event 0x3a

My app is based on ble_app_uart, with my own custom service replacing NUS. Right now it's not doing much except printing a hex string of the written value (16 bytes)

I'm trying to debug a failed connection from an Android app - basically the app is just trying to write to a couple of characteristics. The strange thing is I can write using nRF Connect no problem at all.

Anyway, to debug I'm printing the BLE event codes during on_connect on_write on_ble_event handlers  etc. Most of these I can decode except I get a event 0x3A which I can't find - apart from the general Bluetooth codes as BLE_HCI_CONTROLLER_BUSY.

Is this the correct meaning? If so, what could cause the message?

  • OK thanks re the config etc - I thought that was the case but just wanted to double check.

    Actually I finally got it working, and I'm kicking myself. I've set the characteristics up as 16 bit UUIDs using the SIG base UUID which works fine. What I had overlooked was that the service UUID was composed in the same fashion in that it is a 16 bit service UUID embedded in the 128bit base UUID and two octets were uninitialised - I'd assumed it was a straight 128 bit number. Serves me right I guess for just looking at the number rather than checking all the bytes.

    So adding the 16 bit UUID using the correct 2 octets made it magically work Slight smile

    BTW the sniffer only showed up AD packets, presumably as the connection is encrypted.

  • Hi Nick, 

    I'm glad that you found the issue.  
    Regarding the sniffer, you need to enable the Sniffer toolbar on the top , and then in the devices drop down list you need to select the correct advertiser. Only after that it can track the connection. Otherwise it will just scan for all advertising packet and will not track any connection. 

Related