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]

Contents

[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: 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 1.1.42.161129 (see the forum thread to download this)
2) Download the Linksys tftp utility. See "TFTP Flash"
3) Launch the utility (tftp.exe) and select the Linksys firmware, use admin as the password for the utility
4) Set the PC to a static IP and open a ping window, ping 192.168.1.1 -t
5) Power cycle the router and click Upload on the utility. The utility will try tftp uploading 3 times by itself. 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.

Note that the build 23158 of dd-wrt from 12/18/13 is included in the Flash Linksys EA6900v1.0 & EA6900v1.1 with 3rd Party Firmware.zip file in the forum thread, it is filename linksys_ea6900_ddwrt.bin and will work as an initial flash from the Linksys GUI in Linksys firmware 1.1.42.161129. After that, firmware file r54109 "linksys-ea6900-webflash.bin" and be uploaded via the dd-wrt webGUI

[edit] LINKSYS Logo power light

During boot this light will slowly blink on and off, but turns off when DD-WRT loads. To turn the light on then put the following in the startup script:

gpio disable 6

To turn the light off:

gpio enable 6

Note: This works from telnet or ssh, but not from webGUI Administration->Commands (and running webGUI commands will turn the light off if it was enabled).

[edit] Boot Partitions

The Linksys CFE and firmware partitions the flash with two linux boot partitions, linux and linux2, switching between them after three (consecutive?) incomplete or failed boots. DD-WRT switches between them for a GUI upgrade. It also has a bug that limits NVRAM to 32KB, for which a third-party XVortex CFE (ported from an Asus RT-AC68U that uses only linux) is available to mitigate. Even with the XVortex CFE, the boot log will still show two linux partitions (see below).
Note: Updates from the dd-wrt GUI may not work with the XVortex CFE. It is recommended to use curl, wget, USB, or SCP to get the file and only flash directly to linux from the command line. If unable to boot after an update, try force switching [1].

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

cat /proc/mtd

To see the actual flash address ranges: (this is with the XVortex CFE):

# dmesg|grep 0000\ :|sed s:.*]\ ::```
0x000000000000-0x000000080000 : "boot"
0x000000080000-0x000000180000 : "nvram"
0x000000200000-0x000002100000 : "linux2"
0x000000380000-0x000002100000 : "rootfs2"
0x000002100000-0x000004000000 : "linux"
0x0000022e0000-0x000004000000 : "rootfs"
0x000004000000-0x000008000000 : "ddwrt"

Switch to the other partition is done via nvram:

nvram get bootpartition	

Then switch to the other boot partition (0 for linux, or 1 for linux2). E.g. to set linux as the boot partition:

nvram set bootpartition=0	
nvram commit

[1] Force switch by unplugging the router about 10 seconds into boot. After three tries, 'bootpartition' switches.

'maxpartialboots' defines the number of partial boots to switch partitions (default is 3 but can be changed as above):

nvram get maxpartialboots	

The current number of incomplete boots is tracked with 'partialboots':

nvram get partialboots

WARNING! Builds with the OEM CFE will exceed 32k nvram size! One symptom of this is after a reset of nvram variables and logging in with the GUI and setting the password, webGUI or telnet/ssh access to dd-wrt will stop responding. If using the Linksys CFE the "second method" in the EA6900 Install thread] MUST be immediately employed.

Once the router password is set at the initial page, run the Remove Unused NVRAM (Improved Version) commands, and save them for startup, cron, JFFS, or USB as desired.

[edit] Links

DD-WRT Firmware_FAQ