<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bluetooth connection issues - between two nRFs</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/79917/bluetooth-connection-issues---between-two-nrfs</link><description>Hey, 
 I encountered a very strange problem while I was trying to connect from nRF52832 (as a central device) to my nRF52805 as a peripheral. If I am trying to connect to the nRF52805 from any other device (tried with more than 10 different smartphones</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Mon, 18 Oct 2021 14:40:12 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/79917/bluetooth-connection-issues---between-two-nrfs" /><item><title>RE: Bluetooth connection issues - between two nRFs</title><link>https://devzone.nordicsemi.com/thread/334664?ContentTypeID=1</link><pubDate>Mon, 18 Oct 2021 14:40:12 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:54281d50-fdd0-4316-b696-1f03c5efbef1</guid><dc:creator>JONATHAN LL</dc:creator><description>&lt;p&gt;What is happening in the check if NUS is discovered?&lt;br /&gt;Have you done any changes to the uuid ?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Maybe set a breakpoint in&amp;nbsp;&lt;span&gt;void &lt;span&gt;ble_nus_c_on_db_disc_evt to see what appens in the event.&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Jonathan&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection issues - between two nRFs</title><link>https://devzone.nordicsemi.com/thread/331579?ContentTypeID=1</link><pubDate>Tue, 28 Sep 2021 19:06:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e3e0bdb9-f367-44d6-aeb5-db0b66c36d0d</guid><dc:creator>Udi2</dc:creator><description>&lt;p&gt;&lt;span&gt;Hey, for both versions I use SDK v5&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;
&lt;div&gt;For the nRF52832 (central) I use SDK v14.2 and SoftDevice version S132 v5.0&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;For the nRF52810 (peripheral) I use SDK v15.3 and SoftDevice version&amp;nbsp;S112 v5.1.0&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;I don&amp;#39;t have a sniffer log.&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;This is the code for the discovery:&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;u&gt;First I call this function with the correct peer address:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;err_code = sd_ble_gap_connect(peer_addr, &amp;amp;m_scan_params, &amp;amp;m_connection_param, APP_BLE_CONN_CFG_TAG);&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;u&gt;&lt;b&gt;This is the function that receives&amp;nbsp;the event after I call the function above (with&amp;nbsp;&lt;/b&gt;&lt;/u&gt;&lt;b&gt;&lt;u&gt;BLE_GAP_EVT_CONNECTED parameter)&lt;/u&gt;&lt;/b&gt;&lt;u&gt;&lt;b&gt;:&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;/**@brief Function for handling BLE events.&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;* @param[in] &amp;nbsp; p_ble_evt &amp;nbsp; Bluetooth stack event.&lt;br /&gt;&amp;nbsp;* @param[in] &amp;nbsp; p_context &amp;nbsp; Unused.&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;static void ble_evt_handler(ble_evt_t const * p_ble_evt, void * p_context)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; ret_code_t &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;err_code;&lt;br /&gt;&amp;nbsp; &amp;nbsp; ble_gap_evt_t &amp;nbsp;const * p_gap_evt &amp;nbsp;= &amp;amp;p_ble_evt-&amp;gt;evt.gap_evt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; switch (p_ble_evt-&amp;gt;header.evt_id)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_GAP_EVT_ADV_REPORT:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;on_adv_report(p_ble_evt);&lt;br /&gt;break; // BLE_GAP_EVT_ADV_REPORT&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_GAP_EVT_CONNECTED:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_INFO(&amp;quot;Connected to target&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = ble_nus_c_handles_assign(&amp;amp;m_ble_nus_c, p_ble_evt-&amp;gt;evt.gap_evt.conn_handle, NULL);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // start discovery of services. The NUS Client waits for a discovery result&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = ble_db_discovery_start(&amp;amp;m_db_disc, p_ble_evt-&amp;gt;evt.gap_evt.conn_handle);&lt;br /&gt;NRF_LOG_DEBUG(&amp;quot;err_code = %d&amp;quot;, err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;case BLE_GAP_EVT_DISCONNECTED:&lt;br /&gt;NRF_LOG_INFO(&amp;quot;Disconnected from target&amp;quot;);&lt;br /&gt;NRF_LOG_FLUSH();&lt;br /&gt;is_disconnected_from_target = true;&lt;br /&gt;break;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_GAP_EVT_TIMEOUT:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (p_gap_evt-&amp;gt;params.timeout.src == BLE_GAP_TIMEOUT_SRC_SCAN)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_INFO(&amp;quot;Scan timed out.&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; scan_start();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if (p_gap_evt-&amp;gt;params.timeout.src == BLE_GAP_TIMEOUT_SRC_CONN)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_INFO(&amp;quot;Connection Request timed out.&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_GAP_EVT_SEC_PARAMS_REQUEST:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Pairing not supported&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = sd_ble_gap_sec_params_reply(p_ble_evt-&amp;gt;evt.gap_evt.conn_handle, BLE_GAP_SEC_STATUS_PAIRING_NOT_SUPP, NULL, NULL);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_GAP_EVT_CONN_PARAM_UPDATE_REQUEST:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Accepting parameters requested by peer.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = sd_ble_gap_conn_param_update(p_gap_evt-&amp;gt;conn_handle,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;p_gap_evt-&amp;gt;params.conn_param_update_request.conn_params);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_GATTC_EVT_TIMEOUT:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Disconnect on GATT Client timeout event.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_DEBUG(&amp;quot;GATT Client Timeout.&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = sd_ble_gap_disconnect(p_ble_evt-&amp;gt;evt.gattc_evt.conn_handle,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_GATTS_EVT_TIMEOUT:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Disconnect on GATT Server timeout event.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_DEBUG(&amp;quot;GATT Server Timeout.&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = sd_ble_gap_disconnect(p_ble_evt-&amp;gt;evt.gatts_evt.conn_handle,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;BLE_HCI_REMOTE_USER_TERMINATED_CONNECTION);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; default:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;u&gt;&lt;b&gt;This is the discovery function:&lt;/b&gt;&lt;/u&gt;&lt;/div&gt;
&lt;div&gt;uint32_t ble_db_discovery_start(ble_db_discovery_t * const p_db_discovery, uint16_t conn_handle)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; VERIFY_PARAM_NOT_NULL(p_db_discovery);&lt;br /&gt;&amp;nbsp; &amp;nbsp; VERIFY_MODULE_INITIALIZED();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (m_num_of_handlers_reg == 0)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // No user modules were registered. There are no services to discover.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return NRF_ERROR_INVALID_STATE;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (p_db_discovery-&amp;gt;discovery_in_progress)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return NRF_ERROR_BUSY;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; return discovery_start(p_db_discovery, conn_handle);&lt;br /&gt;}&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;u&gt;This is the discovery start function:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;br /&gt;static uint32_t discovery_start(ble_db_discovery_t * const p_db_discovery, uint16_t conn_handle)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; uint32_t err_code;&lt;br /&gt;&amp;nbsp; &amp;nbsp; ble_gatt_db_srv_t * p_srv_being_discovered;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; memset(p_db_discovery, 0x00, sizeof(ble_db_discovery_t));&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;conn_handle = conn_handle;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; m_pending_usr_evt_index &amp;nbsp; = 0;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;discoveries_count = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;curr_srv_ind &amp;nbsp; &amp;nbsp; &amp;nbsp;= 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;curr_char_ind &amp;nbsp; &amp;nbsp; = 0;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; p_srv_being_discovered = &amp;amp;(p_db_discovery-&amp;gt;services[p_db_discovery-&amp;gt;curr_srv_ind]);&lt;br /&gt;&amp;nbsp; &amp;nbsp; p_srv_being_discovered-&amp;gt;srv_uuid = m_registered_handlers[p_db_discovery-&amp;gt;curr_srv_ind];&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; NRF_LOG_DEBUG(&amp;quot;Starting discovery of service with UUID 0x%x on connection handle 0x%x.&amp;quot;,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p_srv_being_discovered-&amp;gt;srv_uuid.uuid, conn_handle);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; err_code = sd_ble_gattc_primary_services_discover(conn_handle,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SRV_DISC_START_HANDLE,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;amp;(p_srv_being_discovered-&amp;gt;srv_uuid));&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (err_code != NRF_ERROR_BUSY)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;NRF_LOG_DEBUG(&amp;quot;err_code != NRF_ERROR_BUSY = %d&amp;quot;, err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; VERIFY_SUCCESS(err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;discovery_in_progress = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;discovery_pending &amp;nbsp; &amp;nbsp; = false;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp; else&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;NRF_LOG_DEBUG(&amp;quot;err_code == NRF_ERROR_BUSY&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;discovery_in_progress = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; p_db_discovery-&amp;gt;discovery_pending &amp;nbsp; &amp;nbsp; = true;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; return NRF_SUCCESS;&lt;br /&gt;}&lt;b&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;b&gt;&lt;u&gt;This is the function that I want to be called, but I never reach it:&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div&gt;/**@brief Callback handling NUS Client events.&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;* @details This function is called to notify the application of NUS client events.&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;&amp;nbsp;* @param[in] &amp;nbsp; p_ble_nus_c &amp;nbsp; NUS Client Handle. This identifies the NUS client&lt;br /&gt;&amp;nbsp;* @param[in] &amp;nbsp; p_ble_nus_evt Pointer to the NUS Client event.&lt;br /&gt;&amp;nbsp;*/&lt;br /&gt;&lt;br /&gt;/**@snippet [Handling events from the ble_nus_c module] */&lt;br /&gt;static void ble_nus_c_evt_handler(ble_nus_c_t * p_ble_nus_c, ble_nus_c_evt_t const * p_ble_nus_evt)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; ret_code_t err_code;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; switch (p_ble_nus_evt-&amp;gt;evt_type)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_NUS_C_EVT_DISCOVERY_COMPLETE:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_INFO(&amp;quot;Discovery complete.&amp;quot;);&lt;br /&gt;NRF_LOG_FLUSH();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = ble_nus_c_handles_assign(p_ble_nus_c, p_ble_nus_evt-&amp;gt;conn_handle, &amp;amp;p_ble_nus_evt-&amp;gt;handles);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&lt;br /&gt;// Send data back to peripheral.&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //do&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;nbsp;ret_val =&lt;br /&gt;//ble_nus_c_string_send(&amp;amp;m_ble_nus_c, (uint8_t*)&amp;quot;7&amp;quot;, 1);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;nbsp; &amp;nbsp;if ((ret_val != NRF_SUCCESS) &amp;amp;&amp;amp; (ret_val != NRF_ERROR_BUSY))&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;NRF_LOG_ERROR(&amp;quot;Failed sending NUS message. Error 0x%x. &amp;quot;, ret_val);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;APP_ERROR_CHECK(ret_val);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //} while (ret_val == NRF_ERROR_BUSY);&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; err_code = ble_nus_c_tx_notif_enable(p_ble_nus_c);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; APP_ERROR_CHECK(err_code);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_INFO(&amp;quot;Connected to device with Nordic UART Service.&amp;quot;);&lt;br /&gt;printf(&amp;quot;Connected&amp;quot;);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_NUS_C_EVT_NUS_TX_EVT:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ble_nus_chars_received_uart_print(p_ble_nus_evt-&amp;gt;p_data, p_ble_nus_evt-&amp;gt;data_len);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; case BLE_NUS_C_EVT_DISCONNECTED:&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; NRF_LOG_INFO(&amp;quot;Disconnected.&amp;quot;);&lt;br /&gt;NRF_LOG_FLUSH();&lt;br /&gt;nrf_pwr_mgmt_shutdown(NRF_PWR_MGMT_SHUTDOWN_RESET);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //scan_start();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; break;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;}&lt;br /&gt;/**@snippet [Handling events from the ble_nus_c module] */&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;Thanks&lt;/div&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Bluetooth connection issues - between two nRFs</title><link>https://devzone.nordicsemi.com/thread/330992?ContentTypeID=1</link><pubDate>Fri, 24 Sep 2021 08:54:45 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9b490ec6-660e-41ac-a9af-43e39cca121d</guid><dc:creator>JONATHAN LL</dc:creator><description>&lt;p&gt;Hi,&amp;nbsp;&lt;br /&gt;&lt;br /&gt;Can you share some extra details.&lt;br /&gt;&lt;br /&gt;What nrf5 SDK are you ruing on the two devices and what Softdevice?&lt;br /&gt;&lt;br /&gt;Could you also share a &lt;a href="https://www.nordicsemi.com/Products/Development-tools/nRF-Sniffer-for-Bluetooth-LE"&gt;sniffer log&lt;/a&gt;?&amp;nbsp;&lt;br /&gt;&lt;br /&gt;+ nrf_logs from the device you are trying to connect.&lt;br /&gt;&lt;br /&gt;and lastly can you share the code snippet you are using for the discovery?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Regards,&lt;br /&gt;Jonathan&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>