I have a friend who’s home public IP is DHCP, and they have an IP-enabled thermostat for their house. I set up a free DNS “A” record from DynDNS.com, so they could access the thermostat remotely without having to remember the IP address. The URL is something simple like http://myhome-freedns.com. Since the public IP is dynamic, I set up a service on their home PC that automatically updates that free DNS “A” record to reflect the new public IP (whenever it changes). This is called Dynamic DNS (DDNS). The problem with all of this is that the home PC must be turned on whenever the DNS “A” record needs to be updated. At this point, I figured I would leverage his Linksys BEFW11S4 wireless router to handle the DDNS updates.

Upon logging into the router, I discovered the DDNS service was no where to be found! Soon enough I figured out that the firmware had to be updated, which introduces the DDNS service. Downloading the firmware was simple enough, and the upgrade *should* have been straight-forward too – log into the router, go to the corresponding page for firmware updates, browse to where the file is saved, and update.

Unfortunately it wasn’t that easy. I was getting the error of “”Upgrade action is not finish. Upgrade file pattern error.” If the grammatical error was not bad enough, not being able to upgrade the firmware easily became frustrating! A simple Google keyword search resulted in a Linksys forum page with the same issue. It appears that the naming convention that Linksys gives their firmware files is not compatible with their own products! Simply renaming the file from “BEW1.52,blah blah.bin” to “code.bin” allowed the router to read the file and update the firmware successfully. No numbers, no mid-way periods, no commas – just “code.bin”.

After the update, DDNS was available on the router, and is now successfully updating the DNS “A” record as needed, without the use of a PC-based service.

Be Sociable, Share!