QN908x as BLE Peripheral connection throwing 0x13D error very frequently on specific Windows System

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

QN908x as BLE Peripheral connection throwing 0x13D error very frequently on specific Windows System

2,459 Views
kishans
Contributor III

Configured QN908x as BLE Peripheral with security mode 1 and level 3 , this peripheral device does normal BLE communication and its working as expected in most of the systems. But on a older DELL Latitude E6440  Laptop most of the time the BLE connection is throwing 0x13D [gHciConnectionTerminatedDueToMicFailure_c] connection error. This error getting thrown right after gConnEvtConnected_c event in BleApp_ConnectionCallback().   

FYI On the same system other similar BLE dongle works without any error.

@mario_castaneda 

 

Regards and Thanks,

     kishan

0 Kudos
14 Replies

2,403 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

 

Still, it is hard to know the reason of the disconnection with the current information, could you please share the sniffer log of the transactions ?

 

regards,
Estephania

0 Kudos

2,398 Views
kishans
Contributor III

Estephania, 

Tried few things on the SMP ,  
 Tried with the security mode and level to gSecurityMode_1_Level_2_c and gSecurityMode_1_Level_1_c and bonding was Enabled, with this configuration also its throwing 0x13D  error. 

Without bonding I was not able to test this because the FIDO host app connects only to the bonded devices.

Let me know how to capture the  sniffer log on a windows 10 device. Am not having any hardware BLE sniffer so need your input.

 

Regards and Thanks,

    kishan

0 Kudos

2,390 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

 

In order to capture an sniffer log, you need an sniffer.

Also, if your computer has a Bluetooth Classic IC and not a Bluetooth LE one , the communication will not match as the specification for both are different, and the issue seems to be related with the MIC (Message Integrity Check) , so in order to know more about this we need so see more information about the Bluetooth LE transactions and you will need to ensure that the computer has Bluetooth LE instead of Bluetooth classic.

 

regards,
Estephania

 

 

0 Kudos

2,385 Views
kishans
Contributor III

Hello Estephania, 

After pairing first time the entire communication process gets completed without any error, and able to execute the entire communication logic successful for the one time after resetting the windows BLE - so if am not wrong the BLE is working in that system. At the moment getting BLE sniffer is bit difficult, let me know if there is any other level of logs can help here.

 

Regards ,

 kishan 

 

0 Kudos

2,319 Views
kishans
Contributor III

@estephania_mart 

For your better understanding of the problem am facing here is the flow diagram, QN908x_BLE4_0.png

0 Kudos

2,312 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

 

I understand the process, still, to have a full picture of the problem the log is needed so we can fully see the packets and understand what it's going on here. Also, I was not able to locate if the has a Bluetooth LE or Bluetooth Classic device, it would appear that it is a classic device instead of a Bluetooth LE.

estephania_mart_0-1610565277349.png

 

 

Something that I can think of for you to try, could you please try changing the connection interval ? Could you please try something like 400 ms or play with those values?

 

regards,

Estephania

0 Kudos

2,306 Views
kishans
Contributor III

Hello Estephania, 

Here is the image of device driver manager and the Bluetooth driver,

image (4).pngimage (3).pngimage (2).png

 

Since QN908x is acting as peripheral due want me try with the connection interval to 400ms, this is by calling connection Update method. correct me if my understanding is wrong.

Regards,

 kishan

0 Kudos

2,298 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

 

Before continuing you need to make sure that your device supports Bluetooth Low Energy. 

Bluetooth LE and classic Bluetooth devices cannot communicate with each other.

When using Bluetooth LE the device will go to sleep, wake up, and so on.

You need to verify that the disconnection you are seeing it's not caused by the device going to sleep. Is this is the case, this is made by specification, you can change the connection interval but the QN9080 is a Bluetooth LE device.

If you have any question about this, let me know.

 

regards,

Estephania

0 Kudos

2,276 Views
kishans
Contributor III

Hi Estephania,

Device is supporting the Bluetooth LE, QN908x is able to communicate and do the data packet exchange successfully - first time after pairing and also once after the windows BLE system restarted. We are able to see the data communication logs and confirm the BLE communication. 

I confirmed that the device is not going to sleep, that I confirmed by trying out communication using other BLE tokens. Other BLE tokens are working fine, only its not working with QN908x.

Regards,

 kishan

 

 

 

0 Kudos

2,264 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

While performing some test in our current setup with a computer with Bluetooth LE support, if you use the HID project, enter the key when asked the device gets connected correctly without any disconnection on our side, your problem in this case is not reproducible.

Also, I noticed you changed from the original post the error you were getting, it seems that the issue you are presenting it's either on the driver your computer is using or with the computer not having Bluetooth Low Energy support.

I apologize for the inconvenience, but without an sniffer log it is hard to know what is the packet error you are having and the disconnection reason with detail .

 

Regards,

Estephania

2,420 Views
estephania_mart
NXP TechSupport
NXP TechSupport

hello,

 

Could you please provide more information about the issue ? Which demo are you using as a base? Also , could you please providesome logs of the communication error ?

 

regards,

Estephania

0 Kudos

2,413 Views
kishans
Contributor III

Hi Estephania,

Its a HID based project. 

Communication gets successful first time (not always but most successful) only when we reset the Windows device Bluetooth.  

 

 Below is the method call sequence and event logs collected on the QN908x side: 
 

Adv not Connected
In BleConnManager_GapPeripheralEvent()
Event 0
In BleApp_ConnectionCallback()
Event 0
In gConnEvtConnected_c
connInterval 30
connLatency 0
supervisionTimeout 3C0

In BleConnManager_GapPeripheralEvent()
Event 13
GapPeripheral:Disconnecting.
In BleApp_ConnectionCallback()
Event 13
In gConnEvtDisconnected_c
Disconnected Reason in 13D

 

Regards and Thanks,

    kishan

0 Kudos

2,446 Views
estephania_mart
NXP TechSupport
NXP TechSupport

Hello,

 

Could you please help me with the Bluetooth version chip on your device? Could you please help me confirm that the Bluetooth version of the device supports the security capabilities?

 

Regards,

Estephania

 

0 Kudos

2,437 Views
kishans
Contributor III

Hello Estephania, 

Correct if my steps to read the device BLE version is wrong, 
In Windows Device manager -> Bluetooth ->select 'Bluetooth device' ->(Right click -> properties -> advanced) 

After this read the Firmware version of the controller as "HCI 6.7869 / LMP 6.64512", with respect to the LMP version it looks like

  • LMP 6.x - Bluetooth 4.0

image (1).png

so the BLE controller version of the device which am testing QN908x product is 4.0. 

Not very sure on how to check whether the security capability is supported in this device, I tried other BLE device which also does similar kind of BLE pairing but not sure about what exact security capability they have implemented in the device. 

SDK version used : 2.2.3

Regards and Thanks,

      kishan 
 

Tags (1)
0 Kudos