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

Parents Reply Children
  • 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