Code Monkey home page Code Monkey logo

Comments (25)

jwhui avatar jwhui commented on July 3, 2024

From the logs, it appears that the RCP is resetting unexpectedly.

./build/posix/src/posix/ot-daemon[6555]: [CRIT]-PLAT----: Unexpected RCP reset: RESET_POWER_ON

I tried to reproduce this issue using the latest main branch (098b6da), but was unable to reproduce the issue.

@nageshshamnur , is there anything that may cause your USB dongle to reset and/or power cycle?

@LuDuda @MarekPorwisz , thoughts?

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@jwhui : Thanks for the reply. i am not sure why reset power cycle has triggered? i am not doing anything extra other than executing ot-ctl commands in a different console. I have tried innumerable number of times. More than rest power event what i have seen more prominent is the following 2 issues (in both DK and dongle):

./build/posix/src/posix/ot-daemon[6555]: [CRIT]-PLAT----: RestoreProperties() at /home/nrf-connect-sdk/CHIP/openthread/src/lib/spinel/radio_spinel_impl.hpp:2296: Failure

ot-daemon: /home/nrf-connect-sdk/CHIP/openthread/src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion `false' failed.

from ot-nrf528xx.

wgtdkp avatar wgtdkp commented on July 3, 2024

ot-daemon: /home/nrf-connect-sdk/CHIP/openthread/src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion `false' failed.

This seems to me that the daemon and RCP are incompatible with each other. Can use build the ot-daemon with the same revision of ot-nrf528xx/openthread?

from ot-nrf528xx.

jwhui avatar jwhui commented on July 3, 2024

This seems to me that the daemon and RCP are incompatible with each other. Can use build the ot-daemon with the same revision of ot-nrf528xx/openthread?

@wgtdkp , the two commits are pretty close together:

ot-daemon:

commit 5e23211e048cf8fcc4038bcb4d3a876fb4044e21
Author: Simon Lin <[email protected]>
Date:   Wed Jul 21 14:08:56 2021 +0800

RCP:

commit 5f39ba055bb5adcc28fd545226cbd6836a015c2e
Author: Jonathan Hui <[email protected]>
Date:   Fri Jul 16 09:49:18 2021 -0700

I'm not aware of any incompatibility between those commits.

from ot-nrf528xx.

jwhui avatar jwhui commented on July 3, 2024

@jwhui : Thanks for the reply. i am not sure why reset power cycle has triggered? i am not doing anything extra other than executing ot-ctl commands in a different console. I have tried innumerable number of times. More than rest power event what i have seen more prominent is the following 2 issues (in both DK and dongle):

./build/posix/src/posix/ot-daemon[6555]: [CRIT]-PLAT----: RestoreProperties() at /home/nrf-connect-sdk/CHIP/openthread/src/lib/spinel/radio_spinel_impl.hpp:2296: Failure

ot-daemon: /home/nrf-connect-sdk/CHIP/openthread/src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion `false' failed.

@nageshshamnur , I noticed that you are building out of nrf-connect-sdk. Can you try cloning the OpenThread repos directly and building both ot-daemon and RCP straight out of the OpenThread repos?

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@jwhui : Thanks for the reply. i am not sure why reset power cycle has triggered? i am not doing anything extra other than executing ot-ctl commands in a different console. I have tried innumerable number of times. More than rest power event what i have seen more prominent is the following 2 issues (in both DK and dongle):
./build/posix/src/posix/ot-daemon[6555]: [CRIT]-PLAT----: RestoreProperties() at /home/nrf-connect-sdk/CHIP/openthread/src/lib/spinel/radio_spinel_impl.hpp:2296: Failure
ot-daemon: /home/nrf-connect-sdk/CHIP/openthread/src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion `false' failed.

@nageshshamnur , I noticed that you are building out of nrf-connect-sdk. Can you try cloning the OpenThread repos directly and building both ot-daemon and RCP straight out of the OpenThread repos?

i haven't used nrf-connect-sdk, i have done using the following repos:
https://github.com/openthread/openthread.git
https://github.com/openthread/ot-nrf528xx.git

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@jwhui : Thanks for the reply. i am not sure why reset power cycle has triggered? i am not doing anything extra other than executing ot-ctl commands in a different console. I have tried innumerable number of times. More than rest power event what i have seen more prominent is the following 2 issues (in both DK and dongle):
./build/posix/src/posix/ot-daemon[6555]: [CRIT]-PLAT----: RestoreProperties() at /home/nrf-connect-sdk/CHIP/openthread/src/lib/spinel/radio_spinel_impl.hpp:2296: Failure
ot-daemon: /home/nrf-connect-sdk/CHIP/openthread/src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion `false' failed.

@nageshshamnur , I noticed that you are building out of nrf-connect-sdk. Can you try cloning the OpenThread repos directly and building both ot-daemon and RCP straight out of the OpenThread repos?

that's just the linux account name, no relation to ncs whatsoever.

from ot-nrf528xx.

jwhui avatar jwhui commented on July 3, 2024

@nageshshamnur , unfortunately, I have not seen these issues. As mentioned above, I tested with the latest main branches for both repos and could not reproduce your issue. Can you try again with the latest main branches?

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@nageshshamnur , unfortunately, I have not seen these issues. As mentioned above, I tested with the latest main branches for both repos and could not reproduce your issue. Can you try again with the latest main branches?

can you give me specific revision numbers?

from ot-nrf528xx.

jwhui avatar jwhui commented on July 3, 2024

@nageshshamnur , unfortunately, I have not seen these issues. As mentioned above, I tested with the latest main branches for both repos and could not reproduce your issue. Can you try again with the latest main branches?

can you give me specific revision numbers?

@nageshshamnur , the latest main branches are:

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@nageshshamnur , unfortunately, I have not seen these issues. As mentioned above, I tested with the latest main branches for both repos and could not reproduce your issue. Can you try again with the latest main branches?

can you give me specific revision numbers?

@nageshshamnur , the latest main branches are:

thanks for the quick reply. Will try a fresh build

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@nageshshamnur , unfortunately, I have not seen these issues. As mentioned above, I tested with the latest main branches for both repos and could not reproduce your issue. Can you try again with the latest main branches?

can you give me specific revision numbers?

@nageshshamnur , the latest main branches are:

how about ot-br-posix ?

from ot-nrf528xx.

jwhui avatar jwhui commented on July 3, 2024

@nageshshamnur , the latest main branches are:

how about ot-br-posix ?

Latest ot-br-posix main branch is openthread/ot-br-posix@2206d84. Note that ot-br-posix does not make use of ot-daemon.

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@jwhui: I tried again with a fresh build as suggested, but issue still persists, i have added detailed steps which i used to recreate.

instructions used to build openthread:
$ git clone --recursive https://github.com/openthread/openthread.git
$ cd openthread
$ ./script/bootstrap
$ script/cmake-build posix -DOT_DAEMON=ON

instructions used to build RCP for nRF52840DK:
$ git clone --recursive https://github.com/openthread/ot-nrf528xx.git
$ cd ot-nrf528xx
$ script/build nrf52840 USB_trans
$ cd ./build/bin
$ arm-none-eabi-objcopy -O ihex ot-rcp ot-rcp.hex
$ cd /opt/nrfjprog/
$ ./nrfjprog -f nrf52 -s <serial_dk> --chiperase --program
~/src/ot-nrf528xx/build/bin/ot-rcp.hex --reset

log of ot-daemon:

nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[6524]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[6524]: Thread version: 3
./build/posix/src/posix/ot-daemon[6524]: Thread interface: wpan1
./build/posix/src/posix/ot-daemon[6524]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 11:52:19
./build/posix/src/posix/ot-daemon[6524]: [CRIT]-PLAT----: RestoreProperties() at ../../src/lib/spinel/radio_spinel_impl.hpp:2296: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[6547]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[6547]: Thread version: 3
./build/posix/src/posix/ot-daemon[6547]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[6547]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 11:52:19
ot-daemon: ../../src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion `false' failed.
Aborted
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[6668]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[6668]: Thread version: 3
./build/posix/src/posix/ot-daemon[6668]: Thread interface: wpan1
./build/posix/src/posix/ot-daemon[6668]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 11:52:19
./build/posix/src/posix/ot-daemon[6668]: [CRIT]-PLAT----: RestoreProperties() at ../../src/lib/spinel/radio_spinel_impl.hpp:2296: Failure

log of ot-ctl:

nagesh@Nagesh-RPi:~/CHIP/openthread/build/posix/src/posix$ sudo ot-ctl 
> dataset init new
Done
> dataset
Active Timestamp: 1
Channel: 16
Channel Mask: 0x07fff800
Ext PAN ID: 30b0d61660f723e0
Mesh Local Prefix: fd32:6ae9:edca:38bd::/64
Network Key: 533262b956cfab14edfb48bcc04e5ee3
Network Name: OpenThread-ec7a
PAN ID: 0xec7a
PSKc: 088e3b733e5ab48d1331ef99734e0e11
Security Policy: 672 onrcb
Done
> dataset commit active
Done
> ifconfig up
Done
> thread start
Done
> 

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@jwhui: I tried again with a fresh build as suggested, but issue still persists, i have added detailed steps which i used to recreate.

instructions used to build openthread:
$ git clone --recursive https://github.com/openthread/openthread.git
$ cd openthread
$ ./script/bootstrap
$ script/cmake-build posix -DOT_DAEMON=ON

instructions used to build RCP for nRF52840DK:
$ git clone --recursive https://github.com/openthread/ot-nrf528xx.git
$ cd ot-nrf528xx
$ script/build nrf52840 USB_trans
$ cd ./build/bin
$ arm-none-eabi-objcopy -O ihex ot-rcp ot-rcp.hex
$ cd /opt/nrfjprog/
$ ./nrfjprog -f nrf52 -s <serial_dk> --chiperase --program
~/src/ot-nrf528xx/build/bin/ot-rcp.hex --reset

log of ot-daemon:

nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[6524]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[6524]: Thread version: 3
./build/posix/src/posix/ot-daemon[6524]: Thread interface: wpan1
./build/posix/src/posix/ot-daemon[6524]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 11:52:19
./build/posix/src/posix/ot-daemon[6524]: [CRIT]-PLAT----: RestoreProperties() at ../../src/lib/spinel/radio_spinel_impl.hpp:2296: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[6547]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[6547]: Thread version: 3
./build/posix/src/posix/ot-daemon[6547]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[6547]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 11:52:19
ot-daemon: ../../src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion `false' failed.
Aborted
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[6668]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[6668]: Thread version: 3
./build/posix/src/posix/ot-daemon[6668]: Thread interface: wpan1
./build/posix/src/posix/ot-daemon[6668]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 11:52:19
./build/posix/src/posix/ot-daemon[6668]: [CRIT]-PLAT----: RestoreProperties() at ../../src/lib/spinel/radio_spinel_impl.hpp:2296: Failure

log of ot-ctl:

nagesh@Nagesh-RPi:~/CHIP/openthread/build/posix/src/posix$ sudo ot-ctl 
> dataset init new
Done
> dataset
Active Timestamp: 1
Channel: 16
Channel Mask: 0x07fff800
Ext PAN ID: 30b0d61660f723e0
Mesh Local Prefix: fd32:6ae9:edca:38bd::/64
Network Key: 533262b956cfab14edfb48bcc04e5ee3
Network Name: OpenThread-ec7a
PAN ID: 0xec7a
PSKc: 088e3b733e5ab48d1331ef99734e0e11
Security Policy: 672 onrcb
Done
> dataset commit active
Done
> ifconfig up
Done
> thread start
Done
> 

while building RCP for nRF52840 DK, i have tried both the options, but issue still remains the same:

script/build nrf52840 USB_trans 
script/build nrf52840 USB_trans -DOT_THREAD_VERSION=1.2

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

Hello @nageshshamnur,

When you try to build with USB_trans option on nRF52840 DK, how do you connect the DK to the PC/RaspberryPi? Note that the DK has two USB connectors one for Segger J-Link (UART transport on nRF52840 MCU), or nRF USB (for which you are building the firmware).

nRF52840_DK_info-medium

Some more info: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_tools.html#configuring-a-radio-co-processor

Hi @LuDuda,
I have build RCP image for DK on my ubuntu 21.04 laptop and then connect the same to my RPi. I have built using the instructions as explained in this page.
https://openthread.io/codelabs/openthread-hardware#3
Use segger j-link USB connector port while flashing the RCP image (with VDD enabled) and nRF USB connector (with USB mode) while running ot-daemon.

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

For nRF52840 i tried UART transport as explained in the link: https://developer.nordicsemi.com/nRF_Connect_SDK/doc/latest/nrf/ug_thread_tools.html#configuring-a-radio-co-processor and every time i execute the command dataset commit active on ot-ctl, ot-daemon exits and everytime at this line otPlatRadioSetMacKey() at ../../src/posix/platform/radio.cpp:573

nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[8722]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[8722]: Thread version: 3
./build/posix/src/posix/ot-daemon[8722]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[8722]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 15:09:07
./build/posix/src/posix/ot-daemon[8722]: [CRIT]-PLAT----: RestoreProperties() at ../../src/lib/spinel/radio_spinel_impl.hpp:2296: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[8764]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[8764]: Thread version: 3
./build/posix/src/posix/ot-daemon[8764]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[8764]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 15:09:07
./build/posix/src/posix/ot-daemon[8764]: [CRIT]-PLAT----: otPlatRadioSetMacKey() at ../../src/posix/platform/radio.cpp:573: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[8812]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[8812]: Thread version: 3
./build/posix/src/posix/ot-daemon[8812]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[8812]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 15:09:07
./build/posix/src/posix/ot-daemon[8812]: [CRIT]-PLAT----: otPlatRadioSetMacKey() at ../../src/posix/platform/radio.cpp:573: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[8916]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[8916]: Thread version: 3
./build/posix/src/posix/ot-daemon[8916]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[8916]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 15:09:07
./build/posix/src/posix/ot-daemon[8916]: [CRIT]-PLAT----: otPlatRadioSetMacKey() at ../../src/posix/platform/radio.cpp:573: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[8954]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[8954]: Thread version: 3
./build/posix/src/posix/ot-daemon[8954]: [CRIT]-PLAT----: otPlatSettingsGet() at ../../src/posix/platform/settings.cpp:288: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
./build/posix/src/posix/ot-daemon[8957]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:06
./build/posix/src/posix/ot-daemon[8957]: Thread version: 3
./build/posix/src/posix/ot-daemon[8957]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[8957]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Jul 23 2021 15:09:07
./build/posix/src/posix/ot-daemon[8957]: [CRIT]-PLAT----: otPlatRadioSetMacKey() at ../../src/posix/platform/radio.cpp:573: Failure
nagesh@Nagesh-RPi:~/CHIP/openthread$ 

so for me for nRF52840DK board, both USB and UART transport is not working

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@LuDuda : any pointers for me to check further upon? right now i am clueless

from ot-nrf528xx.

LuDuda avatar LuDuda commented on July 3, 2024

@nageshshamnur I will check your steps on a desk and let you know.

from ot-nrf528xx.

LuDuda avatar LuDuda commented on July 3, 2024

@nageshshamnur I was able to reproduce your issue only when i turned on MSD on the nRF52840 DK. Could you please connect the nRF52840 DK to your PC using only Segger J-Link USB and disable MSD (remember to power cycle the DK). MSD reduces the maximum size of the single USB transaction. Build the RCP image with UART_trans.

https://github.com/openthread/ot-nrf528xx/tree/main/src/nrf52840#mass-storage-device-known-issue

I used the same commands as you. Make sure that your settings didn't corrupt along the way by executing the following commands:

ot-nrf528xx/openthread$ sudo rm -rf tmp
ot-nrf528xx/openthread$ sudo ./build/posix/src/posix/ot-daemon -v 'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'

I'm not able to reproduce the issue using USB transport.

from ot-nrf528xx.

nageshshamnur avatar nageshshamnur commented on July 3, 2024

@nageshshamnur I was able to reproduce your issue only when i turned on MSD on the nRF52840 DK. Could you please connect the nRF52840 DK to your PC using only Segger J-Link USB and disable MSD (remember to power cycle the DK). MSD reduces the maximum size of the single USB transaction. Build the RCP image with UART_trans.

https://github.com/openthread/ot-nrf528xx/tree/main/src/nrf52840#mass-storage-device-known-issue

I used the same commands as you. Make sure that your settings didn't corrupt along the way by executing the following commands:

ot-nrf528xx/openthread$ sudo rm -rf tmp
ot-nrf528xx/openthread$ sudo ./build/posix/src/posix/ot-daemon -v 'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'

I'm not able to reproduce the issue using USB transport.

Hi @LuDuda,
I tried the exact steps what you mentioned in the above post and even i tried in 2 different machines. Everytime, ot-daemon exits with the log as below:

$ sudo ./build/posix/src/posix/ot-daemon -v     'spinel+hdlc+uart:///dev/ttyACM0?uart-baudrate=115200'
[sudo] password for nrf-connect-sdk: 
./build/posix/src/posix/ot-daemon[11299]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Jul 23 2021 11:43:00
./build/posix/src/posix/ot-daemon[11299]: Thread version: 3
./build/posix/src/posix/ot-daemon[11299]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[11299]: RCP version: OPENTHREAD/thread-reference-20200818-1089-gde53d721d; NRF52840; Aug  2 2021 17:41:52
./build/posix/src/posix/ot-daemon[11299]: [CRIT]-PLAT----: otPlatRadioSetMacKey() at /home/nrf-connect-sdk/CHIP/openthread/src/posix/platform/radio.cpp:573: Failure

it happens when i execute the command dataset commit active on ot-ctl. Series of commands as below:

$sudo ot-ctl
> dataset init new
Done
> dataset
Active Timestamp: 1
Channel: 11
Channel Mask: 0x07fff800
Ext PAN ID: 34360dbd434e9b8f
Mesh Local Prefix: fd64:171e:be8f:f702::/64
Network Key: 4b99c48b6710232256485b3e488ebde1
Network Name: OpenThread-f01c
PAN ID: 0xf01c
PSKc: 59ebced131e0651211eb02ed2d891fd2
Security Policy: 672 onrcb
Done
> dataset commit active
$

I have tried it on both laptop running ubuntu 20.04 and then RPi running ubuntu 21.04. Same behavior seen on both. Kindly check.

from ot-nrf528xx.

LuDuda avatar LuDuda commented on July 3, 2024

Hello, @nageshshamnur any progress on your side?

I've just checked today (on two machines as well), and I can't reproduce this issue on both nRF52840 Dongle or DK (as I mentioned previously with MSD disabled). Let me paste my bash history, maybe we will find some differences. Please try to use the same revision of OT in both ot-daemon and RCP (however, your combination from the above logs seems to work fine as well). Note that openthread is a submodule in the ot-nrf528xx repository.

To clean-up repository:

$ cd ot-nrf528xx
$ sudo git clean -xdf
$ git fetch origin
$ git reset --hard ff68d16e32af5211d91591a0fe7806e904f34119

$ cd openthread
$ sudo git clean -xdf
$ git fetch origin
$ git reset --hard daf2ad7c245f947cadb2093af74ba9d121525473

$ cd ..

For nRF52840 Dongle:

$ rm -rf build
$ ./script/build nrf52840 USB_trans -DOT_BOOTLOADER=USB -DOT_THREAD_VERSION=1.2
$ arm-none-eabi-objcopy -O ihex build/bin/ot-rcp build/bin/ot-rcp.hex

# Flash the ot-rcp using nRF Connect for Desktop and nRF Programmer

For nRF52840 DK:

$ rm -rf build
$ script/build nrf52840 UART_trans -DOT_THREAD_VERSION=1.2
$ arm-none-eabi-objcopy -O ihex build/bin/ot-rcp build/bin/ot-rcp.hex
$ nrfjprog -f nrf52 --chiperase --program build/bin/ot-rcp.hex --reset

# Disable MSD - one-time operation per DK
$ JLinkExe -device NRF52840_XXAA -if SWD -speed 4000 -autoconnect 1
>MSDisable
>exit
# Power cycle the nRF52840 DK

Build ot-daemon and run it:

$ cd openthread
$ script/cmake-build posix -DOT_DAEMON=ON
$ sudo ./build/posix/src/posix/ot-daemon -v 'spinel+hdlc+uart:///dev/ttyACM0'

./build/posix/src/posix/ot-daemon[29716]: Running OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Aug  9 2021 22:31:43
./build/posix/src/posix/ot-daemon[29716]: Thread version: 3
./build/posix/src/posix/ot-daemon[29716]: Thread interface: wpan0
./build/posix/src/posix/ot-daemon[29716]: RCP version: OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; NRF52840; Aug  9 2021 22:30:13

Run ot-ctl:

sudo ./build/posix/src/posix/ot-ctl 
> version
OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; POSIX; Aug  9 2021 22:31:43
Done
> rcp version
OPENTHREAD/thread-reference-20200818-1092-gdaf2ad7c2; NRF52840; Aug  9 2021 22:30:13
Done
> dataset init new
Done
> dataset
Active Timestamp: 1
Channel: 20
Channel Mask: 0x07fff800
Ext PAN ID: 101cab5c4aaa8521
Mesh Local Prefix: fd43:da79:140e:5098::/64
Network Key: ec2a5a341ad3765c6bc7e228a36100dd
Network Name: OpenThread-1ec8
PAN ID: 0x1ec8
PSKc: fd7f0737f01b1631bd5a3055faa6b362
Security Policy: 672 onrcb
Done
> dataset commit active
Done
> ifconfig up
Done
> thread start
Done
> state
leader

Some additional questions. Which version of nRF52840 Dongle and DK do you have?

If the problem still exists, could you connect the debugger or log what is the error message returned here: src/posix/platform/radio.cpp:573.

Also if you still see this error: src/core/mac/sub_mac.cpp:521: void ot::Mac::SubMac::HandleTransmitDone(ot::Mac::TxFrame&, ot::Mac::RxFrame*, ot::Error): Assertion 'false' failed, could you please log the error id that causes the assert?

Previously you also reported the Unexpected RCP reset: RESET_POWER_ON error, but you didn't do anything with the DK. Is it possible that your USB cable is broken?

from ot-nrf528xx.

jwhui avatar jwhui commented on July 3, 2024

Closing stale issue.

from ot-nrf528xx.

tunm1228 avatar tunm1228 commented on July 3, 2024

/opt/nrfjprog/

Why don't I have this folder "nrfjprog"?
image

from ot-nrf528xx.

jwhui avatar jwhui commented on July 3, 2024

/opt/nrfjprog/

Why don't I have this folder "nrfjprog"? image

@tunm1228 , you need to install nRF Command Line Tools

from ot-nrf528xx.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.