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
is there a way to dynamically change interface of otbr-agent #2152
Comments
OpenThread process will restart when it detects a need to change to a different infrastructure interface. The Thread network should be reachable on the new infrastructure link after restart. Are you sure that the commissioner is attached to the same Wi-Fi network when it switches to |
Thanks @jwhui for reply, but we are unable to control already commissioned end device earlier with eth0 interface Please let us know if any extra procedure/steps required to control end device with android chip-tool via OTBR after changing interface dynamically (from eth0 to wlan0)? |
Can you check whether the appropriate DNS-SD records are being published on If DNS-SD discovery is working, can you check whether IPv6 reachability is working? |
Logs of otbr-agent when lan goes down and started with wlan0 able to see wlan0 publishing service
Reg ping between otbr and end device. ipaddress of end device ping from otbr to end device:
ipaddr of otbr-agent
ping from end device to otbr 1 packets transmitted, 1 packets received. Packet loss = 0.0%. Round-trip min/avg/max = 16/16.0/16 ms. |
From the log, it looks like the Matter-related services are being registered:
Can you view them when you browse on the Wi-Fi link? |
Use case : started otbr-agent with interface eth0, but due to some reason eth0 down, then without restarting or crash otbr-agent should continue with other available interfaces like wlan0. please confirm this feasibility is available in existing codebase.
below ways tried to achieve changing interfaces dynamically :
started service with below parameters
/usr/sbin/otbr-agent -I wpan0 -B eth0 -B wlan0 spinel+hdlc+uart:///dev/ttyThreadRCP?uart-baudrate=460800/
`2023-01-01T00:20:56.930278Z [1257.920526200] user.notice otbr-agent [NOTE]-AGENT---: Backbone interface: eth0
2023-01-01T00:20:56.930703Z [1257.920946720] user.notice otbr-agent [NOTE]-AGENT---: Backbone interface: wlan0
2023-01-01T00:20:56.930812Z [1257.921052440] user.notice otbr-agent[15689] [NOTE]-AGENT---: Running 0.3.0-22d4f4e488-dirty
2023-01-01T00:20:56.930897Z [1257.921137060] user.notice otbr-agent[15689] [NOTE]-AGENT---: Thread version: 1.3.0
2023-01-01T00:20:56.930961Z [1257.921199000] user.notice otbr-agent[15689] [NOTE]-AGENT---: Thread interface: wpan0
2023-01-01T00:20:56.931019Z [1257.921257740] user.notice otbr-agent[15689] [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///dev/ttyThreadRCP?uart-baudrate=460800/
2023-01-01T00:20:56.931164Z [1257.921403400] user.info otbr-agent[15689] [INFO]-ILS-----: Evaluating infra link among 2 netifs:
2023-01-01T00:20:56.931225Z [1257.921464580] user.info otbr-agent[15689] [INFO]-ILS-----: ^IInfra link eth0 is in state UP+RUNNING
2023-01-01T00:20:56.931300Z [1257.921538200] user.info otbr-agent[15689] [INFO]-ILS-----: ^IInfra link wlan0 is in state UP
2023-01-01T00:20:56.931357Z [1257.921595100] user.notice otbr-agent[15689] [NOTE]-ILS-----: Infra link selected: eth0
Infra link selected: eth0
commissioned end device.
then made the interface eth0 down.
service restarted with interface change :
{
const char *newInfraLink = mInfraLinkSelector.Select();
due to restart service service selected Infra link selected: wlan0
but unable to control commissioned end device previously.
later made the eth0 up , able to control commissioned end device
The text was updated successfully, but these errors were encountered: