Updating Firmware

This one is long and tedious but there was lots of learning going on during these tests.

Problem:
Our customer l could not connect the DMK App to his box via infrastructure mode to send a firmware update. Paul was having no issues getting data to iNavX on the same machine so NMEA data was streaming.

Customer Support:
Kevin had him try to connect in Ad-hoc mode by grounding Seatalk wire and power cycling. The box bricked at this point. It showed up on the iPad and said it connected but still would not connect to the DMK app and gave a "waiting for NMEA data" in iNavX when he tried to connect. Also the amber LED went's from working fine with the two NMEA inputs blinking correctly, to instead having solid amber LED lit. (I'm sorry I didn't ask which one) The Green LED worked as it should the whole time.

We shipped him a replacement 11A with the new firmware installed. He will ship back the other one and I'm sure it will work after the firmware has had a solid reboot. We felt it was important to have a working box for this gentleman's impending trip.

Testing to recreate the issue:
The next day I went to try to recreate the issues our customer was having aboard our test boat, Distance. I could only try in ad-hoc mode but my past experience leads me to believe that had we not bricked the box by doing a manual restart, that we would have eventually gotten the update to take in infrastructure as well.

Updating the firmware with V190 worked great after the boot loader version of the firmware had been installed using a PC and a programmer. However V192 loaded the firmware update but would not reconnect after the update when I tried to update the firmware over IP 192.168.1.3 using the iPhone. When I turned off the iTouch and switched the iPhone's IP to .2 and tried a firmware update and it gave me the "Does not have a connection to DMK box" failure notice. Next I tried to change the baud rate of the secondary NMEA port and got a no response failure. I think this would have worked had I changed the IP address then power cycled the box and reconnected.

The phone went to sleep and I made my notes. After making notes I woke up the iPhone and tried to update the firmware again. I app woke up, established connection and the firmware update worked like it should except that it did not reasablish a connection with the iPhone. Instead it could not be found by either the iPhone or the iTouch. I power cycled the box and it established connection on IP .2 on the iPhone The baud rate change also took effect on this reboot. The DMK app established a connection but the iNavX app gave a "waiting for NMEA data" failure notice. I think this was due to "App Fighting."

I reset the secondary baud back to 4800 and the box restarted but it gave me a failure notice that "it did not have a connection with the DMK Box." I forced quit DMK and iNavX. I should have checked to see if data was streaming, but I did not. I suspect data was streaming because later on I received the same message but still had data streaming to the app.

After the forced quit I re-started the DMK App. It had data streaming. Next I opened the iNavX app and it gave a "connection failed" notice. I forced quit the DMK app, then started iNavX and it worked fine. (see App Fighting)

I updated the firmware with V190 twice and it said it worked great. However since v190 was loading the same version as v192 I could not confirm that it was really changing.

Next I tried to update the firmware again with v192 on the iPhone. Before doing this the box needed to be power cycled for the iPhone to see the box after the wifi on the iTouch was turned off. It power cycled and automatically connected. The update worked as it should and so did a baud rate change from 4800 to 9600. When I tried to reset the baud back to 4800 the box reset at the new baud, but the DMK App gave me a "you are not connected to a DMK Box" failure notice. The app though had data streaming to it.

All of the updates were in ad-hoc mode so our customer's issue may have had something to do with his router, however I doubt it. Unfortunately the box bricked on the manual reset so I never found out.

Lessons Learned:
If I had yesterday back, I would have had out customer quit all his apps, turn off his wifi and power cycle the box. Next I would have him connect to the box and just open the DMK App. Next I would have him install the firmware update and wait two minutes. If the box did not re-establish connection the after two minutes it should get power cycled. At this point I would have him go into wifi settings and see if he saw DMK Yacht. (Need to test whether the box reboots in Ad-hoc mode or will go back to its infrastructure profile.) If it sees DMK Yacht then go back and apply infrastructure profile. If profile does not take then power cycle box and see if it reboots with profile. Connect to TCP router to confirm that infrastructure is working.