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

Connection handle 16 and 19

Hi,

I get BLE_GATTS_EVT_WRITE with connection handles 16 and 19 which seems to be some defaults of the softdevice.

Can you explain the source and usage of these connection handles?

Thanks,

Daniel

  • Hung hi,

    I specifically described the following:

    1. I would like to understand which services that are not explicitly defined are being communicated by the Softdevice (for example - I see a service 0x2902 which I don't see anywhere in my code.

    2. The documentation is cryptic. There is absolutely no way to understand what is going on under the hood.

    3. The Softdevice code is not available, therefore, there is no way to overcome the poor documentation by reading the code itself.

    You ask for a snifet and I don't wish to go this way because I'm not trying to fix a bug. I need to know if my program is robust. It is working well but I don't understand the source of the extra services I haven't explicitly defined.

    Is there a way to get an explanation of the services Softdevice is implicitly defining? Do you acknowledge that such services exists? 

    Daniel

  • Hi Daniel, 
    We can't help you if you don't provide enough information. 
    I don't know if the softdevice is acting as a central or a peripheral, if it has gatt server or gatt client. We can't "guess" what you want to know without proper context (or a sniffer trace).

    Please provide information such as: 

    - Which device is central which is peripheral

    - Which device is GATT client and which is GATT server

    - Which device send the write request /write command

    - Which service it's writing to. 

    If you want to know what's 0x2902 is you can have a look at the list here (16-bit UUID Numbers)

    It can be the CCCD for the service changed characteristic. 

  • Hung,

    The nrf52840 is the peripheral and server. The phone (using Web bluetooth) writes the 0x2902 upon connection and before disconnecting. I haven't defined explicitly this service. I wonder which services are implicitly defined by the Softdevice.

    Thanks,

    Daniel

  • Please provide the service UUID (0x2902 is only the UUID of the CCCD, not the service UUID). 

    If you don't want to send the sniffer trace, you can use nRF Connect app on PC and do a service discovery of the attribute table, something like this: 

    If you want you can convert this case to private (GO PRIVATE) if you have confidential information. 

Related