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

Using pc-ble-driver v6 for s140: Failed to open nRF BLE Driver. Error code: 0x0D

Hello,

I tried to use use pc-ble-driver for Ublox NINA B3 EVK which has nRF524840.

It failed with following error:

./heart_rate_monitor_v6 /dev/ttyACM0
Serial port used: /dev/ttyACM0
Baud rate used: 1000000
Info: Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.

Status: 6, message: Target Reset performed
Status: 0, message: No response from device. Tried to send packet 6 times.
Failed to open nRF BLE Driver. Error code: 0x0D

0x0D is a timeout:

#define NRF_ERROR_TIMEOUT                     (NRF_ERROR_BASE_NUM + 13) ///< Operation timed out

Steps I followed to test pc-ble-driver:

1. I compiled the pc-ble-driver by following the instructions in https://github.com/NordicSemiconductor/pc-ble-driver#Compiling-pc-ble-driver-from-source

$ cmake \
    -G "Unix Makefiles" \
    -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake \
    -DCMAKE_BUILD_TYPE=Debug \
    -DARCH=x86_32,x86_64 \
    ..
$ make

2. After that I compiled the connectivity hex using the following command:

$ cmake \
    -G "Unix Makefiles" \
    -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake \
    -DCOMPILE_CONNECTIVITY=1 \
    -DCONNECTIVITY_VERSION=15.2.0 \
    ..

$ make compile_connectivity

3. After that I programmed the connectivity hex (sd_api_v6/connectivity_15.2.0_1m_with_s140_6.1.0.hex) to the device, since baud rate used by heart_rate_monitor_v6  is 1000000. I also tried using the nrfjprog to flash the connectivity hex.

4. Last I ran the ./heart_rate_monitor_v6 /dev/ttyACM0

Note: BLE App in nrfConnect for desktop also fails with the following error:

Failed to open the nRF5 BLE driver.
terminate called after throwing an instance of 'std::length_error'
what(): basic_string::_S_create

Am I doing something wrong or Is pc-ble-driver for s140 (v6) still not stable to be used in application? Can someone please help me out with this?

Thanks in advance,

Paul Varghese

Parents Reply
  • Hi Einar,

    So, I suppose version 6 API is still not supported in Release 4.0.0 (https://github.com/NordicSemiconductor/pc-ble-driver/releases/tag/v4.0.0) right?

    I don't understand in release note, what does "Support SoftDevice API version 2, 3, 5 and 6 in the same release" mean?

    I built and tried with connectivity_4.0.0_1m_with_s132_6.1.0.hex on my PCA10040. Got error:

    Serial port used: /dev/ttyACM0
    Baud rate used: 1000000
    Info: Successfully opened /dev/ttyACM0. Baud rate: 1000000. Flow control: none. Parity: none.
    
    Status: 6, message: Target Reset performed
    Status: 7, message: Connection active
    Status: 4, message: Error sending packet to target. Code: 0x802a
    Failed to set advertisement data. Error code: 0x8005
    

    Which is:

    #define NRF_ERROR_SD_RPC_H5_TRANSPORT_NO_RESPONSE (NRF_ERROR_SD_RPC_BASE_NUM + 42)

    BTW, "Removed support for 32-bit Linux" is mentioned in release note, but README.rst still has:

    -DARCH=x86_32

Children
No Data
Related