我加了诊断日志到 livekit_app.c 和 engine.c,并且已经在真实板子上完成了 build + flash + monitor。
关键实测结果:
- 板子拿到的 DNS 是 10.0.0.1
- 板子自己解析出来的是 fake-ip:
-
cloud-api.livekit.io -> 198.18.159.196
- bo-996enr6g.livekit.cloud -> 198.18.159.198
- bo-996enr6g.turn.livekit.cloud -> 198.18.164.147
- ip-140-238-63-214.host.livekit.cloud -> 198.18.159.202
- 但 LiveKit/ICE 实际下发和使用的远端 relay 是真实地址:
- 140.238.63.214:50006
- 140.238.63.214:50007
- 随后 esp_peer 在绑定查找时去找的是 fake-ip:
- Not found for bind remote 198.18.159.202:50007
这就把根因坐实了:
同一条 RTC/ICE 路径里,一部分逻辑拿到的是真实 relay IP,另一部分拿到的是 fake-ip,esp_peer 的 bind table 对不上,所以在 PAIRING 阶段失败。后面的 websocket 断开只是次生现象。