Skip to content

ATT_ERROR_ATTRIBUTE_NOT_FOUND when subscribing to notifications #678

@Aidan-McNay

Description

@Aidan-McNay

Describe the bug

Hi all! First off, thanks for the great library - super useful already!

I'm working on a PicoW, and have written an object to go through the discovery process of all characteristics/descriptors with a BLE connection as a client. However, when I then call gatt_client_write_client_characteristic_configuration to enable notifications, the corresponding GATT_EVENT_QUERY_COMPLETE GATT Event always has an ATT status of ATT_ERROR_ATTRIBUTE_NOT_FOUND. I've confirmed that the characteristic I'm using has the notify flag set in the properties, and from the debug output, it looks as though the value is initially found (?)

...
gatt_client.c.2131: ENABLE_GATT_FIND_INFORMATION_FOR_CCC_DISCOVERY, state 27
gatt_client.c.2140: CCC found 312
...

I'm still a little new at using GATT clients, so any insight would be appreciated!

To Reproduce

Reproduction is a little difficult, mostly because I'm specifically connecting to a blood pressure sensor for my project. You're more than welcome to check out the source code here; specifically, after I've discovered all the characteristics, I attempt to enable notifications here, and receive the event packet here. It's set up as a Pico project with the VSCode extension, and could be imported as such if it's useful

Expected behavior

I expect the GATT_EVENT_QUERY_COMPLETE packet to have an ATT status of 0 (ATT_ERROR_SUCCESS); however, it consistently has a status of 0xA (ATT_ERROR_ATTRIBUTE_NOT_FOUND)

HCI Packet Logs

ascii-log-file.pklg.zip

Environment: (please complete the following information):

  • Current BTstack branch: 1.6.2 (from the Pico SDK 2.1.1)
  • Bluetooth Controller Pico W
  • Remote device: Omron Evolv Blood Pressure Monitor

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions