ASUS Tester Networking: Análisis del ASUS RT-AC87U

#2
1. Introducción

A modo de introducción creo que es conveniente que mepresente y os cuente algo sobre mí. Mi nombre es Álvaro Fernández Rojas y tengo un Grado en Ingeniería Informática por la UC3M (Universidad Carlos III de Madrid) y un Máster en Ingeniería Informática a punto de finalizar (a falta del proyecto), también por la UC3M. Recientemente he comenzado una beca en Airbus Defence and Space que también lleva un Máster asociado, por lo que como comprenderéis voy algo pillado de tiempo, aunque he intentado dar el máximo en las dos semanas de plazo de las que disponíamos para realizar el análisis.

1.1 Unboxing

A continuación podéis encontrar algunas imágenes que hicedel unboxing del router. Como podréis observar ASUS ha cuidado hasta el último detalle, hasta en el embalaje. De todas formas, os recuerdo que en RedesZone hay disponibleun análisis del router bastante completo, en el cual podéis encontrar muchas más imágenes:

Vista de la caja externa y la parte interior:



Vista del router:



Vista del router y las 4 antenas:



Todos los accesorios del router:



El router ASUS RT-AC87U:





1.2 Red doméstica

Con el fin de entender mejor las configuraciones descritasen los siguientes apartados, es necesario conocer la distribución actual de mi red doméstica. Como una imagen vale más que mil palabras a continuaciónpodéis observar la distribución de mi red doméstica:



En el salón podemos encontrar el router principal, unTP-Link Archer C7. Dicho router tiene instalado OpenWRT en vez del firmware oficial de TP-Link y está configurado con mi script de configuración de la fibra óptica de Movistar que podéis encontrar en el foro de SeguridadWireless. Sin embargo, se trata de una configuración distinta a lahabitual, puesto que la LAN (Local Area Network) está separada en dos subredes distintas, una para los dispositivos habituales (PCs, tablets, smartphones…) y otra para Movistar TV, en la que sólo encontramos los tres decodificadores de la IPTV. De esta forma evito que otros dispositivos reciban el tráfico multicast de la IPTV y consigo minimizar el tráfico multicast. Para llevar a cabo dicha configuración, he asignado la VLAN 1 a la LAN de los PCs y la VLAN 4 a la LAN de los decodificadores, puesto que las VLANs 2, 3 y 6 son necesarias para el Triple Play de Movistar (IPTV, VOIP, WAN).

Mi casa dispone de una caja de telecomunicaciones donde se reparten cables a cada una de las habitaciones de teléfono y televisión. Como había suficiente espacio decidí añadir un switch gestionable (TP-Link SG108E) que reparte cables de red (UTP CAT 5E) a cada una de las habitaciones en las que me interesa tener cable de red en lugar de WiFi. Por tanto el Archer C7 está conectado al switch con la VLAN 1 como untagged y la VLAN 4 como tagged.

Como podréis observar es muy importante que el switch sea gestionable, puesto que en la cocina es necesario cambiar la VLAN por defecto a la 4 (untagged), ya que únicamente hay un decodificador de Movistar TV. Sin embargo, en la habitación 2 es necesario un router (ZyXEL P870HW-51a_v2) más que separe ambas VLANs de forma que la Raspberry esté conectada a la VLAN 1 y el decodificador a la VLAN 4. Dicho router tiene instalado OpenWRT y es más que suficiente para gestionar una Raspberry y un decodificador que nunca van a funcionar al mismo tiempo, ya que están conectados a la misma TV. El WiFi de este router es b/g, por lo que se encuentra desactivado.

Por último, en la habitación 1 no es necesario disponer dela VLAN 4, ya que no hay ningún decodificador, por lo que una de las posibles configuración que podemos darle al RT-AC87U es de Dumb AP en dicho punto. El router de esta habitación es un TP-Link WDR4300 y proporciona un segundo punto de acceso WiFi para extender la cobertura a toda la casa, así que en este caso sí es importante disponer de un router potente. En esta habitación, además de tener conectados un ordenador de sobremesa y un portátil, podemos encontrar un sobremesa con Ubuntu Server que sirve contenidos por DLNA a diferentes dispositivos de la red como la Raspberry o la Smart TV de Samsung, entre otras funciones.

2. Firmware oficial (ASUSWRT)

Yo siempre compro routers que tengan soporte OpenWrt debidoa la gran variedad de aplicaciones y utilidades que se les puede instalar, pero la verdad es que me ha sorprendido el firmware de Asus, puesto que lleva incluidas multitud de funcionalidades con las que muchos competidores directos no pueden ni soñar, puesto que ASUSWRT está muy por encima, dado que salta a la vista que se ha invertido tiempo y mucho esfuerzo en ofrecer un firmware completo, funcional y amigable al usuario.

2.1 DumbAccess Point

En esta configuración he sustituido el TL-WDR4300 por el RT-AC87U para evaluar el rendimiento como Dumb AP (Punto de Acceso “Tonto” – se conoce como tal porque no gestiona la red). Esta es la configuración más sencilla de realizar con elfirmware oficial, puesto que no requiere ninguna configuración de VLANs ni de interfaces adicionales. Por esta misma razón es muy útil para probar el rendimiento del WiFi sin que otros factores alteren el resultado. El proceso de configuración es bastante sencillo y apenashay que configurar nada por nuestra cuenta, puesto que nos lo va pidiendo todo el firmware oficial:






Como podemos observar en las pruebas expuestas acontinuación, se ha alcanzado un rendimiento de unos 670 Mbps para las pruebas realizadas mediante UDP y de casi 600 Mbps para las pruebas realizadas mediante TCP por WiFi en la banda de 5GHz, lo que no está nada mal.

Código:
/iperf -c192.168.1.8 -P 1 -i 5 -t 20
------------------------------------------------------------
Clientconnecting to 192.168.1.8, TCP port 5001
TCP windowsize:  129 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.21 port 50197 connectedwith 192.168.1.8 port 5001
[ ID]Interval       Transfer     Bandwidth
[  4] 0.0- 5.0 sec   257 MBytes   431 Mbits/sec
[  4] 5.0-10.0 sec   374 MBytes   627 Mbits/sec
[  4] 10.0-15.0 sec   375 MBytes  629 Mbits/sec
[  4] 15.0-20.0 sec   374 MBytes  628 Mbits/sec
Y esta prueba:

Código:
./iperf -c 192.168.1.8 -P 1 -i 5 -u -b 1300m -t 20
------------------------------------------------------------
Client connecting to 192.168.1.8, UDP port 5001
Sending 1470 byte datagrams
UDP buffer size: 9.00 KByte (default)
------------------------------------------------------------
[  4] local 192.168.1.21 port 55716 connected with 192.168.1.8 port 5001
[ ID] Interval       Transfer     Bandwidth
[  4]  0.0- 5.0 sec   421 MBytes   706 Mbits/sec
[  4]  5.0-10.0 sec   416 MBytes   697 Mbits/sec
[  4] 10.0-15.0 sec   422 MBytes   708 Mbits/sec
[  4]  0.0-20.0 sec  1.63 GBytes   702 Mbits/sec
[  4] Sent 1193387 datagrams
[  4] Server Report:
[  4]  0.0-20.0 sec  1.59 GBytes   681 Mbits/sec   0.010 ms 34010/1193386 (2.8%)
[  4]  0.0-20.0 sec  1 datagrams received out-of-order
2.2 Router Principal

En esta configuración he sustituido el TL-ArcherC7 por el RT-AC87U con el fin de evaluar el rendimiento como router principal. En este apartado he de decir que no he sido capaz deaprovechar el Triple Play de Movistar con este router y el firmware oficial. En mi caso dispongo de la configuración antigua de Imagenio, por lo que los manuales existentes en el foro de ADSLZone no me valen, y no he podido configurarlo para que funcionara la IPTV. En cuanto a la VOIP, no he tenido tiempo de probarla, y para mi es más importante la televisión, así que al ver que no funcionaba la IPTV, he dejado la VOIP de lado.



En las siguientes imágenes podéis comprobar que el proceso de configuración del router es bastante intuitivo y guiado.





Por último, si sólo tenemos contratado internet con Movistary no necesitamos configurar ni VOIP ni IPTV, el RT-AC87U es un gran router, puesto que tiene hardware de sobra para soportar tanto la velocidad actual de la fibra de Movistar como múltiples subidas que puedan producirse en el futuro. Por el contrario, si queremos disfrutar del resto deservicios como VOIP o IPTV, aún podemos utilizar éste router como secundario con el fin de obtener un gran rendimiento WiFi y esperar a que ASUS haga compatible su firmware con dichos servicios.

2.3 Otras funcionalidades

2.3.1 MediaServer

En el caso del media server lo probé con la idea deaprovechar la funcionalidad sobre la compatibilidad con iTunes. Sin embargo, he de decir que me no es posible reproducir ningún contenido desde iTunes, ya que aunque detecta algunas canciones no deja reproducirlas. Lo más probable es que el firmware tenga una versión obsoletade forked-daapd que no sea compatible con la última versión disponible de iTunes (suponiendo que usen forked-daapd como media server). En cualquier caso se agradecen las funcionalidadesadicionales, ya que con el móvil y la aplicación proporcionada por ASUS sí he sido capaz de acceder a dichos contenidos.

2.3.2 Download Master

La verdad es que me ha impresionado para bien el hecho deque ASUS haya integrado en su firmware un gestor de descargas “universal”, puesto que es algo que se echa de menos en casi todos los routers, ya que esta funcionalidad, junto con un sistema de archivos en red tipo Samba o NFS y un gestor de contenidos multimedia tipo DLNA convierten nuestro router en un mini NAS al que a muchas personas les puede resultar más que suficiente.




En mi caso lo he probado muy por encima, pero debo decir que cumple su función bastante bien.

3. Firmwares Alternativos

3.1 ASUSWRT-Merlin

Este firmware es una modificación del firmware oficialcreada a partir del código fuente liberado por ASUS. Es muy importante remarcar la importancia de liberar el código fuente del firmware de los routers con el fin de ayudar a usuarios expertos y darles la posibilidad de realizar modificaciones si lo consideran necesario, y esto es algo que muchos fabricantes aún no han entendido, por lo que he de felicitar a ASUS por el esfuerzo que esto conlleva.

La verdad es que apenas he podido probar este firmware,pero si alguien quiere conocer las funcionalidades extra que aporta sobre el firmware original, puede dirigirse a la siguiente página: http://asuswrt.lostrealm.ca/features

Sin embargo, me gustaría resaltar que algunas de lasfuncionalidades introducidas en un principio por este firmware alternativo han sido añadidas por ASUS al firmware oficial posteriormente, por lo que hay que reconocer también la labor de los desarrolladores de este firmware.

3.2 DD-WRT

Este firmware nació como una modificación del firmwareoficial del Linksys WRT54G, tal y como ha surgido el ASUSWRT-Merlin. DD-WRT dispone de acceso a documentos y código fuente propietario de algunos fabricantes gracias a un acuerdo NDA (Non Disclosure Agreement), lo que les facilita la implementación del soporte para nuevos routers y funcionalidades. De esta forma no dependen de drivers open source y el soporte de ciertas características como el WiFi es más completo.

En una de las páginas de ASUS aparece reflejado que elRT-AC87U está soportado en DD-WRT. Sin embargo, después de haberlo probado he de decir que el soporte a día de hoy está muy verde, ya que el WiFi de 5GHz deja de funcionar en el momento en que se realizan cambios básicos en la configuración del firewall y de las VLANs. Por otro lado, es bastante difícil configurar las VLANs puesto que existe algún fallo y al mínimo cambio el router deja de responder, siendo necesario borrar la configuración del mismo y empezar de cero.

Es importante destacar que DD-WRT utiliza los drivers del código fuente original de los routers que soporta, por lo que realizar modificaciones al firmware no es nada sencillo y el código está poco documentado y la curva de aprendizaje es bastante alta. Por tanto, me es imposible intentar mejorar el soporte de este router para este firmware en un tiempo razonable. Sin embargo, no creo que los desarrolladores oficiales de DD-WRT tarden mucho en mejorarlo hasta alcanzar un grado de funcionalidad similar al firmware oficial (hablando en términos de funcionamiento básico, obviamente DD-WRT dispone de muchos añadidos que no están presentes en el firmware oficial).

3.3 OpenWRT

Al igual que DD-WRT, este firmware nació como unamodificación del firmware oficial del Linksys WRT54G. Sin embargo, a diferencia de DD-WRT, OpenWRT centra sus esfuerzos en añadir funcionalidades siempre con la filosofía del open source, llegando incluso a reimplementar drivers propietarios como open source si es necesario y se da mucha importancia a hacer upstreaming a Linux (mandar todo lo incorporado en el repositorio relacionado con el kernel al correspondiente maintainer en Linux).

Por otro lado, he de decir que llevo bastante tiemporealizando contribuciones a OpenWRT en las que he añadido soporte para diferentes routers (en su mayoría de ISPs españoles, como por ejemplo el Comtrend AR-5381u de Jazztel o el Comtrend WAP-5813n de Movistar). Algunos de los routers para los que hemos añadido soporte en el foro de SeguridadWireles están disponibles en este hilo. Por tanto, dada mi experiencia con OpenWRT sí puedo dedicar parte de mi tiempo a mejorar el soporte del RT-AC87U.

3.3.1 Problemas identificados en OpenWRT

  • Particiones de la NAND no detectadas correctamente,de forma que ciertas características del firmware oficial no funcionaban al restaurar el firmware oficial después de haber instalado OpenWRT: o Upstream(hack temporal): https://dev.openwrt.org/changeset/45694
  • Mis parches:
  1. http://patchwork.ozlabs.org/patch/473015/:permite invalidar y sustituir el driver por defecto de las particiones de la NAND desde el DTS.
  2. http://patchwork.ozlabs.org/patch/473018/:añade soporte para cargar las particiones desde el DTS al driver bcm47xxpart.
  3. http://patchwork.ozlabs.org/patch/473017/:añade las particiones al DTS del RT-AC87U.
  4. Este problema es algo más complicado y mi soluciónno ha sido aceptada directamente por el responsable de bcm53xx en OpenWRT. No obstante, se está estudiando y como medida provisional para no perder la partición se ha añadido un hack temporal que será eliminado al conseguir una solución válida para todas las partes implicadas.
  • WiFi de 2.4GHz no funcional ya que los driversopen source disponibles no tienen soporte para el BCM4360.
Este es un problema que viene de lejos, puestoque Broadcom no dedica esfuerzo alguno al mantenimiento de un driver open source para el WiFi. Por tanto, los únicos drivers existentes son b43 (bastante anticuado y sólo soporta modo b/g) y brcmsmac (es más reciente y soporta el modo N, pero no ha sido actualizado y no tiene soporte para los chipsets más recientes).

Si Broadcom dedicara más tiempo al mantenimientode un driver open source, muchos routers que disponen de chipsets de Broadcom ganarían mucho atractivo para firmwares estilo OpenWRT que sólo utilizan drivers y aplicaciones open source.

  • WiFi de 5GHz no funcional puesto que esnecesario proporcionar el bootloader y el firmware, entre otros archivos, al
    procesador independiente de Quantenna que lo controla:
Éste es el problema más importante de todos losque me he encontrado hasta el momento, ya que para arreglarlo es necesario dedicarle bastante esfuerzo. Para entender el alcance del problema esnecesario conocer el hardware del router:



Como podemos observar en la imagen, 4 de los 5puertos del router están conectados directamente al switch principal del router (BCM53012). El último puerto no está conectado directamente al switch principal del router, sino que está conectado al switch secundario (RTL8211E) del Quantenna. Esta configuración del hardware es precisamente la que permite a ASUS ofrecer la posibilidad del Teaming Port con los puertos 1 y 2 de la LAN. Sin embargo, esta configuración tiene un inconveniente, y es que si el Quantenna no funciona el puerto LAN 1 tampoco (tal y como está ahora mismo el soporte en OpenWrt).

¿Y por qué no funciona el Quantenna si tiene supropia flash y RAM? ¿No debería ser independiente? Pues no, no funciona porque la flash de la que dispone es muy limitada y carga su bootloader y su firmware por TFTP desde el BCM4709. Una vez que el BCM4709 completa el arranque establece una dirección IP secundaria en el bridge de la LAN (1.1.1.1/24) y arranca un servidor TFTP que contiene, entre otros, el bootloader y el firmware para que el Quantenna arranque. Por último, configura el GPIO 8 del BCM4709 como salida actuando de interruptor del Quantenna, de modo que si la salida es positiva, arranca el Quantenna y si es negativa lo apaga.

Para implementar todo esto en OpenWRT dispongode los siguientes parches a modo de prueba de concepto, aunque serán necesarias bastantes modificaciones para que sean aceptadas en el repositorio oficial de OpenWRT:

Por último, cabe destacar que con esto no sepuede configurar directamente el WiFi de 5GHz con OpenWRT, pero establece la base necesaria para que sea posible. La prioridad ahora mismo es conseguir que acepten dicha base en el repositorio oficial y una vez que se consiga ese objetivo veré cómo utilizar la librería proporcionada en el código fuente para configurar el WiFi desde el BCM4709 (el problema es que no existe documentación y hay que hacerlo mirando código del proporcionado por ASUS o el presente en DD-WRT).

3.3.2 Documentaciónen OpenWRT

Toda la información anteriormente expuesta la he documentadotambién en la Wiki de OpenWRT.

3.3.3 Movistar FTTH (WAN+VOIP+IPTV) en OpenWRT

Gracias al tiempo dedicado a mejorar el soporte del routeren OpenWRT, he podido compilar un firmware con todo lo necesario para hacer funcionar el Triple Play de la fibra óptica de Movistar, añadiendo soporte para el ASUS RT-AC87U en la versión r19 de mi script de configuración disponible en el foro de SeguridadWireless.

Gracias al control que ofrece OpenWRT sobre las VLANs he sido capaz de sustituir el Archer C7 por el RT-AC87U como router principal, algo que no había sido capaz de hacer con ninguno de los firmwares anteriormente expuestos.





4. Conclusiones

Personalmente creo que el RT-AC87U es un router muy potentey con muchas posibilidades. Sin embargo, el hecho de no ser posible configurarlo para el Triple Play de la fibra óptica de Movistar es un poco decepcionante para un router de semejantes características. Aun así, no tengo ninguna duda en recomendar el router para todos aquellos que no necesiten dicha funcionalidad, puesto que únicamente tengan contratado internet, sin VOIP ni IPTV, o que quieran utilizarlo como punto de acceso junto a otro router que sí
les aporte dicha funcionalidad, ya que el rendimiento tanto por cable como por WiFi es extremadamente bueno.

Por otro lado, con respecto al soporte en OpenWRT he dedecir que no sólo es necesario dedicar tiempo a las pruebas y al soporte de todas las funciones del router, sino que conseguir que acepten dichas modificaciones en el repositorio oficial de OpenWRT también requiere tiempo y esfuerzo. No obstante, aunque se haya cumplido el plazo para realizar el análisis seguiré intentado mejorar el soporte en mi tiempo libre.

Es una verdadera lástima que Broadcom no dedique el tiempoque sí dedican otras empresas como Qualcomm Atheros o Marvell a proporcionar drivers Open Source que estén continuamente actualizados y dando soporte para el último hardware disponible, ya que disponer de WiFi en firmwares como OpenWRT para este router lo convertiría en un dispositivo con infinitas posibilidades.

Por último, espero que hayáis disfrutado con mi análisis del router y espero haber cumplido vuestras expectativas. Sin embargo, si alguien tiene alguna sugerencia o duda intentaré atenderla cuando disponga de tiempo.

Podéis descargar toda la información en Word (.docx) y también en PDF en los siguientes enlaces:

Saludos!
 

Adjuntos

#5
Enorme trabajo, estoy alucinando de los análisis que hacéis los gran entendidos... Me pondré a trastear mi AC87 con el OpenWRT y a ver si consigo hacer funcionar la IPTV. :)

Muchas gracias de corazón!
 
#6
Me alegra que os haya gustado :D!
Por cierto, aprovecho para agradecer de nuevo al equipo de RedesZone la organización de este concurso y su implicación con los usuarios para darnos oportunidades como ésta.

Invitado dijo:
Enorme trabajo, estoy alucinando de los análisis que hacéis los gran entendidos... Me pondré a trastear mi AC87 con el OpenWRT y a ver si consigo hacer funcionar la IPTV. :)

Muchas gracias de corazón!
Ten en cuenta que aún estoy mejorando el soporte de OpenWRT para este router, así que hay cosas que no funcionan.
Algunas las puedo solucionar, pero requieren tiempo y otras no está en mi mano arreglarlas (se escapa de mis conocimientos), como el soporte para el USB 3.0, que ahora mismo sólo funciona como USB 1.1/USB2.0 (algo es algo). Esto no sólo pasa en el ASUS RT-AC87U, sino en todos los routers de la plataforma bcm53xx.
Por cierto, recuerda que no funcionan ni el WiFi de 2.4GHz ni el de 5GHz. El de 2.4 GHz es culpa de Broadcom, mientras que el de 5GHz es un poco peculiar, como sabréis si habéis leído mi análisis.

Saludos!
 
#7
Gracias a ti por querer participar y por sementaje análisis del producto :) Cualquier cosa que necesites ya sabes cómo contactar.
 
#9
Hola

Pedazo de post. 

Yo estoy interesado en comprar esta bestia, no me queda clara una cosa...  lo  Triple Play de Movistar te refieres a la TV? 

Yo ahora mismo solo tengo Internet 30/3 mb    y telefono...   pero es muy probable que en un futuro cercano ponga la tv y por eso te preguntaba.

El telefono he conseguido que salga de mi ONT con lo cual no se si me influirá con lo que comentas.


Saludos y muchas gracias por esta magnifica explicacion..
 
#10
Sí, se refiere a la TV.

Si tienes el teléfono a través de la ONT perfecto, tienes la configuración más fácil.
 
#15
Buenos dias me dirijo a ti porque veo que estas muy puesto en este modelo de router, resulta que yo siempre he actualizado los firmware de la pagina oficial de asus pero buscando encontre los firmware merlin y por probar probe el firmware 378.5 que por cierto me va muy bien dandome 307 megas con 300 megas contratado , a dia de hoy han actualizado a la version 378_6-2 y como la curiosidad mato al gato lo he instalado y he observado que haciendo un test de velocidad no me llega ni a 300megas solo me da 266 tu sabes porque esa diferencia de velocidad?.
saludos y gracias..monstruo..
 
#18
Buen análisis y aparentemente buen router, pero yo tengo problemas con él, seguramente por mala configuración... Te pongo aquí mi problema porque igual vosotros sois los más indicados para saber cómo ayudarme.

Compré el ASUS RT-AC87U hace ya casi 3 meses funciona bien con el Mitrastar HGU de Movistar. Al Mitrastar HGU le desactivé las redes Wifi y lo puse en modo bridge le cambié la IP a de 192.168.1.1 a 192.168.0.1 para que no interfiera con la 192.168.1.1 que trae el ASUS por defecto, conecté el cable de red que viene con el ASUS del puerto WAN del ASUS al puerto Eth1 del Mitrastar, configuré todo para enlazarlos en modo PPPoE con Usuario: adslppp@telefonicanetpa y Password: adslppp y no sé cómo lo he hecho varias veces pero al final la luz de WAN del ASUS pasa de roja a azul y consigo conexión ethernet, wifi y todo OK,  pero en todas me costó mucho y ya estoy harto de hacer cosas sin saber para conseguir conexión WAN porque es apagar el ASUS o resetearlo y tener que hacer malabares para conseguir que se vuelva a enlazar el ASUS la conexión WAN del Mitrastar. 

¿Qué puedo tener mal o cómo hay que proceder para que el ASUS pille la conexión WAN del Mitrastar DEL TIRÓN???

Hoy mismo tuve que apagar el ASUS para cambiar una regleta de luz por otra y al volver a conectar el ASUS no doy con la tecla para que vuelva a pillar conexión. El Mitrastar de Movistar no se apagó y sigo teniendo teléfono por VOIP pero no hay forma de que me de conexión al ASUS. He apagado/encendido también el Mitrastar y nada. Tengo conexión porque si conecto directamente el cable de red del PC al Eth1 del Mitrastar puedo navegar. así estoy publicando este mensaje desde el PC, pero el ASUS no hay tu tía de que pille conexión!!!
 
Arriba