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,

    What do you mean by 'everything' please ?
    I already tried re-installing a lot of things, including the whole nRF For Desktop Apps... I'm kinda lost.
    Yes I know it works on your system, but not on mine, that's why I'm here trying to figure it out, must be something rare.
    Are you sure you listed all the possible reasons that can cause the error I'm getting ? Surely we missed one. For example in the compiled code that I can't see, isn't there some other unfulfilled conditions that can throw out this error ? I guess you have access to all the files, including the source of the nrf-ble-driver-sd_api_v5-mt-4_1_4.dll file from where the error is being thrown/generated.

    Thanks in advance,
    LeCraps.

Children
  • Hi,

    Kazi is out of office, so I'm answering instead.

    Could you try running the serial_port_enum.py example, and check what it outputs?

    python serial_port_enum.py NRF52

  • Hello Sigurd, thanks for answering and nice to meet you.


    Sure, thanks for the details. Here's the output I'm getting :



    IMPORTANT : note that when I executed this python example, I had on top of my dongle 2 other nRF devices plugged to my computer (2 nRF5340-DK chips). That's what we're seeing here. But there is no trace of my dongle (which is using the COM4), I don't know why. But maybe that's normal...

    Just to confirm you/give you some more feedback, here is my dongle on the COM4 of my device manager :

    And here is the same but through the nRF Connect For Desktop BLE app :

    Is my nRF52 dongle meant to appear when launching that serial_port_enum.py script ? I don't think so, because my colleague for whom the heart_rate_collector.py example is working has the same output than me in that case. --> when having only the nRF52 dongle plugged in, here's the output we both get :


    It doesn't seem to help us much there. What do you think ?

    Thanks in advance,
    LeCraps.

  • If the exact same dongle, with the same FW programmed to the dongle, works on your colleagues PC, I think we can rule out any FW and HW issue on the dongle.

    So likely either SW issue on your computer, or some HW(-driver)(USB-related) issue with your computer. The timeout indicates the PC is not able to communicate with the dongle.

    1) Maybe try unplugging other USB devices connect to the computer, that might be causing some issue.

    2) Maybe try changing COM PORT for the dongle (Windows Device Manager > right click the device > Properties, Port Tab-> Advanced)

    3) Maybe you can try with python v3.8

    4) Update drivers on your PC

  • Good morning Sigurd,
    Thanks for your reply.

    I agree with your analysis, most likely it is not about a FW or a HW issue on the dongle, but more like some different setup on the computer...

    1) I unplugged absolutely everything (I did not even have a mouse) and my dongle was plugged in the computer directly. Still didn't work.

    2) I tried to change the port COM of my dongle (always 4 by default), but I can't. I don't have the port settings tab, look at the screenshot :



    But for example for my nRF5340-DK board, I have access to it :

    Maybe that's the normal behavior ?

    3) I did every of the listed experiments above with python3.8 as you asked. In the past, I had also tried python3.10, python3.9 and python3.7. None of those works.

    4) I tried to update my dongle to its latest driver available, which is the following (found on your website) :

    But when doing the update, I am receiving a "drivers already up to date" message, or something similar. So I guess it is already ok on that part. Do you have the same ?


    Conclusion :

    None of those steps are resolving the errors so far, but I hope this helps you understand where the issue is coming from a bit more.

    Looking forward to your next reply,

    Thanks,

    LeCraps.

Related