Open Thread Border Router add on
JuliusBlueTek opened this issue · 6 comments
Since the update to 0.3.0 I have been getting "Frame tx attempt 16/16 failed, error:ChannelAccessFailure" on a nRF52840 Dongle. Dongle works fine on the latest docker version of OpenThreadBoarder. All tx seems to no longer work.
Does transmit work with the Docker version of OTBR?
Yep it works with docker openthread/otbr:latest. I’m out of town but when I get back I’ll try flashing it to different firmwares. When I build the latest firmware I got an error otbr v4-6 co-processor at v7.
Did some testing and it seems like it may be a Raspberry Pi 4 issue. I'm using an external SSD as the boot drive and if I have it plugged into either of the USB 3.0 ports then I get the tx error in OTBR. If I have the drive in one of the USB 2.0 ports everything works. Maybe a power issue. I'll have to look through the logs. As a side note when I had the SSD in a USB 3.0 port and two nRF52840 Dongles plugged into USB 2.0 one of them seemed to work sending tx, but ipv6 routing did not work.
The only difference I can imagine is a different CCA threshold for the two builds (https://openthread.io/reference/cli/commands#ccathreshold_getset). Channel access failures, however, are a very common problem for 802.15.4 radios: you want to put your radio on a USB 2.0 extension cable and keep it as far away from USB 3.0 ports as possible (especially SSDs!).
Oh, I did revert back to the previous version. The same issue happened. I originally had a USB 2.0 cable connected to my SSD plugged into a USB 3.0 port, I changed the cable to a 3.0 cable around the same time I updated it to 0.3.0, thus the confusion.
The extension cable was the trick. I pulled out a very long USB 3.0 extension cable I have and now regardless of the port I put the SSD or the extension cable everything works! Good call on the CCA threshold!