Feeling a bit lost after many days of relentless digging and looking for inspiration...
The story so far:-
- I have a Microchip PIC32-based wifi-dev board running TCP/IP stack v5.36.
- After boot-up, the app works fine when requesting the default 'mchp.local' domain name in the browser. The web browser receives updates correctly every second from the embedded web server on the PIC.
- After an indeterminate time however (usually about 1 hour or so), the 'mchp.local' page times out and the browser reports
'ERR_NAME_NOT_RESOLVED: The server at mchp.local cannot be found. because the DNS lookup failed.'
- And yet, I can access the app on its corresponding IP address (in this case 172.16.15.103) and I see the app is running fine.
- I also see infinite loop in the the main() routine is running as expected and the web server is responding to changes when I request pages using just the IP address.
- I have tested using Chrome on Windows and Mac machines - same issue.
- I have tried using Packet Peeper (a free network packet analyser for Mac OS X) to filter out all messages NOT on UDP port 5353 (as per RFC 6762) and I see nothing useful.
- I have trace-debugged the code and found that the mDNS state machine is in DEFEND mode, both before and after the moment when the app stops responding with DNS "ERR_NAME_NOT_RESOLVED".
- I suspect the problem lies in the multicast DNS module but my findings so far do not help me to piin point the root cause.
Any clues? Where should I look next?
My environment: Mac OS X 10.9.5 (Mavericks) Browser: Chrome v.44 Embedded Kit uC: Microchip PIC32MX695F512H Embedded Kit WiFi interface: Microchip MRF24WB0MA Dev Tools: PICKit3, MPLAB X IDE v2.25, Packet Peeper 2014-06-15