-
Notifications
You must be signed in to change notification settings - Fork 6.8k
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
OpenThread SED set link mode fail #25509
Comments
It seems that you still have FTD configuration stored in your flash? That's why it starts as FTD, even though it's configured as MTD (SED to be specific). Try to erase your flash data area ( In general, FTDs and MTDs use different library variants so it's wise to erase the settings area when switching between device types. |
If you use west to flash you can also use:
|
Confirmed "west flash --erase" can resolve the issue, thanks. I wonder if it is worthy to improve the code to prevent this inconsistent occur? |
I have no idea, for now, how could this be resolved in a clear way. I'm afraid the problems might show up not only with device mode stored in flash, but also other settings (for instance FTD will store information about connected children, this could be a problem for MTD as well). If you have a clean solution in your mind, feel free to propose. |
I have no idea for that, I am a newbie to OpenThread. |
Let's close this issue then, IMO it's not really a bug. |
Is your enhancement proposal related to a problem? Please describe.
In openthread_start() the otThreadSetLinkMode() return fail (InvalidArgs) for SED.
On my nRF52840dk_nRF52840, the initial mode is "rsdn", SED is only disable the "r", the result is "sdn", which is invalid for OpenThread.
openthread.c:
mle_types.hpp:
Describe the solution you'd like
Add additional statement for different device types:
For SED, the mode should be "s";
For MED, the mode should be "rs";
For FTD, the mode should be "rsdn";
The text was updated successfully, but these errors were encountered: