Finalmente he instalado DD-WRT en el Linksys EA6400 basándome en las instrucciones oficiales. Dejo los pasos que he seguido.
Descarga todos los archivos y prepara el router
- Flash Linksys EA6300v1 & EA6400 with 3rd Party Firmware.7z. Contiene Tftp2.exe, linksys_ea6400_ddwrt.bin, PuTTY, WinSCP-5.9.6-Portable, CFEEdit.exe. u.pcloud.link/publink/show?code=kZNb807Z…psd8YHj35b57
- Koolshare CFE CFEEdit.exe + cfe_linksys-ea6400.bin forum.dd-wrt.com/phpBB2/download.php?id=34440 forum.dd-wrt.com/phpBB2/viewtopic.php?p=1009864
- Firmware DD-WRT wiki.dd-wrt.com/wiki/index.php/Index:FAQ
- Hacer un factory reset antes de empezar. El downgrade no lo he podido hacer desde la versión 1.1.40.184085, que es la que tengo.
- Configura la IP de tu PC a 192.168.1.5, subred 255.255.255.0, sin puerta de enlace ni DNS (en Windows, simplemente escriba la IP en el apartado TCPv4 y acepta, no completes ningún otro detalle).
- Conecta el PC a uno de los puertos ethernet del router.
- Con el router encendido haz un
ping 192.168.1.1
y asegúrate que devuelve 4 pings rápidos, si no es así, revisa el problema. - Miestras ejecutas
ping 192.168.1.1 -t
, quita la alimentación del router, espera unos segundos y enciéndelo de nuevo. De esta forma puedes familiarizarte de lo que se ve mientras el router se pone en marcha. Cuando veas TTL=100 el dispositivo estará en modo de recuperación (tftp) o todavía estará arrancando, mientras que cuando veas TTL=64 significa que ya estará listo.
Flash de la imagen temporal DD-WRT con TFTP
En Windows
- Abre el programa de Windows Tftp2.exe.
- Ingresa 192.168.1.1 como servidor, haz clic en '…' y apunta a la imagen temporal DD-WRT .bin (Aquí estoy usando 'linksys_ea6400_ddwrt.bin' del archivo comprimido "Flash Linksys EA6300v1 & EA6400 with 3rd Party Firmware.7z"). No especifiques una contraseña, aunque una de las guías anteriores dice usar 'admin' como contraseña, déjala en blanco.
- Apaga el router. Prepárate con el mouse en el botón Upgrade.
- Enciende el router. En el cuarto destello del LED de alimentación verde único en la parte superior, presiona en TFTP 'Upgrade'. Algunas guías recomiendan presionar el botón justo cuando aparece TTL=100, antes de que TTL=64 aparezca.
- Verás que se llena un gráfico de barras a medida que la aplicación TFTP carga la imagen en el router. Espera unos minutos. No apagues el router una vez ha empezado a subir el firmware.
- Ve a 192.168.1.1 y DD-WRT debería estar ahí.
- Aunque el flasheo fuera exitoso, podría iniciarse en el firmware OEM de Linksys. Si el router arranca con el firmware OEM de Linksys, está utilizando su segunda imagen de firmware interna, la ubicación se almacena en 'linux2'. Ve a Solución de problemas en el administrador web de Linksys, y hay una opción para 'restaurar el firmware anterior' (arranque internamente desde la imagen 'Linux'). Usa eso y ahora debería arrancar en DD-WRT (almacenado en 'Linux').
En Linux (no lo he probado)
En Linux tftp
se ejecuta desde la línea de comandos.
$ sudo zypper in tftp
$ tftp
tftp> connect
(to) 192.168.1.1
tftp> binary
tftp> rexmt 1
tftp> timeout 180
Reconecta la alimentación del router y cuando tengas TTL=100:
tftp> put /ruta/linksys_ea6400_ddwrt.bin
tftp> quit
Realice una copia de seguridad de sus variables de entorno NVRAM y CFE OEM originales de Linksys
- Ve a http://192.168.1.1 (el EA6400 ahora está ejecutando una copia temporal de DD-WRT). Establece el nombre de usuario y contraseña predeterminados en root / root. El último flasheo te pedirá que configures esto de nuevo, por lo que por ahora solo usa root & root como nombre de usuario y contraseña. ¡No apagues el router en ningún momento hasta que esta guía te indique que lo hagas!
- Ve a http://192.168.1.1/backup/cfe.bin para hacer una copia de seguridad del CFE original. Simplemente ve al enlace. Tu navegador guardará o preguntará dónde guardar el CFE en su ordenador.
- Habilita SSHd en Control Panel DD-WRT → Services → Services → Secure Shell y pulsa Save y luego Apply Settings.
- Usa PuTTY (cliente ssh) para hacer una copia de seguridad de las variables NVRAM. (El comando es:
nvram show >> nvram_dump.txt
). Puedes conectarte por SSH o Telnet. Si lo haces por telnet, introduce los siguientes parámetros: IP: 192.168.1.1, Puerto: 23, Conexión: Telnet. - Haz login (root/root)
cd /tmp/root
nvram get uuid_key
En mi caso uuid_key=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx
nvram show >> nvram_dump.txt
- Ya tendremos el archivo nvram_dump.txt en la ruta /tmp/root
- Abre WinSCP e introduce los siguientes parámetros: File Protocol: SFTP, Hostname: 192.168.1.1, Puerto: 22, username: root y password: root.
- Sitúate en la ventana derecha en la ruta /tmp/root, pulsa el botón derecho del ratón sobre el archivo nvram_dump.txt y pulsa Download. Una vez descargado puedes borrar el archivo del router.
- No cierres WinSCP, lo seguiremos usando.
Usando un CFE modificado (ver Koolshare CFE) usa CFEEdit.exe para cambiar las variables para reflejar tu router
- En Control Panel DD-WRT → Status → Sys-Info puedes ver las variables de tu router
DD-WRT mostrará:
LAN MAC: xx:xx:xx:xx:xx:xx
WAN MAC: xx:xx:xx:xx:xx:xx (=LAN MAC - 1)
Wireless MAC wl0: xx:xx:xx:xx:xx:xx (=LAN MAC)
Wireless MAC wl1: xx:xx:xx:xx:xx:xx (=LAN MAC + 2) (Hay que cambiar de Interface Wireless wl0 a Interface wl1 para que se muestre)
- El archivo nvram_dump.txt muestra las siguientes macs (wl0 = 2.4GHZ, wl1 = 5GHz):
hw_mac_addr= xx:xx:xx:xx:xx:xx (=LAN MAC - 2)
et0macaddr= xx:xx:xx:xx:xx:xx (=LAN MAC - 2)
lan_hwaddr= xx:xx:xx:xx:xx:xx (=LAN MAC)
wan_hwaddr= xx:xx:xx:xx:xx:xx (=LAN MAC - 1)
1:macaddr= xx:xx:xx:xx:xx:xx (=LAN MAC + 2)
wl1_hwaddr= xx:xx:xx:xx:xx:xx (=LAN MAC + 2)
0:macaddr= xx:xx:xx:xx:xx:xx (=LAN MAC)
wl0_hwaddr= xx:xx:xx:xx:xx:xx (=LAN MAC)
- Abre Koolshare CFE con CFEEdit.exe
- Pulsa File → Open CFE… y selecciona cfe_linksys-ea6400.bin
- En Advanced mode tendrás que modificar los parámetros por defecto por los tuyos. Pongo os que yo he puesto aunque no le encuentro el sentido. En el paso 8 veréis el resultado que me ha dado con estos valores.
clkfreq=800,533 (asegúrate que tiene ese valor)
hw_mac_addr= Puse xx:xx:xx:xx:xx:xx (=LAN MAC - 2)
et0macaddr= Puse xx:xx:xx:xx:xx:xx (=LAN MAC - 2)
lan_hwaddr= Puse xx:xx:xx:xx:xx:xx (=LAN MAC - 2)
1:macaddr= Puse xx:xx:xx:xx:xx:xx (=LAN MAC)
wl1_hwaddr= Puse xx:xx:xx:xx:xx:xx (=LAN MAC)
0:macaddr= Puse xx:xx:xx:xx:xx:xx (=LAN MAC - 1)
wl0_hwaddr= Puse xx:xx:xx:xx:xx:xx (=LAN MAC - 1)
default_passphrase=xxxxxxxxxx (búsca tu default_passphrase en nvram_dump.txt o debajo de tu router)
uuid_key=xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx (La que guardamos en nvram_dump.txt)
wps_device_pin=xxxxxxxx (puedes verlo en la parte de abajo del router)
- File → Save CFE As… → newcfe.bin
- Cierra y vuelve a abrir el archivo en CFEEdit.exe para comprobar que los cambios se han guardado correctamente.
- En WinSCP sitúate en la ventana derecha en la ruta /tmp/root, arrastra el archivo newcfe.bin para subirlo.
- Abre PuTTY si no lo tienes abierto.
- Haz login (root/root)
cd /tmp/root
ls
mtd -f write newcfe.bin /dev/mtd0
Sube y flashea la imagen DD-WRT actualizada
- En WinSCP sitúate en la ventana derecha en la ruta /tmp/root, arrastra el archivo Linksys-ea6400-webflash.bin para subirlo.
- Ya hemos terminado con WinSCP.
- Abre PuTTY si no lo tienes abierto.
- Haz login (root/root)
cd /tmp/root
ls
- Flashea linux2 (Tarda unos 5 min):
mtd -f write Linksys-ea6400-webflash.bin linux2
- Borra NVRAM:
erase nvram
- Reinicia:
reboot
Ahora debería estar en la última versión de DD-WRT.
Actualizar, entrar en el router y comprobar variables
- Creo que para actualizar el dispositivo, el procedimiento siempre es este, es decir, desde el terminal con los comandos
mtd -f write Linksys-ea6400-webflash.bin linux2
y mtd -f write Linksys-ea6400-webflash.bin Linux
. Creo que desde el Control Panel DD-WRT no funciona, no lo he probado. - Al entrar por primera vez en Control Panel DD-WRT → Administration cambia el Router Username y Password. Por ejemplo admin/admin o la password que quieras.
- En Control Panel DD-WRT → Status → Sys-Info comprueba las variables de tu router.
Me aparecen:
LAN MAC: xx:xx:xx:xx:xx:xx (=LAN MAC)
WAN MAC: xx:xx:xx:xx:xx:xx (=LAN MAC - 1)
Wireless MAC wl0: xx:xx:xx:xx:xx:xx (=LAN MAC)
Wireless MAC wl1: xx:xx:xx:xx:xx:xx (=LAN MAC + 18) (Hay que cambiar de Interface Wireless wl0 a Interface wl1 para que se muestre)
Si el LED verde no funciona
- En Control Panel DD-WRT → Administration → Commands, escribe:
- gpio enable 8
- Save Startup