<?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>Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/50678/not-receiving-notifications-indications-in-the-central-events-handler-nrf52832---s132</link><description>Hello, 
 Let me introduce you to the issue: 
 I am working on a custom firmware for a custom hardware, based on the nRF52832 and SD S132, as a central which need to connect to an already implemented peripheral device and write, read and receive indications</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Tue, 27 Aug 2019 13:29:06 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/50678/not-receiving-notifications-indications-in-the-central-events-handler-nrf52832---s132" /><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/206412?ContentTypeID=1</link><pubDate>Tue, 27 Aug 2019 13:29:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5526610a-def1-4c38-baa5-4797703a6c84</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Gabriel,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I apologize for the late reply, I have been on vacation the past week.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I requested access to the sniffer traces on the Google Drive. I guess you need to approve the request before I can view the files&lt;/p&gt;
[quote user="margabro"]However, the handles are still wrong when checking in Wireshark. Is it possible that for some reason Wireshark is not reading properly the connection data, maybe because interferences (I have around me many dozens of BLE devices).[/quote]
&lt;p&gt;&amp;nbsp;One should never say never, but I think that is unlikely.&amp;nbsp;&lt;/p&gt;
[quote user="margabro"]About the CCCD, it is called from my custom discovery event handler:[/quote]
&lt;p&gt;&amp;nbsp;This looks OK.&amp;nbsp;&lt;/p&gt;
[quote user="margabro"]Where the&amp;nbsp;ble_custom_char_notif_enable() is a check for the handles:[/quote]
&lt;p&gt;&amp;nbsp;This also looks OK.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203733?ContentTypeID=1</link><pubDate>Tue, 13 Aug 2019 07:05:13 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d9288f89-2439-4d4e-b1e8-3864810f849d</guid><dc:creator>Gabriel C.</dc:creator><description>&lt;p&gt;Hi&amp;nbsp;&lt;span&gt;Bj&amp;oslash;rn,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;For some reason yesterday it started working... sometimes. After removing the snipped you mentioned, and moving the&amp;nbsp;custom_srv_c_init() down right before the scan_init() (in main.c), I started reeving&amp;nbsp;the correct notifications for some connections. It works something around once every 5 connections.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;However, the handles are still wrong when checking in Wireshark. Is it possible that for some reason Wireshark is not reading properly the connection data, maybe because interferences (I have around me many dozens of BLE devices).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;The received notifications (2), even if for the first one it says [Malformed Packet], contains the expected values.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;In the following link you can find the two sniffer trace files. One with a successful connection, cccd activated successfully and notifications received, and one with the connection successful but no notifications/indications:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;a href="https://drive.google.com/drive/folders/1pLI9kpgB1jAxd8ZesN2l3A06QMzXFkx_?usp=sharing"&gt;drive.google.com/.../1pLI9kpgB1jAxd8ZesN2l3A06QMzXFkx_&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;1. In the good one, the connection starts at line nr. 364 and the notifications are received starting at line nr. 448.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;2. In the one without notifications, the connection starts at line nr. 209.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;About the CCCD, it is called from my custom discovery event handler:&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void custom_srv_c_evt_handler(ble_custom_srv_c_t * p_custom_srv_c, ble_custom_srv_c_evt_t * p_custom_srv_c_evt){
	switch (p_custom_srv_c_evt-&amp;gt;evt_type)
	{
		case BLE_CUSTOM_SRV_C_EVT_DISCOVERY_COMPLETE:{
				if (m_conn_handle_custom_srv_c == BLE_CONN_HANDLE_INVALID)
				{
						ret_code_t err_code;

						m_conn_handle_custom_srv_c = p_custom_srv_c_evt-&amp;gt;conn_handle;

						err_code = ble_custom_srv_c_handles_assign(p_custom_srv_c, m_conn_handle_custom_srv_c, &amp;amp;p_custom_srv_c_evt-&amp;gt;params.disc_complete.handles[0]); 
						APP_ERROR_CHECK(err_code);


                        //Enable notifications for Custom CCCD
						err_code = ble_custom_char_notif_enable(p_custom_srv_c_evt);
						APP_ERROR_CHECK(err_code);
				}
		} 
		break;
		
		......
	}
}&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Where the&amp;nbsp;ble_custom_char_notif_enable() is a check for the handles:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;uint32_t ble_custom_char_notif_enable(ble_custom_srv_c_evt_t * evt)
{
	VERIFY_PARAM_NOT_NULL(evt);

    if ((evt-&amp;gt;conn_handle == BLE_CONN_HANDLE_INVALID) ||(evt-&amp;gt;params.disc_complete.handles[BLE_CUSTOM_SRV_C_CHAR_CCCD] == BLE_GATT_HANDLE_INVALID))
    {
        return NRF_ERROR_INVALID_STATE;
    }
    return cccd_configure(evt-&amp;gt;conn_handle, evt-&amp;gt;params.disc_complete.handles[BLE_CUSTOM_SRV_C_CHAR_CCCD], true);
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;And the&amp;nbsp;ble_custom_srv_c_handles_assign() looks like:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;ret_code_t ble_custom_srv_c_handles_assign(ble_custom_srv_c_t                   * p_ble_custom_srv_c,
										   uint16_t                             conn_handle,
										   ble_custom_srv_c_handle_t const      * p_peer_handles)
{
    VERIFY_PARAM_NOT_NULL(p_ble_watchman_srv_c);

    p_ble_custom_srv_c-&amp;gt;conn_handle = conn_handle;
    p_ble_custom_srv_c_queue_reset();
    if (p_peer_handles != NULL)
    {
        memcpy(p_ble_custom_srv_c-&amp;gt;handles, p_peer_handles, sizeof(p_ble_custom_srv_c-&amp;gt;handles));
    }
    else
    {
        memset(p_ble_custom_srv_c-&amp;gt;handles, BLE_GATT_HANDLE_INVALID, sizeof(p_ble_custom_srv_c-&amp;gt;handles));
    }
    return NRF_SUCCESS;
}&lt;/pre&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Again, thanks for your help.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;BR,&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Gabriel.&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203651?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 14:52:00 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9095f07e-7c86-432d-92c2-4c42b1188710</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Gabriel&lt;/p&gt;
&lt;p&gt;Yes, if you could attach the entire sniffer trace, then that would be great.&amp;nbsp; I would like to see the service discovery procedure as the handle for the CCCD write doesnt make sense if you are initializing the Device Information Service first in&amp;nbsp;services_init().&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you could also post the snippet where you&amp;#39;re calling&amp;nbsp;cccd_configure() then that would be great as well.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203471?ContentTypeID=1</link><pubDate>Mon, 12 Aug 2019 06:59:21 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1b7e9eb6-a784-4a68-9568-a832c4409748</guid><dc:creator>Gabriel C.</dc:creator><description>&lt;p&gt;Hi &lt;span&gt;Bj&amp;oslash;rn&lt;/span&gt;,&lt;/p&gt;
&lt;p&gt;Thanks for the hint. I removed that snippet. It looked to me that when I programmed it it was not adding and detecting properly the VS UUID. But it does.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Here is the custom_service_init():&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;void custom_service_init(void)
{
    ret_code_t                  err_code;
	custom_srv_init_t           custom_srv;

    // Initialize evt handlers and the service
    memset(&amp;amp;custom_srv, 0, sizeof(custom_srv));
    custom_srv.write_evt_handler = custom_srv_gatts_write_evt_handler;
    custom_srv.read_evt_handler  = custom_srv_gatts_read_evt_handler;
	
    err_code = custom_srv_init(&amp;amp;m_ble_custom, &amp;amp;custom_srv);
    APP_ERROR_CHECK(err_code);    
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Where &amp;quot;m_ble_custom&amp;quot; is a &amp;quot;custom_srv_t&amp;quot; configuration struct.&lt;/p&gt;
&lt;p&gt;And the custom_srv_init() looks like:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;ret_code_t custom_srv_init(custom_srv_t * p_custom, const custom_srv_init_t * p_custom_init)
{
    uint32_t      err_code;
    ble_uuid_t    ble_uuid;

    VERIFY_PARAM_NOT_NULL(p_custom);
    VERIFY_PARAM_NOT_NULL(p_custom_init);
	
    // Initialize the service structure.
    p_custom-&amp;gt;conn_handle       = BLE_CONN_HANDLE_INVALID;
    p_custom-&amp;gt;write_evt_handler = p_custom_init-&amp;gt;write_evt_handler;
    p_custom-&amp;gt;read_evt_handler  = p_custom_init-&amp;gt;read_evt_handler;
	
	BLE_UUID_BLE_ASSIGN(ble_uuid, BLE_UUID_CUSTOM_SERVICE);

    // Add the service.
    err_code = sd_ble_gatts_service_add(BLE_GATTS_SRVC_TYPE_PRIMARY,
                                        &amp;amp;ble_uuid,
                                        &amp;amp;p_custom-&amp;gt;service_handle);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_status_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_relays_action_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_publickeys_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_hash_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_lockstate_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_fwupdate_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_iccid_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);
    
    err_code = custom_rssi_char_add(p_custom, p_custom_init);
    VERIFY_SUCCESS(err_code);   
    
    return NRF_SUCCESS;    
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Do you need to see any of the characteristics declaration functions?&lt;/p&gt;
&lt;p&gt;This is how the cccd write sniffed packet looks like after removing the code snippet you said:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/600x240/__key/communityserver-discussions-components-files/4/Anotaci_F300_n-2019_2D00_08_2D00_12-085709.png" /&gt;&lt;/p&gt;
&lt;p&gt;The information in there does not make any sense anymore.&lt;/p&gt;
&lt;p&gt;Is it useful If I show you a full connection sniffed log?&lt;/p&gt;
&lt;p&gt;BR and thanks a lot.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203359?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2019 14:07:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:20282529-f510-4082-96dd-d3aaa930eb57</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Gabriel,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The following snippet in&amp;nbsp;ble_custom_srv_c_init() does not belong there.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;	err_code = sd_ble_gatts_service_add(BLE_GATTS_SRVC_TYPE_PRIMARY, &amp;amp;service_uuid, &amp;amp;p_ble_custom_srv_c_init-&amp;gt;service_handle);
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;This should be placed in the&amp;nbsp;custom_service_init(). What does&lt;span&gt;&amp;nbsp;&lt;/span&gt;custom_service_init() look like?&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203276?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2019 11:00:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:986b571e-7af5-47bb-aa52-1fe503e85d44</guid><dc:creator>Gabriel C.</dc:creator><description>&lt;p&gt;Hi &lt;span&gt;Bj&amp;oslash;rn&lt;/span&gt;,&lt;/p&gt;
&lt;p&gt;Yes, my device is both peripheral and central at the same time. I did not developed the peripheral side so the issue could also com from here. I commented the advertising start functions and services_init() and the 0x180a changed to 0x1801 (Generic Attribute Profile). Let me show you some code:&lt;br /&gt;&lt;br /&gt;This is the services init:&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static void services_init(void)
{
	device_information_srv_init();
	custom_service_init();
	ibeacon_service_init();
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Here is how I declare my &amp;quot;vendor specific&amp;quot; UUIDs for the central services discovery:&lt;br /&gt;&lt;br /&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;ret_code_t ble_custom_srv_c_init(ble_custom_srv_c_t * p_ble_custom_srv_c, ble_custom_srv_c_init_t * p_ble_custom_srv_c_init)
{
	uint32_t err_code;

    VERIFY_PARAM_NOT_NULL(p_ble_custom_srv_c);
    VERIFY_PARAM_NOT_NULL(p_ble_custom_srv_c_init);
	
	//UUID 128bits for wKnob Service
	ble_uuid_t        service_uuid;
	ble_uuid128_t     base_uuid = BLE_UUID_WKNOB_C_SERVICE;
	service_uuid.uuid = BLE_WKNOB_BASE_UUID;
	err_code = sd_ble_uuid_vs_add(&amp;amp;base_uuid, &amp;amp;service_uuid.type);
	APP_ERROR_CHECK(err_code);
	
	err_code = sd_ble_gatts_service_add(BLE_GATTS_SRVC_TYPE_PRIMARY, &amp;amp;service_uuid, &amp;amp;p_ble_custom_srv_c_init-&amp;gt;service_handle);
    if (err_code != NRF_SUCCESS)
    {
        return err_code;
    }
	
	//UUID 128bits for wKnob Characteristic
	ble_uuid_t          char_uuid;
	ble_uuid128_t       char_base_uuid = BLE_UUID_WKNOB_C_CHAR;
	char_uuid.uuid      = BLE_WKNOB_BASE_UUID;
	err_code = sd_ble_uuid_vs_add(&amp;amp;char_base_uuid, &amp;amp;char_uuid.type);
	APP_ERROR_CHECK(err_code);
	
    p_ble_custom_srv_c-&amp;gt;conn_handle   = BLE_CONN_HANDLE_INVALID;
    p_ble_custom_srv_c-&amp;gt;evt_handler   = p_ble_custom_srv_c_init-&amp;gt;evt_handler;
    p_ble_custom_srv_c-&amp;gt;error_handler = p_ble_custom_srv_c_init-&amp;gt;error_handler;
    memset(p_ble_custom_srv_c-&amp;gt;handles, BLE_GATT_HANDLE_INVALID, sizeof(p_ble_custom_srv_c-&amp;gt;handles));

    return ble_db_discovery_evt_register(&amp;amp;service_uuid);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;After more testing it looks to me like it could have something to do with the order in which everything is declared and called. This is how all is called in main.c:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;int main(void)
{
    // Initialize.
    log_init();
    timer_init();
    scheduler_init();

    power_management_init();
    ble_stack_init();
    sd_power_dcdc_mode_set(NRF_POWER_DCDC_ENABLE);
		
	db_discovery_init();
	
	//Here is where the service for central discovery is called
	custom_srv_c_init();

    gatt_init();
    conn_params_init();
    custom_sys_init();

    //Here is where the peripheral services and advertising starts
    services_init();
    gap_params_init();
    advertising_init();
	advertising_start(APP_BLE_CONN_CFG_TAG);


    //Other declarations
    motor_ctrl_init();
    peripherals_ctrl_init();
	nrf_drv_gpiote_init();
	mic_ctrl_init();
	ext_flash_init();
	ext_flash_deep_sleep();
    gprs_ctrl_init();
    custom_init();

    peripherals_ctrl_led_switch_turn_on(3);  

    gprs_ctrl_set_msg_type(ACTION_REQUEST_MSG);
    
    //Here is where I start the scan and connection to the remote peripheral
	scan_init();
	
	
	uint8_t mac[6] = {0x00, 0x1E, 0xC0, 0x5F, 0x00, 0xE3};
	scan_custom_dev_by_name(WKNOB_DEV_TYPE, mac);
		
		
    // Enter main loop.
    for (;;)
    {
			
        custom_periodic_task();
			
        gprs_ctrl_task();
				
		idle_state_handle();
    }
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Again, If I comment the peripheral services init and advertising start, or if I move the&amp;nbsp;custom_srv_c_init() after it, when calling the CCCD function everything changes again (both the service UUID and char UUID).&lt;/p&gt;
&lt;p&gt;Seems like the SD is stuck on peripheral mode, so when I try to enable the CCCD as central, it tries to do so for the services declared in the peripheral side. Could that be possible?&lt;br /&gt;&lt;br /&gt;Thank you a lot for the help you are providing.&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203238?ContentTypeID=1</link><pubDate>Fri, 09 Aug 2019 09:04:20 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e2f41700-f6e9-4162-b393-a94cd2994eb7</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Hi Gabriel,&amp;nbsp;&lt;/p&gt;
[quote user="margabro"]I am not able to understand where the 0x180a UUID is assigned. I isolated my code and commented everything related to generic services and characteristics, and I still got it.[/quote]
&lt;p&gt;Is this on the peripheral device or the central device? Or is the central device also a peripheral device at the same time? If its the latter, can you post the services_init() function as well as the code where you define your custom service and its characteristics, i.e. where you call sd_ble_gatts_service_add and characteristic_add(which in turn calls&amp;nbsp;sd_ble_gatts_characteristic_add) ?&lt;/p&gt;
[quote user="margabro"]Also, where does that service come from when enabling the CCCD?[/quote]
&lt;p&gt;&amp;nbsp;No quite sure what you mean here. The cccd_configure is a function that writes to the CCCD of characteristic on the peripheral that the central want to receive notifications/indications from.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203136?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 14:50:32 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:beadc6a3-fc8f-4d86-9aca-5fdcaf3ed14e</guid><dc:creator>Gabriel C.</dc:creator><description>&lt;p&gt;I am not able to understand where the 0x180a UUID is assigned. I isolated my code and commented everything related to generic services and characteristics, and I still got it. Also, where does that service come from when enabling the CCCD? The only parameters there are conn_handle and write_params:&lt;/p&gt;
&lt;p&gt;&lt;pre class="ui-code" data-mode="c_cpp"&gt;static uint32_t cccd_configure(uint16_t conn_handle, uint16_t cccd_handle, bool enable)
{

	uint8_t buf[BLE_CCCD_VALUE_LEN];

    buf[0] = enable ? BLE_GATT_HVX_INDICATION : 0;
    buf[1] = 0;

    ble_gattc_write_params_t const write_params =
    {
        .write_op = BLE_GATT_OP_WRITE_REQ,
        .flags    = BLE_GATT_EXEC_WRITE_FLAG_PREPARED_WRITE,
        .handle   = cccd_handle,
        .offset   = 0,
        .len      = BLE_CCCD_VALUE_LEN,
        .p_value  = (uint8_t *)buf
    };

    return sd_ble_gattc_write(conn_handle, &amp;amp;write_params);
}&lt;/pre&gt;&lt;/p&gt;
&lt;p&gt;Where&lt;/p&gt;
&lt;p&gt;conn_handle: 0x0000&lt;br /&gt;cccd_handle: 0x0019&lt;br /&gt;&lt;br /&gt;Are the right ones.&lt;/p&gt;
&lt;p&gt;The handle on the sniffer should look like this (when enabled with nRF Connect APP):&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/600x240/__key/communityserver-discussions-components-files/4/Anotaci_F300_n-2019_2D00_08_2D00_08-164911.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203085?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 13:09:07 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:7028f249-205a-49ae-af1b-0f70593ad21e</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;Happy to help. :) Just post a comment here if you&amp;#39;re still having issues.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/203018?ContentTypeID=1</link><pubDate>Thu, 08 Aug 2019 09:53:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:443d3de2-485e-40bd-89c6-8d68d355ca8b</guid><dc:creator>Gabriel C.</dc:creator><description>&lt;p&gt;Hi Bj&amp;ouml;rn, thank you for your reply and sorry for my late answer. I did not really knew I could see the connection packets, but only the advertising ones (noobie me...) with the sniffer.&lt;/p&gt;
&lt;p&gt;Now, and after comparing with the Android connection, I saw different issues I am trying to fix. This is one of them:&lt;/p&gt;
&lt;p&gt;&lt;img alt=" " src="https://devzone.nordicsemi.com/resized-image/__size/600x240/__key/communityserver-discussions-components-files/4/Anotaci_F300_n-2019_2D00_08_2D00_08-114309.png" /&gt;&lt;/p&gt;
&lt;p&gt;As you can see, the mentioned service is the default &amp;quot;Device&amp;nbsp;Information 0x180a&amp;quot; and the characteristic is my custom one. This is obviously not&amp;nbsp;right as my characteristic is&amp;nbsp;in a custom service with UUID:&amp;nbsp;00035b0358e607dd021a08123a000300. This causes a &amp;quot;Malformed Packet&amp;quot;.&lt;/p&gt;
&lt;p&gt;The problem comes from the discovery event handler, where at some point I forward the events at both my custom event handler and the default event handler for default characteristics and services, and somewhere over there the handles for each service and characteristics are overlapped.&lt;/p&gt;
&lt;p&gt;I will isolate the connection to handle only my custom service, and if this doesn&amp;#39;t fix the issue I will reply again here.&lt;/p&gt;
&lt;p&gt;Thanks again for the hint.&lt;/p&gt;
&lt;p&gt;BR,&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Not receiving Notifications/Indications in the central events handler [nRF52832 - s132]</title><link>https://devzone.nordicsemi.com/thread/202666?ContentTypeID=1</link><pubDate>Tue, 06 Aug 2019 14:15:25 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bee0f5c3-4ecc-4002-a34f-81760380e166</guid><dc:creator>bjorn-spockeli</dc:creator><description>&lt;p&gt;HI Gabriel,&amp;nbsp;&lt;/p&gt;
&lt;p&gt;would you be able to provide a sniffer trace of the on-air data between the nRF52 central and the peripheral? This way we would be able to check whether the nRF52 is correctly enabling notifcations by writting to the CCCD of the characteristic on the peripheral side.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Best regards&lt;/p&gt;
&lt;p&gt;Bjørn&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>