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
  • 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".

Reply
  • 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".

Children
No Data
Related