Code Monkey home page Code Monkey logo

ot-reference-release's Introduction

OpenThread Build Simulation Docker Coverage Status


What is OpenThread?

OpenThread released by Google is... Thread Certified Component

...an open-source implementation of the Thread networking protocol. Google Nest has released OpenThread to make the technology used in Nest products more broadly available to developers to accelerate the development of products for the connected home.

...OS and platform agnostic, with a narrow platform abstraction layer and a small memory footprint, making it highly portable. It supports both system-on-chip (SoC) and network co-processor (NCP) designs.

...a Thread Certified Component, implementing all features defined in the Thread 1.3.0 specification, including all Thread networking layers (IPv6, 6LoWPAN, IEEE 802.15.4 with MAC security, Mesh Link Establishment, Mesh Routing) and device roles, as well as Border Router support.

More information about Thread can be found at threadgroup.org. Thread is a registered trademark of the Thread Group, Inc.

Who supports OpenThread?

AmazonAqaraARMCascodaEeroEspressifGoogleInfineonMMB NetworksNabu CasaNanoleafNordicNXPQorvoQualcommSamsungSilicon LabsSTMicroelectronicsSynopsysTelink SemiconductorTexas InstrumentsZephyr Project

Getting started

All end-user documentation and guides are located at openthread.io. If you're looking to do things like...

  • Learn more about OpenThread features and enhancements
  • Use OpenThread in your products
  • Learn how to build and configure a Thread network
  • Port OpenThread to a new platform
  • Build an application on top of OpenThread
  • Certify a product using OpenThread

...then openthread.io is the place for you.

Note: For users in China, end-user documentation is available at openthread.google.cn.

If you're interested in contributing to OpenThread, read on.

Contributing

We would love for you to contribute to OpenThread and help make it even better than it is today! See our Contributing Guidelines for more information.

Contributors are required to abide by our Code of Conduct and Coding Conventions and Style Guide.

License

OpenThread is released under the BSD 3-Clause license. See the LICENSE file for more information.

Please only use the OpenThread name and marks when accurately referencing this software distribution. Do not use the marks in a way that suggests you are endorsed by or otherwise affiliated with Nest, Google, or The Thread Group.

Need help?

OpenThread support is available on GitHub:

ot-reference-release's People

Contributors

canislupus1313 avatar edmont avatar j-noel-longhand avatar jwhui avatar lmaciejonczyk avatar lmnotran avatar lududa avatar maciejbaczmanski avatar marekporwisz avatar shouvik-grl avatar simonlingoogle avatar sunytt avatar superwhd avatar suveshpratapa avatar tomaszkob89 avatar zhanglongxia avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ot-reference-release's Issues

TREL enabling failed in NCS 1.3 Build

We are trying to make a NCS build with the TREL functionality.

For that we added the TREL flag CONFIG_OPENTHREAD_RADIO_LINK_TREL_ENABLE=y in the config/ncs/overlay-cli-1_3.conf and config/ncs/overlay-rcp-1_3.conf files

During the 1.3 build we are getting error (Error log attached).
TRELBuildErrorLog.zip

The command for the build we are using is: REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 IN_CHINA=0 ./script/make-reference-release.bash

ncs build : TREL packets sent over multicast transmission, instead of unicast

I have built an otbr image with REFERENCE_PLATFORM=ncs option, using the following command :
REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 IN_CHINA=0 ./script/make-reference-release.bash

There are TREL packets, in the wireshark capture, when I run the build.
As per the 1.3 duckhorn spec (Chapter 15 - 15.6.3.3 ), TREL packets must be sent over unicast transmission.
However, the packets in the capture, are sent over multicast transmission.
Also, the packets do not exactly match, with the packet structure in 1.3 duckhorn specification (Chapter 15 - 15.6.2).
eg. there is no extended destination address in the capture.

nrf52840 build failed : cannot open openthread submodule files, during tar extraction

I was trying to build the latest otbr image, using the ot-reference-release commit 3daef11
After cloning the main repo, and updating the submodules I ran the make-reference-release.bash script.

Command used for running the build :
REFERENCE_PLATFORM=nrf52840 REFERENCE_RELEASE_TYPE=1.3 IN_CHINA=0 ./script/make-reference-release.bash

Build Error :
tar: ot-nrf528xx/openthread/.clang-format: Cannot open: Not a directory
(This error was observed for all files present in openthread submodule of ot-nrf528xx submodule)

Attaching herewith , the screenshot of the error

otbr_image_error

Command to change DNS Server Port at Runtime Not Available

We are writing test scripts for duckhorn based on the 1.3 Duckhorn Test Plan.
While going through the DuckHorn 3.2 test case (3.2. [COMPONENT] Re-register service with active SRP server - Multiple BRs - With AIL) and 3.2b test case (3.2b. [PRODUCT] Re-register service with active SRP server - Multiple BRs - With AIL - Thread Product DUT) , we came across a requirement.

In Step 4 (for both the test cases Step 4) it is advised to configure the BR "to advertise its DNS/SRP Unicast Dataset at an available port value, P, different from 53."
In step 8 (3.2b) it is advised to again change the port "BR to advertise its DNS/SRP Unicast Dataset at a new port value, P2."

We could not found a suitable command for that.

Is it possible to change this port at the runtime?

otbr ncs : otbr-agent service fails to start/restart

@LuDuda @edmont
I have built an otbr image with ncs REFERENCE_PLATFORM option, using the following command :
REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 IN_CHINA=0 ./script/make-reference-release.bash

ot-reference-release commit : 2ba3395
OS Used : Ubuntu 20.04.3 LTS

The build gets completed.
However when I try to restart the otbr-agent service (sudo service otbr-agent restart), I get an error.
Attaching the output of sudo service otbr-agent status below.

to_ot

On checking the /dev/ttyACM* file, I observed that the rcp dongle port number has changed to /dev/ttyACM1.
Before restarting the otbr-agent service, the rcp dongle port number was /dev/ttyACM0.

Note :
After the first fail, I tried to edit the /etc/default/otbr-agent file.
Therein, I changed the OTBR_AGENT_OPTS to /dev/ttyACM1, as shown below.
OTBR_AGENT_OPTS="-I wpan0 -B eth0 spinel+hdlc+uart:///dev/ttyACM1 trel://wlan0"

After doing so, I ran the sudo service otbr-agent restart.
However, after the restart, the port got reassigned to ttyACM0; and I got the same error as in the above screenshot.

MLE Data Response Not Sent

We are writing test scripts for duckhorn based on the 1.3 Duckhorn Test Plan.
While going through the DuckHorn 1.1 test case (1.1. Reachability - Single BR / Single Infrastructure Link), it is advised to check few TLVs in the step3 in the MLE Data Response and in the step4 it is advised to check the 'ICMPv6 ND Router Advertisements'

But unfortunately in the latest build both of these packets are missing in the capture file.

The commit We are using for the ot-reference-release is d6f079d
Its a NCS Build.

The Capture file is attached for the Ready reference

Fail_OTNCS13_BR_DH_1_1_BR_1_v57.3_2023_02_07-18_53_56_Ch-13.zip

Command for registering new OMR prefix not available

We are writing test scripts for duckhorn based on the 1.3 Duckhorn Test Plan.
While going through the DuckHorn 2.13 test case (2.13. Thread device address update - Point 8), we came across a requirement of Border Router to register a new OMR prefix in the thread network.

We tried to search for the command, that would register a new OMR prefix, in the README files that come inside of the openthread repository. However, no such command is available in the README.

Is there a way to register a new OMR prefix in the Border Router?
We need the fucntionality to complete the 2.13 test case.

nrf52840 build failed `psa/crypto.h: No such file or directory`

Note: Not sure if i should raise the ticket here or ot-nrf528xx repo. If it should be raised in ot-nrf528xx please let me know i will close the ticket here and reopen there.

Steps to reproduce the issue,
Run command:
REFERENCE_PLATFORM=nrf52840 REFERENCE_RELEASE_TYPE=certification IN_CHINA=0 ./script/make-reference-release.bash

Error log:
image

FYI, if it helps:

  • Issue appeared after the recent merge of PR, which has updated the ot-nrf528xx submodule commit.
  • Although I could see crypto.h file under .../ot-nrf528xx/openthread/third_party/mbedtls/repo/include/psa build throws this error.

CI is failing due to low CMake version

https://github.com/openthread/ot-reference-release/actions/runs/10105294580/job/27945543716?pr=79

-- Configuring incomplete, errors occurred!
See also "/home/pi/repo/ot-commissioner/cmake-3.16.1/CMakeFiles/CMakeOutput.log".
See also "/home/pi/repo/ot-commissioner/cmake-3.16.1/CMakeFiles/CMakeError.log".
---------------------------------------------
Error when bootstrapping CMake:
Problem while running initial CMake
---------------------------------------------
+ true
+ mkdir -p build
+ cd build
+ /usr/local/bin/cmake -GNinja -DCMAKE_INSTALL_PREFIX=/usr -DOT_COMM_REFERENCE_DEVICE=ON ..
CMake Error at CMakeLists.txt:29 (cmake_minimum_required):
  CMake 3.20.1 or higher is required.  You are running version 3.10.3


-- Configuring incomplete, errors occurred!

However CMake's version was pinned here:

pip3 install cmake==3.10.3

Context: openthread/ot-br-posix#728

Command to disable SRP, while still keeping the advertisement of SRP service

We are writing test scripts for duckhorn based on the 1.3 Duckhorn Test Plan.
While going through the DuckHorn 3.2 test case (3.2. Unresponsive BR - Multiple BRs - Point 12), we came across a requirement.

Requirement (Point 12 of the test case):
Harness instructs the device to stop listening (??) but continue to advertise SRP service

We tried below command to disable the SRP service :
srp server disable

However, on running the netdata show command, the SRP service (5d) does not show up after the disable.
Attaching a screenshot of before and after running the srp server disable.

netdatasrp_LI (2)

Is there a way to stop/disable the SRP service, while it still continues to advertise in the network data?
We need the functionality to complete the 3.2 test case.

SRP Record Issue: SRV (A part of SRP record) is not aligned with the rfc2782

While we were going through the network packet captures during the DuckHorn (OpenThread 1.3) test script (Test Harness) development we found an issue with the Wireshark Analysis. In the MDNS standard query response in SRV RR the protocol is coming as '_duckhorn-test'. But '_duckhorn-test' is not a protocol.

Wireshark Analysis of the PCAP

On further checking found that in the SRV RR the second parameter (parameter after first dot and before second dot) should be the protocol as per the rfc2782 https://www.rfc-editor.org/rfc/pdfrfc/rfc2782.txt.pdf .

SRV_RR in RFC

But in the SRV Server (OTBR) the record is not as it is. Here the protocol (tcp/udp) is the third parameter (parameter after second dot and before third dot). The second parameter is '_duckhorn-test'.

SRV record in OTBR Server

The Syslog of OTBR for the same also attached for ready reference.

Syslog

As of now it doesn't create any blocker for the Test Case development. But it looks like some quality issue and hence we are reporting the same.

Build ncs type reference release failed with the new sdk-nrf commit

I have updated the GH action in PR to run
REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 ./script/make-reference-release.bash

It uses the updated sdk-nrf commit e434ec2f11f2fed6bd24c2f0bc2c3e98486d2a90:
https://github.com/openthread/ot-reference-release/actions/runs/5368877565/jobs/9740027480#step:5:617

and the job failed with below error:

https://github.com/openthread/ot-reference-release/actions/runs/5368877565/jobs/9740027480#step:5:3999

/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/drivers/ieee802154/ieee802154_nrf5.c: In function 'nrf5_configure':
/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/drivers/ieee802154/ieee802154_nrf5.c:947:3: error: a label can only be part of a statement and a declaration is not a statement
  947 |   uint64_t csl_rx_time = target_time_convert_to_64_bits(config->csl_rx_time);
      |   ^~~~~~~~
/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/drivers/ieee802154/ieee802154_nrf5.c:964:3: error: a label can only be part of a statement and a declaration is not a statement
  964 |   uint64_t start = target_time_convert_to_64_bits(config->rx_slot.start);
      |   ^~~~~~~~
[523/654] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/home/runner/work/ot-reference-release/ot-reference-release/ncs/zephyr/misc/empty_file.c.obj
[524/654] Building C object zephyr/drivers/serial/CMakeFiles/drivers__serial.dir/uart_nrfx_uarte.c.obj
ninja: build stopped: subcommand failed.
FATAL ERROR: command exited with status 1: /usr/local/bin/cmake --build /tmp/ncs_cli_1_2

I wonder what might be missing here? @canisLupus1313 could you please help take a look?

radvd service cannot be started by default in otbr

I am running the otbr image on a rasberry pi 3 board alongwith an rcp nrf-52840 dongle.
While setting up the border router, I was trying to run the radvd service.

However, the service does not start when I run the following command :
sudo service radvd restart

On checking the status (sudo service radvd status), I can see the radvd.conf file is not created by default.

Attaching status command screenshot below :

Screenshot 2021-11-12 143551

The service starts working, only after I manually create the file using
sudo touch /etc/radvd.conf

Shouldn't the file be created by default during the otbr build process?

Note :
Commit used for otbr image build : 3daef11
Command used for building the otbr image : REFERENCE_PLATFORM=nrf52840 REFERENCE_RELEASE_TYPE=1.3 IN_CHINA=0 ./script/make-reference-release.bash

ncs Build: 404 Error Occuring

We have built an otbr image with REFERENCE_PLATFORM=ncs option, using the following command :
REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 IN_CHINA=0 ./script/make-reference-release.bash

We are getting the following Error:
Screenshot from 2022-11-10 18-31-37

The Link
We tried in the browser, But getting the 404 error in browser also.
404

ncs build : DNS-SD anycast dataset not found

I have built an otbr image with REFERENCE_PLATFORM=ncs option, using the following command :
REFERENCE_PLATFORM=ncs REFERENCE_RELEASE_TYPE=1.3 IN_CHINA=0 ./script/make-reference-release.bash

I have been working with the SRP server on this build.
As per the 1.3 duckhorn spec (Chapter 14 : 14.3.2), Border Router must announce its SRP service, using the DNSSD anycast dataset.
This must be a Service TLV, nested inside of a Network Data TLV.

On checking the wireshark capture, the anycast dataset could not be found.
However, there is a Service TLV (in the Network Data TLV of Child ID response) having the SRP Service data. This TLV is transmitted from the Border Router. The Service TLV however, does not exactly match the anycast dataset. (eg. It does not have the SRP number, or the THREAD_SERVICE_DATA_DNSSD_ANYCAST constant.

Attaching a snapshot of the wireshark capture, showing the Service TLV :

__________cir

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.