Linksys EA8300 Support Thread

If you're reading this, I'm assuming you've got a challenge in front of you, so here's a table of contents

Managing dual-boot firmware

Switch configuration ignores VLANs

First flash of OpenWrt was smooth, now the second one hangs forever


Managing Dual-Boot Firmware

The U-Boot environment variable boot_part is what primarily determines which of the two firmware sections will be used for boot.

  • boot_part 1
    • kernel (mtd 11)
    • firmware
  • boot_part 2
    • alt_kernel (mtd 13)
    • alt_firmware

When sysupgrade (either over the command line or LuCI) or the OEM firmware flashes a new image, it flashes the "other" one and changes boot_part to boot from the new image next.

After three "failed" boots, U-Boot will try the "other" one from what it was without user action.

This is one way to switch firmware, especially from a box that is hanging before a console is responding. Powering-off the EA8300 before the LINKSYS light goes on solid white (will usually work even before the "failsafe" flashing starts) will almost always go against the "three, bad boots" counter.

With SSH access to the device, fw_setenv boot_part 1 or the like can be used.

cat /sys/devices/virtual/ubi/ubi0/mtd_num 

shows which MTD partition is associated with /dev/ubi0, which should be kernel or alt_kernel

There is a LuCI module for switching, but at this time it does not support the EA8300.

It might be a good "first project" to add the EA8300 to


See also


Switch Configuration Ignores VLANs

The IPQ40xx chips have a unique take on things. "Normal" VLAN config will be seemingly ignored by the device.

On my list to determine the scope of what does work with these devices.

More information:


First Flash of OpenWrt Was Smooth, Now the Second One Hangs Forever

Prior to July, 2019, the OpenWrt EA8300 firmware would fail to sysupgrade (or through LuCI) over existing OEM firmware.

First, get back to the "good" version of OpenWrt. Powering off the "hung" boot three times should get you there.

For now, instructions are at