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

service was not found at the peer with error BLE_DB_DISCOVERY_SRV_NOT_FOUND

Hi everyone,

I am developing a remote controller using nRF52832 chip. My prototype is currently developed in PC10040 board. The IDE is Eclipse Oxygen, and the SDK is S132 v5.0.0.

Currently, I am trying to get data from a Google Daydream controller. It has a service with UUID 0xFE55. I can successfully connect to the device. The problem is that when the nRF52832 try to discover database it return BLE_DB_DISCOVERY_SRV_NOT_FOUND :((( I don't know where is the mistake I made.

Could you give me an advice please?

  • Hi,

    • Are you connecting your remote controller with the Google Daydream controller ? or are you using a phone to connect to the Google Daydream controller ?

    • Is your remote and the Google Daydream controller a BLE central or peripheral ?

    • Have you tried registering the UUIDs to search for in peer databases using ble_db_discovery_evt_register ?

  • Hi Sigurd, I made a mistake that I forgot changing the type of the scanning UUID. Now I can discover the service. The nRF52832 chip is a central deivce and the daydream remote controller is a peripheral. So now, I have a new challenge: receiving data from a peripheral using BLE central device. I take a look at the central tutorial and it tells me that I have to turn on the notification using ble_nus_c_rx_notif_enable(). But when I search in ble_app_uart example, there is only ble_nus_c_tx_notif_enable??

  • This is have been changed in the newest SDK versions. In the Nordic UART Service and Nordic UART Service Client, the terminology use of RX and TX was inverted compared to the apps that can interact with the service (for example, the nRF Toolbox UART app). This mismatch has been corrected in this release. As a result, the names of a few of the functions in the Nordic UART Service have changed.

    Action: Update your function calls from ble_nus_c_rx_notif_enable (old) to ble_nus_c_tx_notif_enable (new).

  • Hi Sigurd, I changed the name of the function. Now I have error NRF_ERROR_INVALID_STATE which is occur in the notification function ble_nus_c_tx_notif_enable. The reason is in ble_nus_c_handles_assign(), there is one line of code p_ble_nus->handles.nus_tx_cccd_handle = p_peer_handles->nus_tx_cccd_handle; in which p_peer_handles->nus_tx_cccd_handle is zero in my code. I don't know the target of function ble_nus_c_handles_assign(). Could you explain it for me please?

  • I have another problem. In ble_nus_c_on_db_disc_evt function, there is a for loop to check the UUID of the characteristic. But when the program come into that loop, the p_chars[i].characteristic.uuid.uuid code is always 0.

Related