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

Intel Dual Band Wireless-AC 7260 BLE issue

Dear all, 

I'm using an nRF51822 chip for implementing a BLE HID device (mouse) (SDK ver. 12.3.0, SD ver. s130_2.0.1)

I have problems when connecting via BLE with laptops that have Intel 7260 adapter onboard.

Under Windows 10:

It initially pairs and reconnects ok, but after several hours, when switching nRF device power ON-OFF, it stops reconnection.

Sometimes, while working, the driver error appears, and the Intel device disappears from system.

And to recover, it only helps to restart it under Linux.

Under Linux (Ubuntu 16.04, kernel 4.15.0-62):

7260 adapter doesn't finish pairing with nRF device correctly, until I do the following cmd:

sudo hciconfig hci0 noauth

After this, it pairs and reconnects ok - but worked with big lags, mouse motion is very slow.

Any suggestions how to deal with that issue?

Regards, Eugene

  • Edvin,

    Yes, either the device is not pairing, or it's not functional.

    Haven't debugged this issue with gdb yet, however I have uart logging and see some of device behaviour.

    I can confirm that no error handler has been caught.

    And - my project is inherited from ble_app_hids_keyboard example, with no big changes with respect to pairing.

    Meanwhile I'll try to provide more information you requested.

  • I don't think the SDKs for nRF51 will print app_errors in the log. So try to debug and set a breakpoint in the error handler (inside APP_ERROR_CHECK). Try to define DEBUG in your preprocessor defines (let me know if you are unsure how to do this), and set a breakpoint on line 76 in app_error_handler() in app_error.c. Does it stop there?

    Just a shot in the dark. May it be that you have stored the bonding information on one side, and deleted it on the other side?

  • Sorry for late reply, I've actually missed an update, thanks for your answer.

    I have FLAGS += -DDEBUG in my Makefile, and I have app_error_fault_handler function in line 76 redefined by my own that prints to my log if I get any error. So I'm sure it doesn't stop at line 76.

    And, I don't delete bond information only on one side, so that's not the case.

    P. S. I've discovered the same issue with Raspberry Pi 3 model b+. The symptoms are exactly the same as with Intel adapter under Linux.

  • Can you try to erase the bonds on both devices?

    Have you done any(!) changes to the project? can you try to revert the error handler that you have implemented? Can you try the unmodified example, and see how the pairing behaves there? I know you don't think you have done any changes that should affect pairing, but this is an effective way to check whether the issue is in the application or with the external(connected) parts. Remember to delete the bonding information on the connected devices before you test again. (That applies for every time you erase the nRF).

    Do you have any logging information?

    And can you try to set a breakpoint in your custom app_error_fault_handler? Maybe it doesn't have time to get printed before it enters the reset.

Related