cancel
Showing results for 
Search instead for 
Did you mean: 

stm32wb55 returns "unlikely error" when enabling notifications on a peripheral characteristic

User1655833706281357277
Associate III

I am developing a BLE product using the stm32wb and have it working as a peripheral/server.  I need to add the ability to work as a central also and am following the BLE_p2pRouteur example in STM32CubeWB/Projects/P-NUCLEO-WB55.Nucleo/Applications/BLE/BLE_p2pRouteur.   The device I want to connect to as a central is another of our products in development and uses a different MCU/BLE stack.   This device is also working as a peripheral and can connect and pair using Windows, macOS, iOS, and linux.

After connecting to the peripheral, querying the services, and querying the characteristics of the services to get all the handles needed, I try to enable notifications on the characteristic normally used for commands using aci_gatt_write_char_desc() with a 2-byte attribute value set to 0x0001.   The stm32wb BLE stack is returning ACI_GATT_ERROR_RESP_VSEVT_CODE with Req_Opcode set to 0x12 and Error_Code set to 0x0e (unlikely error).  I am certain that I am passing in the correct connection handle and characteristic handle.

Does anyone have an idea as to what might be going on?  I'm not seeing anything from the device being connected to, so this looks like it might be some sort of configuration error in the stm32wb BLE stack.

Thank you,

--b

 

1 ACCEPTED SOLUTION

Accepted Solutions
User1655833706281357277
Associate III

This is my error, I apologize for posting.   After going the the example again, there are three calls made to get the handles needed to connect and set notifications:

1)  aci_gatt_disc_all_primary_services() responds through ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT

2)  aci_gatt_disc_all_char_of_service() responds through ACI_ATT_READ_BY_TYPE_RESP_EVENT

3)  aci_gatt_disc_all_char_desc() responds through ACI_ATT_FIND_INFO_RESP_EVENT

You need 3) to get the handle to enable notifications on which is associated with the CHAR_CLIENT_CONFIG_DESC_UUID.

I apologize for wasting anyone's time.

 

View solution in original post

2 REPLIES 2
User1655833706281357277
Associate III

This is my error, I apologize for posting.   After going the the example again, there are three calls made to get the handles needed to connect and set notifications:

1)  aci_gatt_disc_all_primary_services() responds through ACI_ATT_READ_BY_GROUP_TYPE_RESP_EVENT

2)  aci_gatt_disc_all_char_of_service() responds through ACI_ATT_READ_BY_TYPE_RESP_EVENT

3)  aci_gatt_disc_all_char_desc() responds through ACI_ATT_FIND_INFO_RESP_EVENT

You need 3) to get the handle to enable notifications on which is associated with the CHAR_CLIENT_CONFIG_DESC_UUID.

I apologize for wasting anyone's time.

 

The Seeker
Associate

 

Thank you.