Linksys EA6900

From DD-WRT Wiki

Revision as of 16:49, 29 November 2018 by Jeremywh7 (Talk | contribs)
Jump to: navigation, search

Hardware Specifications

FCC ID Q87-EA6900
Industry Canada ID 3839A-EA6900
Power 12 VDC, 3.5 A
CPU Broadcom BCM4708A0
CPU Speed 800 MHz (2 cores)
Flash/RAM 128 MiB / 256 MiB
WI1 chip Broadcom BCM4360
WI1 protocols an+ac
WI1 MIMO config 3x3:3
WI2 chip Broadcom BCM4360
WI2 protocols bgn
WI2 MIMO config 3x3:3
Antenna connectors U.FL, RP-SMA
Switch Broadcom BCM4708A0
LAN / WAN ports 4 / 1 (up to 1 Gb/s)
USB ports 2 (USB 3.0, USB 2.0)
Serial 6-pin header, internal

Installation

Please refer to this forum thread for the latest info: "Linksys EA 6900 Install Guide"

Boot Partitions

The Linksys CFE partitions flash with two linux boot partitions, switching between them after three (consecutive?) incomplete or failed boots. It also has a bug that limits NVRAM to 32KB, for which a third-party XVortex CFE (ported from an Asus RT-AC68U) is available to mitigate. The XVortex CFE only uses a single linux boot partition.

To check the boot partitions, run this from telnet or ssh:

cat /proc/mtd

The main boot partition is 'linux' and the Linksys CFE will also have 'linux2'.

To force switching to the other partition from current, unplug the router after ~10 seconds into boot. After the third try, it will switch the 'bootpartition' which is stored in nvram. It can also be manually altered:

nvram get bootpartition	

This returns the current boot partition (0 for linux, or 1 for linux2). To change the boot e.g. to 1:

nvram set bootpartition=1	

The number of partial boots to switch linux partitions is controlled by maxpartialboots (default is 3):

nvram get maxpartialboots	

And can be changed with 'set' as well. The current number of incomplete boots is tracked with 'partialboots':

nvram gset partialboots

The partitions can be directly written to 'linux' (or use 'linux2' for that partition) from command prompt:

wget {firmware path}

Or enable SSH and then WinSCP (or similar) can be used to copy the file.

mtd unlock linux
mtd write {firmware file} linux
reboot

Note: if an error returns from the mtd commands, instead try 'write {firmware file} linux' (no mtd command)