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

nRF Connect desktop Error: "failed to get descriptor"

Hi,

I am trying to use nRF Connect for desktop with a dongle or nrf52 DK to connect with another board. When I want to get the value from the connected board, it would always display this error: "failed to get descriptor", no matter whether using "notify". I cannot read or write anything

 

Could you please tell me how to solve this problem?

Thank you in advance!

Best,

Taoyi

  •  Here's the log when I tried to read the descriptor

  • Hi

    Then there must be something in your simplified HRM service/function that is causing this error. Please try comparing these to try and find out what the critical changes are. Error 133 (0x85) is just a general GATT error, so it's hard to say what exactly is the reason.

    Best regards,

    Simon

  • Take a look at Hung Bui's answer to this question.  If you are not using the peer manager, you must handle the BLE_GATTS_EVT_SYS_ATTR_MISSING event in your BLE event handler function.  The blinky example includes this case in the function ble_evt_handler() in main.c:

            case BLE_GATTS_EVT_SYS_ATTR_MISSING:
                // No system attributes have been stored.
                err_code = sd_ble_gatts_sys_attr_set(m_conn_handle, NULL, 0, 0);
                APP_ERROR_CHECK(err_code);
                break;
    

    It appears that without this response nRF Connect for desktop will hang until it hits a GATT timeout, and will show the error "Failed to get descriptors, a gatt operation already in progress" or simply "Received a Gatt timeout".  Another indication is when you hover the mouse over the arrow to toggle notifications (to the right of the characteristic), you see the message "CCCD not discovered".

Related