Hi,
this is my first time trying to use nrf connectivity tools, and my setup is a bit strage (and I have no clean DK setup to compare with:-(
I have to update firmware for a nRF52832 device via BLE and I'd like to use a custom nRF52840 board as connectivity device/tool.
the design of this custom board is said to be very close to the nRF52840 DK,
and actually the nRF-Sniffer-for-802.15.4/nrf802154_sniffer/nrf802154_sniffer.hex firmware works just fine (via USB).
I've tried both sd_api_v6/connectivity_4.1.1_usb_with_s140_6.1.1.hex and sd_api_v5/connectivity_4.1.1_usb_with_s132_5.1.0.hex from https://github.com/NordicSemiconductor/pc-ble-driver.git branch release/4.1-compiled-connectivity
the fw updater starts, but very soon I get an error
pc_ble_driver_py.exceptions.NordicSemiException: Failed to ble_gap_connect. Error code: NRF_ERROR_SD_RPC_SEND
and the nRF52840 crashes -- the nrf then shows up as new usb device in kernel log,
changing device name e.g. from ttyACM2 to ttyACM3 as ttyACM2 is still open and busy with the updater.
here is the full communication between python update script and usb nrf52840 connectivity device from strace in linux (Ubuntu 18.04)
O20.7367:18:29:45.030972 ioctl(6, SNDCTL_TMR_START or TCSETS, {B1000000 -opost -isig -icanon -echo ...}) = 0
O20.7367:18:29:45.031412 ioctl(6, TCGETS, {B1000000 -opost -isig -icanon -echo ...}) = 0
O20.7367:18:29:45.233026 ioctl(6, FIONBIO, [1]) = 0
O20.7367:18:29:45.233166 readv(6, [{iov_base="\xc0\x00\x2f\x00\xd1\x01\x7e\xc0", iov_len=1024}], 1) = 8
O20.7415:18:29:45.234981 writev(6, [{iov_base="\xc0\x00\x05\x00\xfb\xc0", iov_len=6}], 1) = 6
O20.7415:18:29:45.536734 writev(6, [{iov_base="\xc0\x00\x2f\x00\xd1\x01\x7e\xc0", iov_len=8}], 1) = 8
O20.7416:18:29:45.537413 readv(6, [{iov_base="\xc0\x00\x2f\x00\xd1\x02\x7d\xc0", iov_len=1024}], 1) = 8
O20.7415:18:29:45.538622 writev(6, [{iov_base="\xc0\x00\x3f\x00\xc1\x03\xfc\x11\xc0", iov_len=9}], 1) = 9
O20.7415:18:29:45.839574 writev(6, [{iov_base="\xc0\x00\x3f\x00\xc1\x03\xfc\x11\xc0", iov_len=9}], 1) = 9
O20.7416:18:29:45.937323 readv(6, [{iov_base="\xc0\x00\x2f\x00\xd1\x01\x7e\xc0", iov_len=1024}], 1) = 8
O20.7416:18:29:45.937653 writev(6, [{iov_base="\xc0\x00\x2f\x00\xd1\x02\x7d\xc0", iov_len=8}], 1) = 8
O20.7415:18:29:46.140990 writev(6, [{iov_base="\xc0\x00\x3f\x00\xc1\x03\xfc\x11\xc0", iov_len=9}], 1) = 9
O20.7416:18:29:46.142084 readv(6, [{iov_base="\xc0\x00\x3f\x00\xc1\x03\xfc\x11\xc0", iov_len=1024}], 1) = 9
O20.7416:18:29:46.142490 writev(6, [{iov_base="\xc0\x00\x3f\x00\xc1\x04\x7b\x11\xc0", iov_len=9}], 1) = 9
O20.7415:18:29:46.442321 writev(6, [{iov_base="\xc0\x00\x3f\x00\xc1\x03\xfc\x11\xc0", iov_len=9}], 1) = 9
O20.7416:18:29:46.442665 readv(6, [{iov_base="\xc0\x00\x3f\x00\xc1\x04\x7b\x11\xc0", iov_len=1024}], 1) = 9
O20.7367:18:29:46.443383 writev(6, [{iov_base="\xc0\xdb\xdc\xae\x00\x92\x00\x69\x23\x00\x00\x00\x01\x01\x9e\x00\xf2\x46\xc0", iov_len=19}], 1) = 19
O20.7416:18:29:46.443754 readv(6, [{iov_base="\xc0\x08\x00\x00\xf8\xc0", iov_len=1024}], 1) = 6
O20.7416:18:29:46.444002 readv(6, [{iov_base="\xc0\xc8\x6e\x00\xca\x01\x69\x00\x00\x00\x00\x55\xc7\xc0", iov_len=1024}], 1) = 14
O20.7416:18:29:46.444046 writev(6, [{iov_base="\xc0\x08\x00\x00\xf8\xc0", iov_len=6}], 1) = 6
O20.7367:18:29:46.444276 writev(6, [{iov_base="\xc0\xc9\x2e\x00\x09\x00\x60\xe9\xcd\xc0", iov_len=10}], 1) = 10
O20.7416:18:29:46.444620 readv(6, [{iov_base="\xc0\x10\x00\x00\xf0\xc0", iov_len=1024}], 1) = 6
O20.7416:18:29:46.445255 readv(6, [{iov_base="\xc0\xd1\x6e\x00\xc1\x01\x60\x00\x00\x00\x00\x9e\x95\xc0", iov_len=1024}], 1) = 14
O20.7416:18:29:46.445298 writev(6, [{iov_base="\xc0\x10\x00\x00\xf0\xc0", iov_len=6}], 1) = 6
O20.7367:18:29:46.445822 writev(6, [{iov_base="\xc0\xd2\xce\x01\x5f\x00\x8c\x01\x02\xbe\x87\x74\xd4\x01\xf6\x01\x01\x40\x01\xf0\x00\x0a\x00\x01\x0c\x00\x18\x00\x00\x00\x90\x01\x01\x5a\xad\xc0", iov_len=36}], 1) = 36
O20.7416:18:29:46.446299 readv(6, [{iov_base="\xc0\x18\x00\x00\xe8\xc0", iov_len=1024}], 1) = 6
O20.7416:18:29:46.682754 readv(6, [{iov_base="", iov_len=1024}], 1) = 0
any ideas what's going wrong?
is there any newer connectivity fw hex file for nrf52840?
thanks for any help!
Harald