经过无数次挖掘和寻找灵感后,感觉有点迷失......
到目前为止的故事: -
- 我有一个基于Microchip PIC32的wifi-dev板运行TCP / IP堆栈v5.36。
- 启动后,应用程序在浏览器中请求默认的“mchp.local”域名时工作正常。 Web浏览器每秒都从PIC上的嵌入式Web服务器正确接收更新。
- 在不确定的时间之后(通常约1小时左右),'mchp.local'页面超时并且浏览器报告
醇>
'ERR_NAME_NOT_RESOLVED:找不到mchp.local的服务器。因为DNS查找失败。'
- 然而,我可以通过相应的IP地址访问该应用程序(在本例中为172.16.15.103),我看到该应用程序正常运行。
- 我还看到main()例程中的无限循环正在按预期运行,当我使用IP地址请求页面时,Web服务器正在响应更改。
- 我已经在Windows和Mac计算机上使用Chrome进行了测试 - 同样的问题。
- 我尝试使用Packet Peeper(适用于Mac OS X的免费网络数据包分析器)过滤掉所有不在UDP端口5353上的消息(根据RFC 6762),我认为没有任何用处。
- 我已经跟踪调试了代码,发现mDNS状态机处于DEFEND模式,在应用程序停止响应DNS“ERR_NAME_NOT_RESOLVED”之前和之后。
- 我怀疑问题在于多播DNS模块,但到目前为止我的发现并没有帮助我找到根本原因。
醇>
任何线索?我应该在哪里看下一个?
我的环境:
Mac OS X 10.9.5(小牛队)
浏览器:Chrome v.44
嵌入式套件uC:Microchip PIC32MX695F512H
嵌入式套件WiFi接口:Microchip MRF24WB0MA
开发工具:PICKit3,MPLAB X IDE v2.25,Packet Peeper 2014-06-15