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

Problems using nRFConnect with nRF52840 Dongle - No connection

My nRF52840 arrived yesterday and I started playing around with it. It is immediately recognized y nRFConnect v3.5 BLE App v2.4.0. The firmware on the device is 4.1.2 Jul 14th 2020.

I am reproducing exactly this example How to use nRF52840 USB Dongle and nRF Connect for emulating a BLE peripheral

The advertised device can be found on iOS's nRF Connect App as well as with Android. The advertised name of the nRF52 is correctly received. However neither can I connect nor read the advertised services. Both apps show "No service" in the pre-connection phase. When I try to connect with iOS I immediately get the following error:

As you can see the smart phone seems to be "somewhat" connected (background of picture). The app on the phone still says "Connecting...". Some seconds later the connection terminates.

On Android I get "Error 133 (0x85): GATT Error" but nothing more.

The behavior is consistent whether running the nRF Connect tool on Linux or on Windows. The error is the same.

I also tried adding a HRS in the tool and use the nRF Toolbox on the phone to see whether this works. Here, the nRF52840 isn't even found but the app just said "Scanning".

What am I missing?

  • Hi

    INVALID_PARAM points towards the provided connection parameters are not valid in the peripheral. I just tested it on my end and had no problems here. It seems like you haven't added a characteristic or descriptor to your service from what I can tell on the screenshot you provided. Please do so, and see if you're able to connect.

    Best regards,

    Simon

  • Hm, I am pretty sure I followed the video verbatim.. Double checked and repeated to create a Battery Service advertisement once more. See screenshots. Same result. When connecting I get "Failed to update phy: NRF_ERROR_INVALID_PARAM") on the desktop app. What's wrong on my side? The creation/apply to device of the service succeeded without any warning/error

  • Oh, and by the way. The same error pops up also when I don't add any service at all (just the Generic Access, Generic Attribute). When I just click on "Start advertising" and then try to connect using the smartphone app.

  • Hi

    Thank you for the update. I got my hands on an iPhone and tested myself. It seems like the latest Bluetooth Low Energy application has a bug, where it won't respond to the connection that the iPhone initiates for some reason. I have reported this internally, and we are looking into it. Thank you for notifying us about this! 

    What iPhone model are you seeing this issue in?

    As for the Android issue, I would need to know what Android device and Android version this is to help you further. I think it should work if you retry a few times, as Error 133 is rather common in some Android devices.

    You can try programming the "default" ble_app_hrs peripheral example in our SDK onto your Dongle, as that should work as intended and lets you read battery level + heart rate as well.

    Best regards,

    Simon

  • Hi Simon, thanks for the update. Glad you could trigger the error as well so it wasn't just me ;-) I am using an iPhone 11 Pro Plus, latest iOS 13.6.1. The same prob also shows up on iPhone 7 and my old Android 5 tablet. (thats an rather old rebranded Lenovo/Medion tablet). I'd like to add that a friend of mine tried the same experiment last night with his nRF DK52 and it worked perfectly! No errors here! (I assume he has the lastest nRFConnect app version as well, as it auto-updates?).

    I didn't have time to test it with my nRF DK52 yet. Also, in another post I mentioned that the iOS nRF Connect seems to be rather laggy for me in contrast to the variant on Android (the above mentioned Android 5), where the UI was responsive, quick and accurate. I'll try flashing the hrs app as well. I am a little bit worried to do that correctly as I read I must not overwrite the bootloader. So.. do I need to use the Programmer app or can I flash it via SES, just like I do it for the nRF52 DK

Related