WRT1200ac with OpenWrt suddenly reverted to stock?

I have a WRT1200AC I have been using with OpenWRT for a few months now. Ever since installing OpenWRT the range and speed of the router almost Doubled.

I had a little issue with my link speed from the OpenWRT router to my laptop tonight so I went to it and physically adjusted its position. After witch it was working better, then suddenly completely lost the signal to the OpenWRT wifi signal, its not even showing on the list anymore. Back at the router the wifi signal is suddenly no longer blinking. I then reset the router and suddenly I am greeted back with the stock linksys firmware.

I read that the WRT1200AC has a dual boot firmware chip, where if one fails it auto switches to the second. Did the OpenWRT firmware soft brick? I still want to use OpenWRT since it massively boosts the power of the router and offers much better support for Wireless bridge capability. Can I just safely reflash OpenWRT onto it?

Can anybody explain more about the dual boot thing and how that will work if I re-flash OpenWRT over the now stock lynkssys firmware?

I'd guess you accidentally pulled the power cable while adjusting the router, which made the bootloader believe the OpenWrt partition set would fail to boot. You should be able to toggle the boot order back to OpenWrt again by pulling the power cable 3 times before it manages to fully boot the OEM firmware (check the device page in the wiki for the details).

4 Likes

Thanks Ill give it try tomorrow.

I believe this device has a power switch so you just turn it off and on again 3 times in a row, for like 3 seconds each time.

Once you are back to OpenWrt install the advanced reboot package that let's you select the boot partition, take a backup of the config, and flash the other partition with OpenWrt too :grin:. You can restore your config and install packages on that partition, including the advanced reboot app, then you can have a proper fallback.

Or word of caution for those who would like to go back to stock: ensure the stock firmware flashes correctly from OpenWrt or else you wont be able to do it with both partitions on OpenWrt. I do not have a Wrt1200ac but there is such a situation with e4200v2 and EA4500.

On stock Linksys firmware there is an option in Troubleshooting-->Diagnostics --> "Restore previous firmware" from where you can switch to the other partition.

There are 2 partitions on this device that can boot up separately. There is a pointer when the router is powered on to indicate wich partition is currently active.

When flashing a firmware, the new firmware is flashed on the inactive partition and the pointer to boot from is updated. The reboot then directs you to this newly flashed partition.

If the flash fails, you dont lose anything because the operation would not complete the partition switching and would stay on this working, active partition.

When the router reboots, it is couting the number of times it fails to boot from the active partition. If this reaches 3, it changes the pointer to activate the other partition, thus giving you a rolled back to old firmware.

You can simulate this boot failure using the power trick 3 times unplugged (preventing the functionnal partition report boot success), or advanced reboot in OpenWrt, or the menu in stock firmware to revert to old partition.

Hope this helps.

For the cli orientated:

#!/bin/sh
#hacked from /lib/upgrade/linksys.sh

cur_boot_part=`/usr/sbin/fw_printenv -n boot_part`
target_firmware=""
if [ "$cur_boot_part" = "1" ]
then
    target_firmware="kernel2"
    fw_setenv boot_part 2
    fw_setenv bootcmd "run altnandboot"
elif [ "$cur_boot_part" = "2" ]
then
    target_firmware="kernel1"
    fw_setenv boot_part 1
    fw_setenv bootcmd "run nandboot"
fi
# re-enable recovery so we get back if the new firmware is broken
fw_setenv auto_recovery yes
echo "$target_firmware"
reboot