One important thing to take into consideration is the operating temperature. According to the product brief Intel® Edison Boards — Product Brief the recommended temperature range for the Edison is from 0-40°C. Operating at temperatures of 83°C, which is more than the double of the maximum recommended value doesn’t guarantee a correct performance.
As for trying to debug this issue you can take a look at /usr/bin/configure_edison. This file contains the code related to the configure_edison command. Here you can see all the variables the code uses to connect to wifi, set password, etc.
You can create a script that detects when the WiFi disconnects, and based on the variables and code from configure_edison, tell the board to reconnect.
Some valuable information can be found in def decideToConnect(): and def connectNetwork():
Thanks for the reply Sergio.
While I understand the product brief recommends a temperature range of 0-40C, I don't believe the hardware is so limited, and that kind of temperature range would make it useless for my application as well as almost anything outdoors. I searched a bit in the forums and saw replies from Intel people saying that further testing on temperature range was underway and they would report the results when they had them. Unfortunately I don't really believe that either... so I'm going to just test the limits myself.
So far I am optimistic because the system functioned just fine at 83C for a couple of hours before the WiFi shut down, and then ran the data logging program for another 4 days before I shut it down. This is a temperature that is on the extreme range of what I am likely to see in the field.
Thank you for the recommendation. I am looking over the /usr/bin/configure_edison file and will see if I can create something from what is in there. I'll report back here if I get something working.