-
Notifications
You must be signed in to change notification settings - Fork 26
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
边界路由器项目中,添加mqtt组件后,mqtt连接提示Host is unreachable。 (TZ-979) #74
Comments
补充我发现了它 #71 ,和它应该是同一个问题。 |
Ok, 感谢您帮忙确认这个问题, @wnylei 可以麻烦再帮忙做一个实验嘛?就是打印一下不可达的主机地址是什么,这个地址有可能用的不是DNS刚刚解析的ipv4地址,我怀疑这里面有点问题。 如果这个地址也是预期的,我这边尝试复现一下,然后可以提供一下您这边是调用的哪个上层接口去和云进行建立链接的嘛?非常感谢 |
打开debug日志后,解析到的ip地址是期望的IP地址。如下:
我使用的是官方的mqtt组件,先进行初始化,随后调用 esp_mqtt_client_start 接口,开始建立链接。 另外我也尝试过在mqtt初始化配置中不使用域名,直接使用ip地址的形式,进行链接,结果是一样的。 太客气了,这是我应该做的。有任何疑问或需要的测试,随时联系。 |
好的,我们这边后续尝试复现一下这个问题,有进展会在这两个issue中同步。 |
有一个初步的猜想,这个ipv4的地址,lwip层不知道route是什么,esp_netif_set_default_netif这个不设置的话,默认的default netif是wifi,这个地址会放到wifi侧建立tcp,但是加了这个esp_netif_set_default_netif之后,可能会跑到thread侧建立,就会失败。我们复现一下,再debug看看。 |
是的,我也是这个想法。 |
我目前更想知道增加 esp_netif_set_default_netif(openthread_netif) 这行代码的目的是什么,去掉它会影响什么功能嘛。 |
这个是当时BR过Thread官方的certification的时候,有一些multicast的地址再做forwarding的时候,没有正确的forward到Thread层,所以加了这个函数。这个问题的解决方案,可能需要我们先复现一下,然后内部评估一下。如果您的项目中不涉及multicast的转发,可以临时注释这个函数作为workaround。 |
硬件:
ESP32+ESP32C6
软件:
esp-thread-br
情况:
我尝试在esp-thread-br示例项目中添加mqtt组件,但当它运行之后,mqtt组件会出现 Host is unreachable 不可达的提示。此刻wifi是正常连接的,如下图所示:
然后,当我把 launch_openthread_border_router(&platform_config, &rcp_update_config); 这句代码屏蔽后,mqtt组件是可以正常连接服务器的。如下图所示:
问题:
请求指教,万分感谢!
The text was updated successfully, but these errors were encountered: