Linksys EA6900

From DD-WRT Wiki

Jump to: navigation, search

This guide is only for the EA6900 v1.x!
WARNING: The EA6900 v2 is a Mediatek MT7621AT device and not supported by DD-WRT! [FCC link]


[edit] Hardware Specifications

The XAC1900, which comes as part of a kit with a separate DSL modem (APM105), appears to be the same device as a user has flashed one to the EA6900 firmware.

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

[edit] Installation

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

Note that nowadays virtually all of these devices will have auto-updated themselves to the most current Linksys firmware and so will need to be unlocked. The only unlock procedure that I found to work is the one related by bronzemaxwell in the thread referenced which involves back-reving the device to an older Linksys firmware. THis process, from the forum, is as follows:

1) download an old Linksys oem firmware (see the forum thread to download this)
2) download the Linksys tftp utility
3) launch the utility and select the Linksys firmware, use admin as the password for the utility
4) Set your PC to a static IP and open a ping window, ping -t
5) Power-cycle the router and click Upload on the utility. When it times out, click Upload again. Continue doing this until the TTL in the ping window is 64, if by then the utility has not uploaded the older Linksys firmware, power cycle the router and start over again.

When I did one of these that I picked up used, it pinged probably 25-30 times at the ttl=100 level before the tftp upload blue bar in the Linksys utility started to move. Unlike other routers where the CFE in the device checks very early in the boot process almost right after power up, the CFE in this router checks for an incoming TFTP much later on. So the best way is to just start clicking the upload button as soon as you see the pings back with the TTL=100 because sometime during that period it will accept tftp from the utility.

Once you get it uploaded the router may reboot into newer firmware on the other alternate partition. If this happens just login and go to diagnostics and revert to earlier firmware and it will then reboot from the partition with the old Linksys firmware you uploaded. Once you are on that firmware you can then webflash dd-wrt as usual, and then once you have done this you can telnet into the router and flash the alternate partition so that both partitions have dd-wrt on them.

[edit] 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 get 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

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

[edit] Links

DD-WRT Firmware_FAQ