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

Error 0x104 in function on_primary_srv_discovery_rsp

Hello,

We have an application on Iphone running with our custom service :

uuid : 0000fdF9-0000-1000-8000-00805f9b34fb

and our characteristics :

char-handle 0x16 => 0x1c

I use the nrf52 dev kit with the hrs_c example to connect to the smartphone.

I have disable the BAS service.

I change the UUID with ours 0xfdf9 but it fails when discovering in function on_primary_srv_discovery_rsp with a gatt_status egal to 0x10a.

I have try to another well know uuid like 1800 or 180f on the same smartphone, it works.

What's wrong ? does i have to use sd_ble_uuid_vs_add for the service 0xfdf9 ? for characteristics ?

Any help are welcome.

Thanks

Parents Reply Children
  • I try but it doesn't change anything.

    In ble_nus_c_init, i use

    NUS_BASE_UUID = {0xFB, 0x34, 0x9B, 0x5F, 0x80, 0x00, 0x00, 0x80, 0x00, 0x10, 0x00, 0x00, 0xf9, 0xfd, 0x00, 0x00}

    BLE_UUID_NUS_SERVICE 0xfdf9

    sd_ble_uuid_vs_add returns 0x01 in uuid_type, so it's already in database ? if yes, does i have to add it ?

    that make sense beacause i use SIG BASE UUID

    I have 4 characteristics :

    00a0fdf9-0000-1000-8000-00805F9B34FB

    00b0fdf9-0000-1000-8000-00805F9B34FB

    00c0fdf9-0000-1000-8000-00805F9B34FB

    00d0fdf9-0000-1000-8000-00805F9B34FB

    Do i have to add them with sd_ble_uuid_vs_add ? If yes, where in ble_nus_c_init ?

    Does I have to keep uuid_type ? any modification to tell the discovery module that base uuid of characteristics is different from uuid base service ?

    Thanks

  • Hi,

    I assumed you had a custom 128-bit base UUID, not a 16-bit UUID registered with Bluetooth SIG. So in your case you don't need to use the sd_ble_uuid_vs_add() to discover the service. However, you will need to use a  custom UUID base for your characteristics.  Highlighted bits below alters the SIG uuid base and is not allowed:

    00a0fdf9-0000-1000-8000-00805F9B34FB

    00b0fdf9-0000-1000-8000-00805F9B34FB

    00c0fdf9-0000-1000-8000-00805F9B34FB

    00d0fdf9-0000-1000-8000-00805F9B34FB

     

  • Hi,

    No we have a 16-bit uuid registered (you can verify https://www.bluetooth.com/specifications/assigned-numbers/16-bit-uuids-for-members).

    Why can't we use highlighted bits ? Is there a nordic limitation ? a bluetooth limitation ?

    Can you provide me a link on that limitation please ?

    Thanks

  • Hi,

    Yes, I realized you had bought 16 bit UUID after my initial reply. The softdevice has support for 32-bit UUIDs, but you have bought listing of one 16-bit UUID from SIG. Not sure if they offer 32-bits UUIDs for use with the Bluetooth base UUID.

  • So, i can use my 16bit uuid without adding it with function sd_ble_uuid_vs_add(). First point resolve.

    Why can't i use my four characteristics :

    00a0fdf9-0000-1000-8000-00805F9B34FB

    00b0fdf9-0000-1000-8000-00805F9B34FB

    00c0fdf9-0000-1000-8000-00805F9B34FB

    00d0fdf9-0000-1000-8000-00805F9B34FB

    Is it a bluetooth limitation ? or a nordic ? All my smartphone application are working with them. And i have no error when i had them with your function sd_ble_uuid_vs_add().

    Thanks

Related