You are on page 1of 9

DDWRT EA6900 Instructions to upgrade the CFE with @Xvortex CFE

Version: 20 December 2021


All credits go to @Xvortex, @Cybrnook, @Crashman and @RMerlin

1. First of all you’ll need to download some files and tools like:
Old stock Linksys firmware version : Attached to this post

Newer CFE (although the current one runs rock solid) might be found at:
http://xvtx.ru/xwrt/download.htm

(dd-wrt firmware version of Brain Slayer for initial flashing


PuTTY client
WinSCP
EA6900 custom CFE
CFE Edit tool) All files attached as one ZIP file to this post (Downloading can take some time)

2. Connect router to computer by LAN cable in port 1 of router. Go into Network and Sharing Center in
Control Panel. Click on the connection, mark TCP/IPv4 and choose Properties button. Then enter manual
IP, mask and gateway in same order: 192.168.1.2, 255.255.255.0 and 192.168.1.1. Click OK to save
settings.

3. Open a browser and write 192.168.1.1 in the address field after switching router, reset it by the button and
wait for about 2 minutes to load. You should see:
4. Standard user/password are admin/admin. Log into router and find manual upgrade field. Press Choose
File, load Linksys old firmware - FW_EA6900_1.1.42.158863_prod.img and press Apply button:

5. Wait for router to restart and load dd-wrt firmware - linksys-ea6900-webflash.bin by the same way.
Should see that screen when done. Put admin/admin for user/password and login:
6. Navigate to Services and enable SSHd and Telnet as pictured and press Apply button:

7. Run PuTTY in Telnet with Host name (IP): 192.168.1.1 and port: 23. Then click Open:
8. In the next window use root/admin for user/pass to login:

9. Then write those commands pressing Enter after each one:


cd /tmp/root
nvram show >> nvram_dump.txt
dd if=/dev/mtd0 of=/tmp/root/stock-cfe.bin
10. Run winSCP and enter 192.168.1.1 for Host name an root/admin for user/password. Click Login
afterwards:

11. Navigate to /tmp/root in the right pane and you should see both earlier created files. Copy them in a
desired folder in left pane by drag&drop:
12. Open nvram_dump.txt file through winSCP and find: et0macaddr, 0:macaddr, 1:macaddr,
secret_code. Those parameters must be transferred into new firmware. They should look like:
et0macaddr=48:AB:xx:xx:xx:A9 (MAC address on the bottom of router)
0:macaddr=48:AB:xx:xx:xx:AB (et0macadd+2)
1:macaddr=48:AB:xx:xx:xx:AC (et0macadd+3)
secret_code=xxxxxxxx (WPS PIN on the bottom of router)

The following are probably not necessary (you can always add it later if it appears necessary):
default_passphrase=xxxxxxxxxx (if any)
default_ssid=Linksysxxxxx (if any)
uuid_key=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx

13. Run CFEEdit.exe and load downloaded cfe_ea6900.bin file by File->Open CFE menu. Click on
Advanced Mode and find same lines as earlier (from your router nvram_dump.txt file) and replace them
with yours parameters. When done go to File->Save CFE As… with name new-cfe.bin:

For DDWRT you have to set the MAC addresses a little different:
When editing the CFE with CFEEdit.exe do not forget to go in the advanced mode and set:
0:macaddr=et0macaddr+2
1:macaddr=et0macaddr+4
(Lan Address equals et0Macaddr, Wan equals to et0Macaddr + 1)
So set the MAC address on the bottom of your router and the secret WPS code in the dumb mode page of
the CFEEdit.exe and then open the advanced mode and set the remaining two MAC addresses.
For example if your MAC address at the bottom is: 32:F5:B5:B4:9F:4B then your
0:macaddr=32:F5:B5:B4:9F:4D and your 1:macaddr=32:F5:B5:B4:9F:4F
If you need help with hexadecimal conversion see: Hexidecimal Conversion Chart
Note: These setting are specifically for DDWRT when you want to use other third party firmware you have to use
@Cybrnook's recommendations regarding the MAC addresses

14. Open winSCP and find new-cfe.bin file in the left pane. Copy it to /tmp/root in the right pane by
drag&drop:

15. Open PuTTY in Telnet again and type command with pressing Enter afterwards:
in
You should be able to see same three files in router’s memory (simple check).

16. Write those commands by pressing Enter after each one:


mtd unlock /dev/mtd0
cd /tmp/root
mtd write -f new-cfe.bin mtd0
(ignore errors just continue and be patient)

17. Now you can safely upgrade to the latest DDWRT builds but you cannot flash using the webGUI
because of the altered partition scheme, however flashing with telnet is simple and fast or you can use the
CFE mini webserver.

To reset and clear the NVRAM: power the router off, press and hold the blue WPS button, power on and
hold the WPS button for approximately 20 seconds until the Linksys logo starts flashing.
The following procedure can be used to flash the latest DD-WRT builds:
1. Open the WebGUI and reset to factory defaults
2. Set your IP address to 192.168.1.9 mask 255.255.255.0
3. Open WebGUI and set username and password
4. Telnet to your router (remember, username is always root)
5. Execute the following commands
 cd /tmp
 curl -o webflash.bin "ftp://ftp.dd-wrt.com/betas/2022/02-09-2022-r48305/linksys-ea6900/linksys-
ea6900-webflash.bin"
 Alternatively if cURL does not work use :
 wget ftp://ftp.dd-wrt.com/betas/2021/01-19-2021-r45493/linksys-ea6900/linksys-ea6900-
webflash.bin (check and use the latest build)
mtd write webflash.bin linux & (if this does not work use: mtd write -f, ignore error see below)
Once you have ddwrt running you can use the write command instead of mtd write
 nvram erase
 reboot

Wait till rebooted and check if router is up, then head over to your router
Hold WPS button and unplug, after 10 seconds plug and hold until light blinks (about 20 seconds)

Wait till rebooted and check if router is up, then head over to your router
Hold WPS button, and then while holding, unplug, after 10 seconds plug and hold until light blinks
(about 20 seconds) This will do a full reset and initializes the right variables, this is extremely important

The mtd write command generates a lock error, just ignore it you should see the blinking [w] indicating that
the writing process is executed. Be Patient!

For a simple upgrade with recent builds (47xxxx) you can use the write command which is much safer to
use and thus preferred:
 write linksys-ea6900-webflash.bin linux

To enter the CFE mini webserver: power off, while the router is powered off, press and hold red factory
reset button on the back of router. Continuing to hold reset button, switch it on, powering up router. Hold
reset button pressed for approx. 15 seconds. When done wait a little and navigate to 192.168.1.1 again. You
must see miniWeb Server page:
References:
https://www.linksysinfo.org/index.php?threads/asuswrt-merlin-build-384-5-or-later-on-linksys-ea6900-or-
ea6700.74209/page-28

You might also like