Ea6300/ea6400 install guide?

from this link

https://forum.openwrt.org/t/openwrt-21-02-2-second-service-release/121249

Main changes from OpenWrt 21.02.1

Device support

  • Support for the following devices was added:
    • Xiaomi AIoT Router AC2350
    • Linksys EA6300 & EA9200

how to install for ea6300? also ea6400 is the same device according to ??
https://deviwiki.com/wiki/Linksys_EA6400

thx

EA6300 v1 support wasn't really added with 21.02.1, it was merely re-enabled - device support has been added almost 7 years ago in https://git.openwrt.org/?p=openwrt/openwrt.git;a=commitdiff;h=c6401c6d617748f2f76cf548e525c88b9942ce98 - sadly predating the policy to describe the flashing process in the commit message.

In the absence of a device page in the wiki, you probably will have to find out the details yourself - the commits surrounding this device seem to suggest that the OpenWrt firmware might be accepted by the OEM firmware (eventually from CFE?), but there is no further information about that, or to what extent it is working (e.g. the wireless part isn't, at least not reliably, nor achieving a throughput beyond 54 MBit/s).

1 Like

Duplicate thread: How to install on ea6300/ea6400?

it is, and is flagged for moderation.

1 Like

Bumping this very old thread to provide install guidance for this device since it doesn't seem to appear anywhere else.

Note the warning in the techdata page regarding the wifi performance. This device will have exceptionally poor wifi performance, but will be fine as a wired router.

The EA6300 will not accept the OpenWrt image in the factory firmware's web interface. But the bootloader has a TFTP server that will be active a few seconds into the boot process. This will accept the OpenWrt firmware file.

  1. Set your computer to a static IP in the 192.168.1.0/24 subnet, such as 192.168.1.5/24 (the router will be 192.168.1.1, so do not use that address).
  2. Connect an ethernet cable between your computer and one of the EA6300's lan ports.
  3. Start a persistent ping to 192.168.1.1 on your computer.
  4. Apply power to the EA6300.
  5. Wait for the first successful ping response -- it should show ttl=100 (this should happen ~5-7 seconds after power is applied)
  6. Immediately upon seeing that first ping response, "put" the firmware file (see below)
  7. The device should accept the file and then show intermittent ping returns for a short time.
  8. When you see consistent ping returns wth ttl=64, you should be able to login to OpenWrt.*

Use the same tftp method to return to stock firmware (OpenWrt's sysupgrade will not properly handle the stock firmware image).

TFTP from a Mac, sending OpenWrt 22.03.5 (latest as of this writing):

tftp> connect 192.168.1.1
tftp> binary
tftp> put openwrt-22.03.5-bcm53xx-generic-linksys_ea6300-v1-squashfs.trx
Sent 8388608 bytes in 17.7 seconds

*If the stock firmware still boots (instead of the freshly flashed OpenWrt), that may be due to the dual partition on this device. Switching the partition should be possible by logging into the stock firmware and navigating to Troubleshooting > Diagnostics > Router Firmware and then clicking the Restore previous firmware button.

From OpenWrt (22.03), you can swtich the boot partition like this (where boot partition is either 1 or 2):

root@OpenWrt:~# nvram show | grep boot
maxpartialboots=3
boot_wait=on
partialboots=3
bootpartition=1
root@OpenWrt:~# nvram set bootpartition=2
root@OpenWrt:~# nvram commit
root@OpenWrt:~# reboot

OpenWrt also has a package to bring this to LuCI: luci-app-advanced-reboot

Dual firmware notes:
Firmware flashed via tftp appears to load into partition 1 (this is possibly just speculation on my part).

If you want to flash the other partition, you must do so via running firmware. This means that if you want to have both partitions on OpenWrt, perform the tftp install, then run sysupgrade using the same file once OpenWrt is running. Or, if you want both partitions to be stock, install the stock firmware via tftp and then upgrade the firmware again (with the same stock firmware file) from the Linksys stock GUI. The theory here is that the firmware will load into the 'other' partition relative to whatever is currently in use and then it will boot from that 'other' partition once the flashing is complete. This provides a tick-tock firmware upgrade process (partition 1 > 2, 2 > 1, etc.) and enables a fail-over back to the previously working partition should a flash fail to boot properly.

The Linksys stock firmware default address is 192.168.1.1. There is no username; the default password is admin.

1 Like

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.

Revisting this topic because I was playing with this device again recently. It is not quite as straightforward as I had described earlier, so some new findings:

  1. The two boot partitions are 0 and 1. (not 1 and 2).
  2. The TFTP firmware installation method appears to always install into boot partition 1.
  3. The vendor firmware will remain in partition 0 when you install via TFTP
  4. OpenWrt doesn't appear to support the dual-boot nature of this device, so when you install via TFTP into partition 1 (and then install again over OpenWrt), it simply writes to partition 1 again, leaving the vendor firmware in place.
  5. The vendor firmware will not accept the OpenWrt image, so you can't start with the vendor firmware running out of partition 1 and then flash into partition 0.
  6. OpenWrt doesn't know to set the partialboots back to zero, so after the maxpartialboots value is exceeded (3 by default), the firmware will roll back to slot 0 and run the vendor firmware.
  7. It appeared that using the Restore previous firmware button didn't actually return my unit to partition 1, as it would continue to boot the vendor firmware..

So... how to get around this... there are a few options:

  • Live with the vendor firmware living in partition 0. This means we need to deal with the partialboots issue.
  • Use DD-WRT (yes, that one) because DD-WRT does indeed understand the dual-boot nature of this device and will perform tick-tock upgrades. So we can leverage this to bypass OpenWrt's lack of awareness of the second partition in this device. There will still be some complications, so keep reading.

DD-WRT will also not be accepted by the vendor firmware web UI. But, you can load it via tftp. This places DD-WRT into slot 1. Once this has been done, you can flash it again (this time using the DD-WRT web UI to flash DD-WRT again), and this will flash DD-WRT into slot 0. Now DD-WRT is on both partitions.

Next, we can connect via ssh to DD-WRT (you do need to enable this first). You can use the same nvram commands as described earlier.

nvram show | grep boot
nvram set bootpartition=1
nvram commit

This will now boot DD-WRT from slot 1. And here is the magic...
DD-WRT accepts the OpenWrt image (tested with 23.05.0), and it will write it to slot 0 and then boot from there.

Now, we can easily install OpenWrt into slot 1 using the TFTP method.

And bingo! We now have OpenWrt installed on both partitions.
They will be unique installations, though -- each one will have its own configuration and packages, although it would certainly be possible to simply make a backup of one, switch partitions (manually) and restore to the other (and also install any additional packages, too).

Now, we still have one more issue... the fact that OpenWrt doesn't know about resetting the partialboots parameter. We can handle this in two ways:

  • Reset partialboots upon each successful boot cycle
    • we can achieve this by adding the following into /etc/rc.local
nvram set partialboots=0
nvram commit
  • set maxpartialboots to 0
    • this will effectively prevent the failover mechanism of the device, thus requiring a manual operation to switch partitions.
    • this also means that there is no automatic recovery from a faulty firmware/configuation. Your device will brick if something goes wrong, likely requiring a serial connection to recover.
    • I tested booting from partition 0 and then using TFTP to flash (which goes into partition 1) -- the system still booted from partition 0.
      • With this in mind, if you go this route, it is probably best to only disable the failover mechanism if you are only using partition 1 -- this way, you can at least guarantee that the device will attempt to boot from anything that is freshly loaded into slot 1 via TFTP.
    • To achieve this failover disable method:
nvram set maxpartialboots=0
nvram set partialboots=0
nvram set bootpartition=1     # optional, but recommended
nvram commit
reboot
  • Alternatively, you could set the maxpartialboots to a very large number with the assumption that you won't have the device rebooting that frequently (but don't underestimate the effect that a power outage can have -- sometimes there can be many up/down cycles as power is restored, not to mention complex configuration troubleshooting and the like). At least you'd know you can boot into the other partition and change it back via the nvram settings, though.

Finally, please remember that this device isn't really a good match for OpenWrt, at least if you are using wireless. The wifi is not properly supported on this device, so you'll be very unhappy. Stick to vendor firmware or DD-WRT if you want good wifi from the EA6300. For other things, OpenWrt can be a totally reasonable choice, but be prepared with all the caveats presented here.

2 Likes