nRF52840 dongle : no response from device message error, using the pc_ble_driver_py library

Hello everyone.

So, I recently tried to use a nRF52840 dongle : I plugged it into my computer and was able to connect to it using the 'nRF Connect For Desktop Bluetooth Low Energy' v4.04 app (with the default programmer). I was also successfully scanning with it and seeing other bluetooth devices.

But then, I tried to exploit my dongle using the standard pc_ble_driver_py library on python (windows 10 OS), the last current version : 

I tried at first to simply execute the heart_rate_collector.py example located in pc_ble_driver_py\examples directory. But then, a timeout error exception is being thrown, and I have trouble understanding why, I just followed the default steps.

Here's my trial :

I tried to look more carefully where was the error being thrown. Turns out that it comes from a function _nrf_ble_driver_sd_api_v5.sd_rpc_close(adapter) defined in the nrf-ble-driver-sd_api_v5-mt-4_1_4.dll file, and I can't look at it since it is compiled already...

The problem happens at the following line of the heart_rate_collector.py program example, when I'm calling the open function of the library :

A colleague of mine with seemingly the same setup than mine (same python which was 37-32 but python310 should work the same, same nRF software version, same dongle, ...)  successfully executed the program example. Here's what he got, but that I can't get :

I'm pretty sure that my dongle is well plugged in.

I am a bit out of ideas. I would be thankful if someone could help me on that.

Ask me if you need any more details,

Thanks,

LeCraps.

Parents Reply
  • Hello Kazi,


    No worries for the delay, thank you.
    About your question, yes I am able to use the basic interface of the BLE app in nRF Connect For Desktop without any issues. When the nRF52840 is properly configured (in my case it seems it's the case when I'm using the v5 version of the hex file : connectivity_4.1.4_usb_with_s132_5.1.0), I have no problem either. I can scan, update the MTU of the dongle, ...

    I only saw some inconsistencies on the BLE app (I listed them with pictures in my latest reply) once I tried to exploit my dongle using the hex file you gave me. Other than that, same timeout error that I mentioned at the beginning of this thread...


    Thanks for your time, 
    Looking forward to your next reply,
    LeCraps

Children
  • Hello LeCraps,

    You are right. the pc-ble-driver-py relies on API v5 of the connectivity FW, same version that's get programmed when we open the Bluetooth app here:

    3301.connectivity_4.1.4_usb_with_s132_5.1.0.hex

    'Also, again, without touching anything and with seemingly the same setup, it was working for a colleague of mine. Can modifying the .hex file really be the cause of this ?'

    But you colleague has no issue with this connectivity_4.1.4_usb_with_s140_6.1.1.hex file?

  • Hello Kazi,


    No no, that's not what I meant.
    I said that when my colleague is using the connectivity_4.1.4_usb_with_s132_5.1.0 file version, it works for him (and not for me, timeout error) even though we have I believe the same setup (and same dongle). That's the blocking point for me, and that's why I don't think changing the .hex file is the solution because it should work for me as well if it works for him, right ? But I still tried your solution with the new .hex file because you told me to do so.
    I had not try with him and the connectivity_4.1.4_usb_with_s140_6.1.1.hex file so far, only me.
    So to give you some more feedback, I did it as well just in case, and it doesn't seem that this hex file is adapted anyway for our nRF52840 dongle because he gets an error as well (he wasn't getting any with the default .hex file). This is not the same error than me that he's getting though :


    I hope this answer your question and helps you investigate more,
    Looking forward to your next reply,
    Thanks,
    LeCraps.

  • Are you able to use the BLE app in nRF Connect for desktop without any issues?

  • Hello Kazi,

    Yes, I have/had no problem or didn't experienced something that striked me as unusual or weird using the BLE app in nRF Connect for desktop (except when I tried to use the new connectivity_4.1.4_usb_with_s140_6.1.1.hex hex file you gave me. It caused some instability [the ones I explained in my previous replies]).
    With I believe what's the the proper configuration (using the connectivity_4.1.4_usb_with_s132_5.1.0 hex file), I was able to scan with my dongle and everything else, without problem. It looks like it's just when I'm trying to use the pc_ble_driver_py library that I get a problem.
    Do you want me to try a particular manipulation on the app ?

    I hope this answer your question and helps you investigate more,
    Looking forward to your next reply,
    Thanks,
    LeCraps.

  • Hello LeCraps,

    The pc-ble-driver-py relies on API v5 of the connectivity FW, so there is no issue with the hex file connectivity_4.1.4_usb_with_s132_5.1.0 hex file. It will not work with the 'connectivity_4.1.4_usb_with_s140_6.1.1.hex. So, what you have got its correct.

Related