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 Children
  • Hello Kazi,

    Yes, I also believe this is an uncommon error, but surely it must be coming from somewhere... That's why I'm here with you trying to figure it out.
    I tried again as you asked using different cables or plugging my dongle directly in the computer, but that makes no difference and I still get the same error.
    What else do you think we can try ? There's probably something faulty in some configurations of my computer compared to yours or the one of my colleague...

    Thanks in advance,
    LeCraps.

  • I am not sure now. Cause it has been working here in my system. You may try to uninstall everything and try again? 

  • 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.

  • 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.

Related