Hi
We are using PCA10040 together with the ble connectivity firmware, pc-ble-driver and pc-ble-driver-py as a part of our automated test system. Eight dev boards are connected via USB to a Linux PC running Ubuntu 16.04.
We have found some issues that we have been able to solve (for example having multiple devices running at the same time). However, we experience communication problems quite often. I have enable the printouts in BLEDriver.status_handler and BLEDriver.log_message_handler and even though the situations differ some, this is quite typical:
412/ 0 <- [02 11 00 00 00 13 ]
type: VENDOR_SPECIFIC reliable:yes seq#:2 ack#:3 payload_length:6 data_integrity:1 header_checksum:b8 err_code:0
415 -> []
type: ACK reliable: no seq#:0 ack#:3 payload_length:0 data_integrity:0 err_code:0
142 -> [00 74 ]
type: VENDOR_SPECIFIC reliable:yes seq#:3 ack#:2 payload_length:2 data_integrity:1 header_checksum:ff err_code:0
139/ 0 <- []
type: ACK reliable: no seq#:0 ack#:4 payload_length:0 data_integrity:0 err_code:0
140/ 0 <- [01 74 08 00 00 00 ]
type: VENDOR_SPECIFIC reliable:yes seq#:3 ack#:4 payload_length:6 data_integrity:1 header_checksum:af err_code:0
143 -> []
type: ACK reliable: no seq#:0 ack#:2 payload_length:0 data_integrity:0 err_code:0
Failed to receive response for command
Error sending packet to target. Code #3
NordicSemiException: 3 (NRF_ERROR_INTERNAL)
Process Process-9:
Traceback (most recent call last):
File "/usr/lib/python2.7/multiprocessing/process.py", line 258, in _bootstrap
self.run()
File "/usr/lib/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "api/ble_test_dev.py", line 383, in DriverProc
rsp = f(driver, state, *args)
File "api/ble_test_dev.py", line 447, in _stop_advertising
driver.ble_gap_adv_stop()
File "/usr/local/lib/python2.7/dist-packages/pc_ble_driver_py/ble_driver.py", line 126, in wrapper
raise NordicSemiException('Failed to {}. Error code: {}'.format(wrapped.__name__, err_code))
NordicSemiException: Failed to ble_gap_adv_stop. Error code: 3
We have disabled MSD on the PCA10040 but without any real impact on our stability issues.
Have you seen these problems before? Are there any workarounds?
Here are some version info:
PCA10040 version: v1.2.1
# nrfjprog -v
nrfjprog version: 9.7.1
JLinkARM.dll version: 6.16f
# pip show pc_ble_driver_py
Name: pc-ble-driver-py
Version: 0.11.3
Summary: Python bindings for the Nordic pc-ble-driver SoftDevice serialization library
Home-page: github.com/.../pc-ble-driver-py
Author: Nordic Semiconductor ASA
Author-email: UNKNOWN
License: Modified BSD License
Location: /usr/local/lib/python2.7/dist-packages
Requires: future, wrapt, enum34
# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial
# uname -a
Linux awb2-tester 4.4.0-104-generic #127-Ubuntu SMP Mon Dec 11 12:16:42 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux