Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable TREL from menuconfig (TZ-425) #43

Open
opieters opened this issue Nov 24, 2023 · 6 comments
Open

Enable TREL from menuconfig (TZ-425) #43

opieters opened this issue Nov 24, 2023 · 6 comments

Comments

@opieters
Copy link
Contributor

Hi

I'm using this project as a base to make a network extender of the thread network with multiple partitions. According to Thread 1.2, the border routers of both partitions should communicate over TREL. In the build log, I see that the TREL-related libraries are compiled, but the trel command is not available in the CLI. Moreover, in menuconfig there is no options to enable/disable TREL.

The sdkconfig.defaults does contain code to able TREL (CONFIG_OPENTHREAD_TREL=y), but this flag is removed in sdkconfig by the build system.

Is the omission of TREL intentional? Can I easily add it as an additional option to the build system? So far, I've been unsuccessful to get it working locally. Thanks!

@github-actions github-actions bot changed the title Enable TREL from menuconfig Enable TREL from menuconfig (TZ-425) Nov 24, 2023
@zwx1995esp
Copy link
Collaborator

Sorry, we does not support this feature now, this configuration is a remained one which we add the supports for the legacy version of TREL. On the removing legacy TREL feature PR, we forget to remove this config in the sdkconfig.defaults.

@opieters
Copy link
Contributor Author

What would be needed to add this feature?

@zwx1995esp
Copy link
Collaborator

Hi, a new MDNS feature is needed. For the esp-mdns, it does not support a listening mode, just like avahi-browse -a. We have already sync this feature requirement to MDNS group, and it is under developing.

@chshu
Copy link
Collaborator

chshu commented Nov 28, 2023

@opieters Want to note that even without TREL, the Thread devices in two separate partitions could still communicate with each other, as long as the Thread BRs are in the same local network, it can be achieved by the Bi-directional IPv6 Connectivity feature in Thread 1.3.0 Border Router.

TREL is a feature defined in Thread 1.2, but it's not a certification ready feature in Thread 1.3.0 yet. The BR certification in Thread 1.3.0 mainly covers the Matter application requirements, and ESP Thread BR solution is already Thread 1.3.0 certificated component.

Could you let us know your use case and why TREL is required?

@opieters
Copy link
Contributor Author

Thank you for the update. We are currently using TREL to extend the coverage of our Thread network using several embedded-linux devices. These devices contain significant processing power, which is not required to simply extend the network (as the density of connected devices is quite low). Consequently, we are evaluating the use of an ESP-based BR to extend the network, in a more cost-effective way.

Since the current implementation already uses TREL, we would initially look into this type of connection to have a more consistent structure / simplify the software.

The devices use a propriety protocol, so we are not looking into matter at the moment.

@gytxxsy
Copy link
Contributor

gytxxsy commented Nov 13, 2024

Currently, the TREL feature is supported and an example is provided:ot_trel.

The OpenThread border router also supports the TREL feature, and you can enable it as follows:

idf.py menuconfig → Component config → OpenThread → Enable Thread Radio Encapsulation Link (TREL)

To verify the TREL functionality, you can use ESP devices to form the following topology:

ESP32-S3(run ot_trel example)
               |
           (Wi-Fi link)
               |
Border Router Board(run border router example)----(15.4 link)---ESP32-H2(run ot_cli example)

The ot_cli device can send messages to the ot_trel device. The related examples are as follows:

It should be noted that there is currently a bug in mDNS that affects the Border Router's browse functionality. To work around this issue, you need to first start the Border Router and connect it to a Wi-Fi network, then start other OT TREL devices. The fix for this bug has already been merged into the main branch and will take effect in the next mDNS version update. Please refer to here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants