Configuración de Xiaomi MI Router AIoT AX3600 – MI Router AX1800 (versión China)
Llevaba mucho tiempo intentando lograr estabilidad y potencia en la red del hogar, buscando un producto fiable, económico y con grandes prestaciones. Después de sondear mucho el mercado me he decantado por otro de los grandes productos del gigante asiático Xiaomi. Los routers AX, dentro de los routers Wifi 6, muchos los han situado entre los 5 mejores.
Mi objetivo, mejorar la red de datos y ‘aislar’ el router de la operadora Movistar (HGU ASKEY) para que sólo gestione la TV y telefonía (al no tener ONT independiente). Para mi proyecto he adquirido un AX3600 que será el principal y un AX1800, su hermano pequeño, que actuará como un nodo, configurado en red malla (mesh) y cubriría las zonas donde no hay cobertura.
El objetivo se ha cumplido con creces. Nada tiene que ver el rendimiento y calidad resultante comparado con el router de la operadora. En un piso de 90 m2, y a pesar de tantos muros y obstáculos, actualmente se obtiene una señal estable del 100% y está a pleno rendimiento.
Explicaré todo el proceso a continuación.
Ambos routers los he comprado directamente en China. Ello tiene sus ventajas y desventajas.
Ventajas:
- La económica
- Por defecto viene con la región china activa, que muliplica por 10 la potencia del Wifi. El firmware chino tiene una intensidad de señal mucho más fuerte que el firmware global. Esto se debe a las regulaciones de intensidad de señal de la UE y de otros países. Los usuarios que han adquirido estos routers con el firmware global también pueden modificar la región. En el apartado de recursos se enlaza a varias guías de otros usuarios que explican al detalle como hacerlo.
- El firmware chino se actualiza con más frecuencia. El firmware global tarda mucho tiempo en recibir actualizaciones.
Desventajas:
- El firmware está en lenguaje chino. Es un mal menor, porque utilizando el navegador Google Chrome o Edge y pulsando botón derecho del ratón, nos saldrá la opción de traducir al español en cualquier momento y desde cualquier página. Si no tenemos internet, otro método, es utilizar el Google Lens desde nuestro móvil. También se puede gestionar el router en español a través de la app MiWifi.
- El software global está en español, la configuración es más sencilla y permite colocar las Vlan en condiciones.
Los AX disponen de un gran hardware y tienen un firmware basado en Openwrt, pero personalizado. Se ha descubierto una vulnerabilidad en la versión del firmware 1.0.17 (AX3600) / 1.0.34 (AX1800). Instalando el mismo, y a través de algunos comandos, accederemos al router por SSH. Una vez dentro, podremos modificar las vlan, la región, etcétera.
Para los usuarios avanzados ya está disponible para la comunidad el firmware Openwrt estable para poder explotar al máximo sus posibilidades.
Este post se irá actualizando constantemente.
Contenido
Especificaciones técnicas
MI AIoT Router AX3600
Router Wifi 6 con un procesador Qualcomm de seis núcleos, 512 MB de RAM, tasas de transferencia de 3 gigabits, soporta redes mesh, estabilidad en la señal y muy rápido
Ver todas las características del producto
MI Router AX1800
Ver todas las características del producto
Configuración del Movistar (HGU – SmartWifi)
Lo primero que hay que hacer es cambiar router Movistar a modo monopuesto (sin NAT). De tal forma, el router hará las funciones de modem y será el AX quien tome el control de nuestra red. También se recomienda desactivar la Wifi para que no interfiera con la nueva red.
Por lo tanto, el HGU de Movistar sólo gestionará la TV y la telefonía. El nuevo AX gestionará toda la red de datos.
Empezaremos conectando el cable de red que nos viene en la caja con el router Xiaomi desde puerto Ethernet Movistar al puerto WAN del nuevo router.
Configuración del AX (por Pppoe)
La configuración la vamos a realizar a través del ordenador vía LAN Ethernet, aunque también lo podríamos hacer usando la App Miwifi desde nuestro móvil.
Conectamos el cable de red del ordenador al puerto LAN de nuestro AX.
Introducimos la puerta de enlace que viene por defecto en nuestro navegador Chrome o Edge (192.168.31.1 o bien escribimos miwifi.com).
El AX3600 por defecto detectará automáticamente nuestra conexión y tendremos en breve internet. Si queremos configurar el AX1800 como principal entonces tendremos que incluir los valores de nuestro proveedor de internet de forma manual.
Incluyo dos pdf con la configuración en chino y español
En el caso de Movistar:
DATOS DEL ISP (MOVISTAR)
Tipo de conexión: Pppoe
Cuenta: adslppp@telefonicanetpa
Contraseña: adslppp
Máscara de subred: 255.255.255.255
DNS1: 80.58.61.250
DNS2: 80.58.61.254
Podemos sustituir las DNS por las de Clouflare, Google, OpenDNS o cuales mejor nos convengan. En mi caso, tengo puestas las de IBM Quad9.
Cloudflare: 1.1.1.1 / 1.0.0.1
Google: 8.8.8.8 / 8.8.4.4
OpenDNS: 208.67.222.222 / 208.67.220.220
IBM Quad9: 9.9.9.9 / 149.112.112.112
Multiplexación: LLC
Para otro operador, podemos solicitarles que nos faciliten las credenciales Pppoe. En el caso de que no quieran darnos la información, siempre podemos averiguarla siguiendo las instrucciones paso a paso de este excelente post que utiliza un script en python desde Linux.
Configuración Mesh
Para configurar una red de malla con los nuevos routers Xiaomi Wifi 6, lo más importante es que ambos routers tengan el último firmware actualizado y que estén en la misma región (en mi caso, China).
Para habilitar la configuración de redes de malla, hay que actualizar al firmware del router a la versión más reciente, manualmente.
Una vez esté el firmware actualizado, colocar el nodo que actuará como satélite (en mi caso el AX1800) cerca del router principal, a una distancia de menos de tres metros y encender la alimentación. Esperar a que el indicador se vuelva azul. Seguidamente, buscar y agregar a través de la interfaz del router principal (en mi caso el AX3600) vía el menú del nodo de la malla. Si todo ha ido correctamente, nos indicará que el nodo ha sido detectado y tendremos una red malla. Después de realizar este paso, sólo nos queda colocar el router del nodo en la ubicación designada.
También se puede configurar la red mesh a través de cable, enchufando el cable ethernet desde un puerto LAN del primario o principal al puerto WAN del secundario.
Se pueden utilizar los puertos LAN para conectar los ordenadores, etc. y utilizar Internet. Todo es similar a un extensor WiFi, excepto que utiliza la topología de red malla que es más avanzada.
Estos videos muestran el proceso (por DSmartLife).
Firmware (chino y global)
Descargar firmware MiWifi 3600 Global -> 3.0.22
Descargar último firmware MiWifi (chino) -> Desde el sitio de Xiaomi miwifi.com | MIUI ROM | 1.1.21 Stable (mega)
Descargar firmware MiWifi 3600 (chino) -> 1.0.67 (mega)
Descargar firmware MIWifi 1800 (chino) -> 1.0.34 (mega)
App Miwifi
La App Miwifi es una herramienta que nos ofrece Xiaomi para gestionar sus routers conectados en su ecosistema. Está disponible en Google Play Store.
Es altamente recomendable crearse una cuenta que es gratuita, y nos valdrá para logearnos y gestionar otros productos Xiaomi. En la misma, se almacenan los perfiles de configuración.
Una vez instalada es importante entrar manteniendo la región China para que nos detecte el router. Al contrario que por vía LAN, aquí tendremos todo en español y será mucho más sencillo de configurar.
La herramienta está en constante actualización y es bastante completa.
Flashear el firmware Xqrepack (AX3600)
Lo realmente excepcional de estos routers es su firmware basado en Openwrt y la oportunidad de poder acceder a ciertas opciones para mejorar el rendimiento de nuestra red.
Para poder disfrutar de esas ventajas es imprescindible acceder vía ssh. Para ello, previamente, hay que rebajar el firmware actual a una versión vulnerable (downgrade) y aplicar un Exploit introduciendo unos comandos desde nuestro navegador.
Una vez tengamos acceso a sus entrañas tendremos la posibilidad de realizar un sinfin de operaciones, modificando ciertos archivos para aumentar la potencia del router, configurarlo para sustituirlo por el de la operadora, ejecutar scripts, etc. Un abanico de nuevas ventajas y muchas de ellas se pueden descubrir en el apartado recursos de este post que enlazan a otras fuentes.
Ese mismo apartado lleva a mucha información de utilidad para conseguir el propósito siguiendo algunos métodos. Métodos muy interesantes y bastante bien documentados para quien le guste trastear y aprender, ideales para un perfil con un mínimo de conocimientos de informática, tiempo y sepa disfrutar de estas materias.
Aquí explicaré el método que a mi juicio es el más sencillo y efectivo en la actualidad, flashear el último firmware modificado Xqrepack, que contiene varias mejoras respecto a los firmware oficiales, como la integración de la máxima potencia WiFi, la eliminación por defecto de la telemetría que envía datos a ciertos servidores chinos y el acceso vía ssh permanentemente. Un firmware ante todo, seguro.
En este enlace tendremos la información del proyecto en GitHub.
Antes de nada, es fundamental tener instalado el software Putty y WinSCP. Dos herramientas, que utilizaremos para realizar las operaciones.
Descargar el firmware 1.0.17 desde Xiaomi para realizar el downgrade.
Descargar el firmware XqRepack Chino (el caso que nos ocupa) o el Global. Aquí nos encontraremos varios ficheros .zip a nuestra disposición, cuyas peculiaridades son las siguientes:
- MI: Firmware compatible con la app MiWifi, pero envía ciertos datos a China desde la app.
- OPT: Incluye el directorio opt de linux.
- SSH: Nos dará acceso permanente por ssh (fundamental).
- TXPower: Dará la opción de cambiar la potencia desde la web.
Para descargar y utilizar el firmware chino traducido al castellano, incluyo los siguientes enlances:
miwifi_r3600_firmware_aba17_1.1.19+SSH+MI+opt.zip
miwifi_r3600_firmware_aba17_1.1.19+SSH+MI.zip
miwifi_r3600_firmware_aba17_1.1.19+SSH+opt.zip
miwifi_r3600_firmware_aba17_1.1.19+SSH.zip
Para trabajar en el ejemplo que nos ocupa, se debe descargar el zip de la versión traducida al castellano: miwifi_r3600_firmware_aba17_1.1.19+SSH+MI+opt.zip. Por lo tanto, una vez descomprimido, se debe dejar accesible el archivo miwifi_r3600_firmware_aba17_1.1.19+SSH+MI+opt.bin, que es el que vamos a flashear.
Otra acción fundamental es obtener el password de nuestro router a través de la página Oxygen7 para el futuro acceso tanto de WinSCP y Putty. Para ello, accederemos a nuestra puerta de enlace y copiaremos el nº de serie de nuestro router situado en al parte inferior derecha que nos muestra la pantalla principal.
A continuación, desde la web de Oxygen 7 -> https://www.oxygen7.cn/miwifi/, o desde MiWifiDev -> https://miwifi.dev/ssh copiaremos el nº de serie obtenido, le daremos a Go o Calc y nos generará un código muy importante que tendremos que apuntar para siempre (ver flecha roja de la imagen).
¿Qué pasa si las web que generan estos códigos están caídas?
En caso de que las webs estén caidas (que sucede a veces), siempre podemos descargar el siguiente archivo html de oxygen y ejecutarlo en local. Tiene el algoritmo y por lo tanto calculará el código. Hay que seguir mismo sistema, introducir el nº de serie en el campo SN y pulsar en CALC para que nos devuelva el código.
Toca rebajar nuestro firmware actual a la versión 1.0.17 (vulnerable). Entramos a la puerta enlace, nos dirigimos a Estado y flasheamos manualmente el firmware miwifi_r3600_firmware_5da25_1.0.17.bin (tardará de 2 a 3 minutos aprox).
Una vez flasheado el router a la versión degradada tendremos que lograr el acceso temporal por ssh inyectando un Exploit.
Nota: Importante y recalcar, que en este post se realizan las operaciones partiendo desde la IP de la puerta de enlace predeterminada por Xiaomi, 192.168.31.1. Si no así, se debe sustituir por la que tienen actualmente.
Lo primero que tenemos que hacer es entrar a nuestra puerta de enlace y capturar el valor STOK que nos aporte en ese momento. Ejemplo, ver el valor señalado en la siguiente imagen:
Nota: Cada vez que entremos al router nos dará un valor STOK diferente.
Para el que tenga acceso a internet, bastaría solamente incluir en el navegador el siguiente comando, sustituyendo el valor STOKVALUEHERE por el capturado en ese momento:
http://192.168.31.1/cgi-bin/luci/;stok=STOKVALUEHERE/api/misystem/set_config_iotdev?bssid=gallifrey&user_id=doctor&ssid=-h%0Acurl%20--insecure%20https%3A%2F%2Fraw.githubusercontent.com%2FKaMyKaSii%2FUnlock-SSH-on-Xiaomi-and-Redmi-WiFi-6-routers%2Fmaster%2Funlock_ssh.sh%20%7C%20ash%0A
Si todo ha ido correctamente, nos devolverá el valor “code”: 0.
Ver el siguiente repositorio para más detalles.
Si no tenemos internet, entonces tendremos que seguir los pasos descritos uno a uno en el link oficial de Openwrt (manual method), inyectando cada comando tal como se describe a partir del apartado Manual Method. El resultado debería devolver el mismo valor, “code”: 0.
Con este paso ya deberíamos tener acceso temporal vía ssh y por lo tanto, suficiente para poder flashear el firmware xqrepack.
Ahora ya podremos conectar al router través de WinSCP a nuestra puerta de enlace (usuario: root, contraseña: la generada anteriormente desde oxygen7; importante: protocolo SCP y puerto 22) y cargar el archivo del firmware al router, en la carpeta /tmp .
- Nota importante: Algunas versiones del firmware XQRepack no acepta la contraseña generada desde Oxygen. La que funciona es password
Llegó el momento de flashear al firmware XQRepack, y para ello, toca conectarse al router a través de Putty a nuestra puerta de enlace vía telnet (usuario: root, contraseña: la generada anteriormente desde oxygen7).
- Nota importante: Algunas versiones del firmware XQRepack no acepta la contraseña generada desde Oxygen. La que funciona es password
Nota para los que no hayan usado Putty: Cuando escribimos el password y no lo visualizamos, es normal porque es una característica de seguridad. Introduzca la contraseña normalmente y proceda a darle a intro.
Pasos:
Una vez dentro, primero tenemos que comprobar cual es la partición que está activa.
Introduciremos el siguiente comando:
nvram get flag_boot_rootfs
Y nos devolverá 0 o 1, que será la partición que está en ejecución.
Si es 0 la partición activa, flashear con el siguiente comando:
ubiformat /dev/mtd12 -f /tmp/miwifi_r3600_firmware_aba17_1.1.19+SSH+MI+opt.bin -s 2048 -O 2048
Si es 1 la partición activa, flashear con:
ubiformat /dev/mtd13 -f /tmp/miwifi_r3600_firmware_aba17_1.1.19+SSH+MI+opt.bin -s 2048 -O 2048
Una vez completado el proceso, procederemos a reiniciar el router, escribiendo:
reboot
Una vez reiniciado, ya tendremos lo fundamental, que es EL ACCESO PERMANENTE AL ROUTER Xiaomi. Debemos entrar nuevamente por telnet via Putty e incluir los siguientes tres comandos:
nvram set flag_ota_reboot=1
nvram commit
reboot
Se reiniciará nuevamente y tendremos el nuevo firmware optimizado funcionando.
Si todo ha ido bien, habrá respetado nuestra antigua configuración y disfrutaremos de todas las nuevas ventajas.
Si queremos actualizar a un nuevo firmware xqrepack debemos utilizar su propia utilidad, tecleando el siguiente comando:
xqflash /tmp/nuevo_firmware.bin
🔗 Recursos
Aquí comparto algunos recursos para continuar explotando las características de estos dispositivos.
En ellos se explican como acceder permanentemente al router a través de ssh, cambiar las VLAN para sustituir en router de la operadora, como configurar en mesh, cambiar de firmware chino a global, etc.
Canal Telegram AX3600 (Español)
Canal Telegram Xiaomi Mi Router AX1800
Xiaomi AX3600 Router Global Firmware Download & Install Wi-Fi 6 Mesh (por DSmartLife)
Cambiar firmware Global a firmware Chino + Cambiar región EU a CN (Forocoches)
Router Xiaomi Redmi AX5 , 802.11ax , el Wifi 6 (hilo oficial Forocoches)
Vídeo Tutorial: Configurar VLANs en el Xiaomi Mi Router AX3600 y AX1800 sin cambiar el firmware (domoticaencasa.es)
Video Tutorial: Xiaomi AX3600 Hack SSH Permanente en Español (DjmagicWeb)
Últimas versiones traducidas en inglés de la App Mi_WiFi china Hilo e c.mi.com – Descarga por Google Drive – Canal YouTube Mr. Proper
Muchas gracias. Todo perfecto, ya conocía la mayoría de foros y grupos que mencionas.
Sólo una cosa del HGU, un pequeño detalle…….No es lo mismo el modo Bridge que colocar el router en Monopuesto. Es similar pero no igual.
Hola Domingo. Es correcto lo que indicas y por ello se rectifica el post. No es exactamente lo mismo. Gracias por tu comentario. Un saludo.
Link firmware MiWifi 3600 chino caído
Hola Alberto. Los enlaces desde el sitio de Xiaomi están correctos. No obstante, el último firmware estable chino, también lo he subido a MEGA. El enlace está publicado. Gracias por tu comentario.
Buenas Rafael, ante todo gracias por compartir esta información.
Estoy intentando realizar el proceso, pero cuando intento conectar mediante Winscp me dice que la contraseña generada mediante Oxygen es incorrecta. ¿Podrías darme alguna pista de que puiede estar sucediendo?
Gracias!
Hola Sebas,
Leyendo en ciertos foros he encontrado a algunos usuarios que les ha sucedido algo similar. Lo normal es que entres con la contraseña que proporciona la web de oxygen que identifica la mac de tu router con esa contraseña única.
Entiendo que has rebajado correctamente el firmware y que te ha dado el ‘code: 0’ a la hora de realizar los pasos inyectando el exploit. Eso es lo primero. Si no es asi, no podrás acceder vía ssh.
No obstante, intenta dos cosas:
1) Entra al WinSCP con estas credenciales: user: root y en password: password (recuerda tener siempre presente -> puerto 22 y protocolo SCP).
2) Si no logras entrar, entonces haz un botonazo (reset) y repite los pasos con el router de fábrica.
Ya vas comentando.
Un saludo
Hola, logré instalar el xqrepack, pero está en chino. ¿Por casualidad tendrás el firmware traducido? (no quiero instalar la versión internacional)
Lo crearía yo mismo, pero viendo el tutorial tengo que usar linux y no lo tengo instalado.
Por cierto, para poder instalarlo, no me dejaba usar la partición que mencionas en tú guía, ya que estaba en uso, por lo que lo instale en la otra y luego configure para que inicie con la otra partición.
nvram set flag_last_success=1
nvram set flag_boot_rootfs=1
nvram commit
reboot
Hola Akira,
Prueba este enlace -> https://mega.nz/folder/lxZAlTpA#glAgVC_zsh_WZaFg6qYsJQ
Un saludo
Buenos días Rafael, he descargado de este ultimo enlace el firmware, pero me sigue saliendo en chino, tendrías la versión translated. Gracias
Hola Pedro,
Envíame tu correo electrónico a través del formulario de contacto de esta web o bien desde de Telegram @Rafadetenerife (el mail que tienes indicado como autor, me vienen devueltos los correos), para ver tu caso y enviarte el firmware que tengo en ejecución.
Saludos
Hola, buenos días.
Llevo un par de días intentando realizar el proceso y no hay manera. A la hora de conectarme por putty me sale el mensaje de “Error de conexión a 192.168.31.1 rechazada.
He probado con la clave que me arroja Oxygen y también con “password” como clave y no hay manera.
Me sale lo de Code=0 y demás, pero de lo de Putty no paso.
alguna idea de donde puede estar el problema?
Gracias de antemano
a mi me pasa exactamente lo mismo, pongo el FW 1.0.17 con las claves de Oxygen7 (el script offline la web no funciona), y a la hora de poner el comando para el ssh temporal me sale Code=0 pero no se reinicia el router y ahí me quedo sin poder hacer más.
Como lo solucionaste?
gracias por adelantado
Tras quedarme atascado, nada mejor que la ayuda de Rafa para terminar de completar el tutorial y ya ando enfrascado en las pruebas para ver cómo rinde el bicho con el firm chino. Mejor explicado imposible. Chapó