-
Notifications
You must be signed in to change notification settings - Fork 6.5k
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
Using openthread based lwm2m_client cannot ping the external network address unless reset once #30688
Comments
I'm sorry but I cannot reproduce the issue. I've built the |
I used the example samples/net/sockets/echo_server to print less .
compile
The steps to reproduce the problem are exactly the same. Below is my log, hopefully that will help you figure out what the problem is
|
Ok, I think I've figured it out. In your example the OT network uses non-default on-mesh prefix,
Since both addresses are equally good for the Zephyr source address matching algorithm (https:/zephyrproject-rtos/zephyr/blob/master/subsys/net/ip/net_if.c#L2407), the choice really depends on their order in the IPv6 address table (that's why it works after the reset, the addresses are re-ordered). And in case So, in order to get the external routing to work correctly, you should not register a static address with a custom prefix (set |
Thank you. The problem solved |
Describe the bug
I want to implement the thread terminal to automatically connect to the OTBR by commissioning after it starts, and then connect to the external network.
OTBR runs openwrt Integrated with otbr-posix.
The nrf52840 runs .hex file which is one compiled from samples/net/lwm2m_client .
overlay-ot.conf modified:
Before the terminal starts, OTBR will create Thread network with dataset first.
Then the terminal start up, i can see the print: net_l2_openthread: Join success.
The role becomes to router.Then ping 64:ff9b::8.8.8.8.
Then re-plug the power or ot reset. The terminal will be able to ping the external network
This problem is like #29567, but he is directly set panid and channel to connect, I have tried this way is normal, but using commissioning there will have problem.
To Reproduce
Steps to reproduce the behavior:
west build -s samples/net/lwm2m_client -b nrf52840dk_nrf52840 -- -DCONF_FILE="prj.conf overlay-ot.conf"
Expected behavior
OTBR start commissioning. Then theThread device power on, it can connect to the Thread Network and connect to the internet.
Impact
After the Thread device connects to the network, it must be restarted once, otherwise it cannot connect to the external network
Logs and console output
If applicable, add console logs or other types of debug information
e.g Wireshark capture or Logic analyzer capture (upload in zip archive).
copy-and-paste text and put a code fence (```) before and after, to help
explain the issue. (if unable to obtain text log, add a screenshot)
Environment (please complete the following information):
Additional context
Add any other context about the problem here.
The text was updated successfully, but these errors were encountered: