Introduction

External design and hardware

Firmware upgrade

Web-interface

Command line interface

Testing

Conclusion

Introduction

Our website regularly features reviews on various wireless routers with ultra-high traffic transfer speeds in the wireless segment. For example, our readers saw a few reviews on devices that support AC3200. And right now we'd like to reveal a little secret to you: soon the latest generation of such devices with even more powerful hardware will arrive to our test lab! Yet in real life the owners of these agile devices receive slower data transfer speeds. This usually happens because the equipment vendors specify the maximum total speed that one can receive only upon using several clients. This is why AC3200 devices we tested earlier supported tri-band technology that made it possible to independently connect three wireless clients thanks to operation with three independent radios. One client in 2.4 GHz frequency range (up to 600 Mbps) and the other two in 5 GHz frequency range (up to 600 Mbps each). However, today our laboratory hosts a completely different device. It's ASUS EA-AC87 wireless access point with support of AC1800, letting the user receive wireless speeds of up to 1734 Mbps. Usage of speeds as high as these became possible thanks to 4x4 antennae configuration. Apart from it, ASUS EA-AC87 access point supports MU-MIMO technology that allows low-speed clients, which do not support 4x4 configurations, to use the wireless environment independently. Let's have a closer look at ASUS EA-AC87 capabilities.

External design and hardware

ASUS EA-AC87 wireless access point comes in a black plastic case with dimensions of 160x160x40 mm (not considering the antennae). The device weighs 480 grams. To work properly ASUS EA-AC87 needs an external power unit (included in the box) with the following characteristics: 12 V and 1.5 А.

The upper panel is gilled and there are the model and vendor names as well as the device operation modes located on it.

The front panel has LEDs indicating the device status and the wired segment status as well as a scale showing the signal strength.

Four external dismountable antennae are fastened to the side panels (two on each panel). There are also three buttons and a switch that lets one choose the device operation mode located on one of the side panels. These buttons are used to enable or disable the LEDs located on the front panel, get the wireless clients connected using WPS technology, and reset the user settings. The switch is used to choose the device operation mode: access point or Media Bridge. In the latter mode, ASUS EA-AC87 will perform functions like a wireless client, establishing wired segment connections to the existing wireless network.

On the rear panel there are five wired Gigabit Ethernet ports, power slot, and ON/OFF button.

The largest part of the bottom panel is a ventilation grate. Also, there are four rubber legs used for desktop mounting of the access point and two X-shaped tooling holes used to mount the device on the wall. At the centre of the bottom panel there is a sticker with brief information about the device.

Now let's have a look at the insides of the ASUS EA-AC87 case.

All electronic stuffing of ASUS EA-AC87 is one textolite card which has all essential elements located on both of its sides. Unfortunately, almost all of them are covered with protective metal screens and are inaccessible for review. The only module accessible for inspection was the flash memory Macronix MX25L12845EMI-10G module with the size of just 16 Mbytes.

Now let's pass on to reviewing of the software capabilities of the device.

Firmware upgrade

Firmware upgrade is carried out in Firmware Upgrade tab, Administration menu item. Firmware upgrade process may be carried out both in manual and semi-automatic modes. In case of the latter, it is obvious that the access point must be connected to the Internet. Upgrading the firmware manually is only a tad more difficult: the administrator will simply need to upload the file with the new firmware version to the device.

The whole firmware upgrade process takes about three minutes and does not require any technical proficiency from the administrator.

One can make sure that the upgrade procedure has been performed successfully by looking at any page in the web interface. The current firmware version will be shown at the top of the page.

In case of a failure during the firmware upgrade process, ASUS EA-AC87 access point changes for the rescue mode during which the power indicator on the device starts slowly flashing. A circumstantial characteristic of transition to this mode are changes in TTL field value in IP packets sent out by the device: TTL=64 in the normal mode and TTL=128 in the rescue mode.

Unfortunately, the bootloader of EA-AC87 does not have an embedded web-server. This is why one will be able to restore the firmware only using ASUS Firmware Restoration utility via TFTP. It is worth mentioning that the restoration procedure cannot be performed from any client, but only from the client with the IP of 192.168.1.100. The device bootloader uses 192.168.1.1 IP.

Another thing worth pointing out is that, if it is necessary, the administrator may switch ASUS EA-AC87 access point to the restoration mode by holding Reset button for 15 seconds while the device is switching on and booting.

That is where we bring the review of the firmware upgrade and recovery process to a conclusion and pass on to examining capabilities of the device web-interface. The last thing we would like to mention in this section is that currently there are still too fewer firmware versions available for download to the users.

Web-interface

The web-interface design is somewhat different depending on the selected operation mode: Access Point or Media Bridge. At first we switched EA-AC87 to the access point mode. The web-interface is available in 21 languages.

Network Map menu item features information about the most essential settings of the wired and wireless interfaces as well as offers information about the connected clients. Unfortunately, the current firmware version lacks Status tab, which provides information about the current utilization of the device resources. Neither the information about the client connection speeds can be received.

Guest Network menu is used to manage wireless guest SSIDs.

Tabs in Wireless menu item let the user to change the operation parameters of the device wireless module. Unfortunately, it was impossible to specify the wireless channel bandwidth manually when this article was being written.

LAN menu item lets the user specify the IP parameters of the device management interface. Unfortunately, there are no settings associated with the DHCP server over here.

Administration menu item lets the user change his/her login information, manage time sync, enable access to the device through Telnet protocol, upgrade the firmware, and manage user settings.

All log information is located in tabs in System Log menu item.

Network Tools menu item is used to perform a connectivity check using ping and nslookup utilities and receive information about the open sockets. Surprisingly, there wasn't tracert/traceroute utility over here.

The web-interface lacks Guest Network and Wireless Network upon operation of EA-AC87 in Media Bridge mode. Instead of it, the administrator will be able to scan 5 GHz frequency range looking for accessible SSIDs or specify parameters of the network to which he/she needs to connect manually.

That is where we bring the review of the device web-interface capabilities to a conclusion and pass on to examining the capabilities of its command line interface.

Command line interface

Managing the access to the command line is performed using System tab, Administration menu item in the web-interface.

In order to access the device command line one must use the same log-on information as for the connection to the router web-interface. Firmware of the model under review is built on Linux 2.6.35.12 OS using Busy Box 1.10.3.

EA-AC87 login: admin
Password:
BusyBox v1.10.3 (2015-02-03 14:37:55 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
quantenna # uname -a
Linux EA-AC87 2.6.35.12 #2 Tue Feb 3 14:46:02 CST 2015 arc unknown
quantenna # busybox
BusyBox v1.10.3 (2015-02-03 14:37:55 CST) multi-call binary
Copyright (C) 1998-2007 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See source distribution for full notice.
Usage: busybox [function] [arguments]...
 or: function [arguments]...
 BusyBox is a multi-call binary that combines many common Unix
 utilities into a single executable.  Most people will create a
 link to busybox for each function they wish to use and BusyBox
 will act like whatever it was invoked as!
Currently defined functions:
 [, [[, ash, awk, basename, cat, chmod, chpasswd, clear, cp, cut, date, dd, df, dirname, dmesg,
 echo, egrep, env, expr, false, fgrep, find, free, ftpget, ftpput, getopt, getty, grep, halt, head,
 hexdump, hostname, id, ifconfig, ifdown, ifup, inetd, init, insmod, ip, kill, killall, klogd,
 linuxrc, ln, logger, login, ls, lsmod, md5sum, mkdir, mknod, mktemp, modprobe, mount, mv, netstat,
 nslookup, pidof, ping, ping6, pivot_root, poweroff, ps, pwd, readlink, reboot, reset, rm, rmdir,
 rmmod, route, run-parts, sed, sh, sleep, sort, stty, sync, syslogd, tail, telnet, telnetd, test,
 tftp, touch, true, tty, umount, uname, uptime, usleep, vconfig, vi, vlock, wc, wget, which, xargs,
 yes
quantenna #

Let's see what processes are currently running using ps command. There is no top utility.

quantenna # ps
 PID USER       VSZ STAT COMMAND
 1 root      1512 S    init
 2 root         0 SW   [kthreadd]
 3 root         0 SW   [ksoftirqd/0]
 4 root         0 SW   [events/0]
 5 root         0 SW   [khelper]
 6 root         0 SW   [async/mgr]
 7 root         0 SW   [ruby_pm/0]
 8 root         0 SW   [sync_supers]
 9 root         0 SW   [bdi-default]
 10 root         0 SW   [kblockd/0]
 11 root         0 SW   [kswapd0]
 12 root         0 SW   [mtdblock0]
 13 root         0 SW   [mtdblock1]
 14 root         0 SW   [mtdblock2]
 15 root         0 SW   [mtdblock3]
 16 root         0 SW   [mtdblock4]
 17 root         0 SW   [mtdblock5]
 47 root         0 SWN  [jffs2_gcd_mtd5]
 304 root      1336 S    iwevent --syslog
 428 root         0 SW   [mlmestats]
 724 root      2848 S    hostapd -B /mnt/jffs2/hostapd.conf
 971 root      2200 S    init_services
 977 root      1504 S    syslogd -m 0 -S -O /tmp/syslog.log -s 256 -l 6
 1275 root      1520 S    /bin/sh -l
 1276 root      1496 S    /sbin/klogd -n
 1282 root      1512 S    /usr/sbin/inetd
 1290 root      2312 S    myhttpd
 1292 root      2152 S    watchdog
 1304 root      1440 S    infosvr br0
 1306 root      1520 S    networkmap
 1308 root      2168 S    ntp
 1416 root      1584 S    dhclient -4 br0
 1496 root      2736 S    avahi-daemon: running [EA-AC87-2C00.local]
 1498 root      1504 S    /bin/sh /scripts/dhcpd_check.sh
 1510 nobody    1128 S    dnsmasq -z br0 -l /tmp/dnsmasq.leases -F 192.168.1.100,192.168.1.120,24h -A /bridge.asus.com/
 2802 root      1504 S    /usr/sbin/telnetd
 2803 root      1520 S    -sh
 2931 root      1496 S    sleep 5
 2932 root      1504 R    ps

We have placed the contents of /bin, /sbin, /usr/bin, and /usr/sbin below.

quantenna # ls /bin
ash        cp         echo       grep       login      mount      ping6      run-parts  sync       usleep
busybox    date       egrep      hostname   ls         mv         ps         sed        touch      vi
cat        dd         false      ip         mkdir      netstat    pwd        sh         true
chkimage   df         fgrep      kill       mknod      pidof      rm         sleep      umount
chmod      dmesg      getopt     ln         mktemp     ping       rmdir      stty       uname
quantenna # ls /sbin
ATE                            ipv6-mgmt                      qharvestd
arpstorm                       iwconfig                       qpm
avahi-daemon                   iwevent                        reboot
call_qcsapi                    iwgetid                        regulatory_database_bin_print
chpasswd.sh                    iwlist                         reset2
dhclient-script                iwpriv                         restart_wireless
get_rtl8367rb_link             iwspy                          restore_bootcfg_env
get_rtl8367rb_status           klogd                          rmmod
getty                          lsmod                          route
halt                           mini_httpd                     run_telnetd
hotplug                        modprobe                       show_access_points
htpasswd                       monitor_reset_device           show_rfcal_version
ifconfig                       monitor_wifi                   show_traffic_rates
ifdown                         myhttpd                        syslogd
ifrename                       myrc                           tc
ifup                           networkmap                     vconfig
infosvr                        ntp                            watchdog
init                           nvram                          webs_update.sh
init_services                  pivot_root                     webs_upgrade.sh
insmod                         poweroff                       wlcscan
ioctl_8367                     qevt_server                    writerfmem
quantenna # ls /usr/bin
[         clear     expr      ftpput    killall   readlink  telnet    uptime    which
[[        cut       find      head      logger    reset     test      vlock     xargs
awk       dirname   free      hexdump   md5sum    sort      tftp      wc        yes
basename  env       ftpget    id        nslookup  tail      tty       wget
quantenna # ls /usr/sbin
brctl           dnsmasq         flash_info      inetd           ntpclient       wpa_cli
chpasswd        flash_erase     hostapd         jffs2dump       telnetd         wpa_supplicant
dhclient        flash_eraseall  hostapd_cli     mkfs.jffs2      wdskey
quantenna #

Now let's turn to /proc catalogue to view its contents and find out the system uptime, its average utilisation, information on the CPU installed, and the amount of RAM. Actually, system uptime and average system utilisation can also be learnt using uptime command.

quantenna # cd /proc
quantenna # ls
1                    2802                 carrier_id           misc                 softirqs
10                   2803                 cmdline              mlmestats            stat
11                   3                    config.gz            modules              sys
12                   304                  cpuinfo              mounts               sysrq-trigger
1275                 3142                 devices              mtd                  sysvipc
1276                 3143                 diskstats            net                  temp_sens
1282                 4                    driver               ocac                 timer_list
1290                 428                  execdomains          pagetypeinfo         topaz_busmon
1292                 47                   filesystems          partitions           topaz_fwt
13                   5                    fs                   phy_pw0              topaz_fwt_if
1304                 6                    hbm_bufs_emac        phy_pw1              topaz_fwt_ipff
1306                 7                    hbm_bufs_wmac        pm_interval          topaz_hbm
1308                 724                  hw_revision          pulse                topaz_hbm_if
14                   8                    interrupts           qdrvdata             topaz_tqe
1416                 9                    iomem                qtn_skb_recycle_max  tty
1496                 971                  ioports              qvsp_ctrl            uptime
1498                 977                  kallsyms             radar                version
15                   arasan_emac0         kcore                ruby_cpumon          vmallocinfo
1510                 arasan_emac1         kmsg                 ruby_health          vmstat
16                   bootcfg              loadavg              self                 zc
17                   buddyinfo            locks                slabinfo             zoneinfo
2                    bus                  meminfo              soc_pm
quantenna # cat uptime
1609.82 1545.98
quantenna # cat loadavg
0.02 0.05 0.05 1/39 3165
quantenna # cat cpuinfo
Processor Family: ARC 700 [0x33]
CPU speed :     500.00 Mhz
Timers:         TIMER1 TIMER0
Interrupt Vect Base:    0x88027000
Peripheral Base: NOT present; assuming 0xCOFC0000
Data UNCACHED Base (I/O): start 0xc0 Sz, 1024 MB
Bogo MIPS :     248.21
ARC700 MMU Ver [2]
 PAGE SIZE 8k
 JTLB 128 x 2 = 256 entries
 uDTLB 8 entr, uITLB 4 entr
TLB Refill "will NOT" Flush uTLBs
Detected I-cache :
 Type=2 way set-assoc, Line length=32, Size=16K (enabled)
Detected D-cache :
 Type=4 way set-assoc, Line length=32, Size=16K (enabled)
Extensions:
 MPY: 32x32 with ANY Result Reg   MAC MPY: Dual 16 x 16 and 32 x 16
 DCCM: N/A  ICCM: N/A
 CRC: N/A,   SWAP: Present   NORM: Present
 Min-Max: Present,   Barrel Shifter: Present
 Ext Arith Insn: Present
Floating Point Extension: N/A
quantenna # cat meminfo
MemTotal:          53288 kB
MemFree:           19016 kB
Buffers:               0 kB
Cached:            23072 kB
SwapCached:            0 kB
Active:             9952 kB
Inactive:          16128 kB
Active(anon):       3128 kB
Inactive(anon):      152 kB
Active(file):       6824 kB
Inactive(file):    15976 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:             0 kB
SwapFree:              0 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:          3024 kB
Mapped:             2512 kB
Shmem:               272 kB
Slab:               5744 kB
SReclaimable:        768 kB
SUnreclaim:         4976 kB
KernelStack:         312 kB
PageTables:          680 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:       26640 kB
Committed_AS:      15976 kB
VmallocTotal:      49152 kB
VmallocUsed:       33584 kB
VmallocChunk:       8240 kB
quantenna # uptime
 03:27:19 up 27 min, load average: 0.01, 0.04, 0.04
quantenna #

We can't help but mention nvram utility that allows changing certain important device operation parameters.

quantenna # nvram
usage: nvram [get name] [set name=value] [unset name] [show] [save file] [restore file]
quantenna # nvram show | grep admin
size: 20301 bytes (45235 left)
acc_list=admin>admin
acc_webdavproxy=admin>1
http_passwd=admin
http_username=admin

That's where we proceed to completion of the brief review of the command line interface capabilities and pass directly on to testing the device.

Testing

The first testing procedure we usually begin our testing section with is estimating the booting time of the device, which is a time interval starting with the moment when the power is on until the first echo reply is received through ICMP. ASUS EA-AC87 boots in 65 seconds. We believe that this result is decent.

The second test, which was no less traditional, became a security scanning procedure, which has been carried out using Positive Technologies XSpider network security scanner. On the whole, there were five open ports discovered. The most interesting data are presented below. We believe that the vulnerabilities discovered are not critical.

 

During the tests we are occasionally spying on the devices using Wireshark network analyser. That was what we did this time, too. This kind of spying turned out to be helpful in finding out the address from which the access point allows performing the firmware recovery. Apart from it, we also found out that EA-AC87 sends outs several IPv6 packets upon booting, but the interface has no mention of the IPv6 support at all. Also, EA-AC87 is detected by the local PC as an IPv6 neighbour. The MAC address of our EA-AC87 device is 10-c3-7b-98-9e-80. The device Link-local address is established based on its MAC address using EUI-64 mechanism, which we told our readers about in the article on IPv6.

netsh interface ipv6>sho nei
Interface 79: Test
Internet Address                              Physical Address   Type
--------------------------------------------  -----------------  -----------
fe80::208:9bff:feef:1bc8                      Unreachable        Unreachable
fe80::12c3:7bff:fe98:9e80                     10-c3-7b-98-9e-80  Stale
ff02::1                                       33-33-00-00-00-01  Permanent
ff02::2                                       33-33-00-00-00-02  Permanent
ff02::c                                       33-33-00-00-00-0c  Permanent
ff02::16                                      33-33-00-00-00-16  Permanent
ff02::fb                                      33-33-00-00-00-fb  Permanent
ff02::1:2                                     33-33-00-01-00-02  Permanent
ff02::1:3                                     33-33-00-01-00-03  Permanent
ff02::1:ff8d:6ee1                             33-33-ff-8d-6e-e1  Permanent
ff02::1:ff98:9e80                             33-33-ff-98-9e-80  Permanent
ff02::1:ffef:1bc8                             33-33-ff-ef-1b-c8  Permanent

For example, the detected Link-local address may be used to check the accessibility of EA-AC87 from the network local segment by ICMP. Unfortunately, the device web-interface was not accessible through IPv6 as of when this article was being written.

C:\>ping fe80::12c3:7bff:fe98:9e80
Pinging fe80::12c3:7bff:fe98:9e80 with 32 bytes of data:
Reply from fe80::12c3:7bff:fe98:9e80: time=1ms
Reply from fe80::12c3:7bff:fe98:9e80: time=1ms
Reply from fe80::12c3:7bff:fe98:9e80: time=1ms
Reply from fe80::12c3:7bff:fe98:9e80: time<1ms
Ping statistics for fe80::12c3:7bff:fe98:9e80:
 Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
 Minimum = 0ms, Maximum = 1ms, Average = 0ms
C:\>telnet fe80::12c3:7bff:fe98:9e80 80
Connecting To fe80::12c3:7bff:fe98:9e80...Could not open connection to the host, on port 80: Connect failed

Before getting down to performance tests we would like to get our readers familiar with the key specifications of the test stand we used.

Component PC Notebook
Motherboard ASUS Maximus VI Extreme ASUS M60J
CPU Intel Core i7 4790K 4 GHz Intel Core i7 720QM 1.6 GHz
RAM DDR3 PC3-10700 SEC 32 Gbytes DDR3 PC3-10700 SEC 16 Gbytes
NIC Intel PRO/1000 PT
ASUS PCE-AC68
Atheros AR8131
ASUS RT-AC66U
OS Windows 7 x64 SP1 Rus Windows 7 x64 SP1 Rus

 

We decided to begin the throughput tests with measuring ASUS EA-AC87 performance upon operation in the access point mode. ASUS PCE-AC68 wireless NIC was used as the client. We used JPerf utility, 2.0.2 version, for tests with 1, 5, and 15 concurrent TCP connections.

We believe that the PCE-AC68 wireless NIC cannot fully utilize the potential of ASUS EA-AC87 access point since it does not support MU-MIMO and has the 3x3 antennae configuration. This is why we asked the vendor to provide us with the second EA-AC87 device, which we used as the wireless client (in the Media Bridge mode). We also decided to increase the number of concurrent connections up to 25 for this test.

Then we though it would be interesting to use EA-AC87 as the wireless client and get connected to ASUS RT-AC66U router. At first the router was set to automatically choose the channel bandwidth of 20, 40, or 80 MHz, but then we manually specified the bandwidth equal to 80 MHz.

Eventually, we decided to measure the performance of a pair of devices upon operation in a wireless bridge (WDS) mode.

Unfortunately, we could not measure the device performance upon operation with clients that support MU-MIMO because at the moment there were no devices like that in our laboratory.

That is where we draw the testing chapter to a close and move on to summing it all up.

Conclusion

We were left with mixed feelings about ASUS EA-AC87, which can act as the access point and the wireless client. On one hand, this is a good high-speed wireless device. Still on the other hand it seemed to us that the model lacks certain functionality. For example, it would have been great to see a built-in DHCP server, possibility to review detailed information about the connected clients, and obtain IPv6 support. Support of the wireless network operation in 2.4 GHz frequency range would become a nice addition too. As of today, we can recommend ASUS EA-AC87 to network geeks and enthusiasts who would like to make the most of the frequency range, which is still not loaded too much, and pay a relatively high price for this device. We believe that ASUS EA-AC87 will turn out to be quite sought-after after the coming and spreading of devices that support MU-MIMO technology.

Strength areas of ASUS EA-AC87 are presented below.

  • High speeds even with one wireless client
  • Support of three guest networks
  • Gigabit Ethernet switch with five ports
  • Support of MU-MIMO
  • Ability to operate in two modes
  • Availability of the signal quality meter on the case

Unfortunately, we cannot help but mention certain drawbacks we have discovered.

  • Incorrect time zones for Russia
  • Support of only one wireless frequency range, 5 GHz

As of when this article was being written, the average price for ASUS EA-AC87 in Moscow online shops was 9800 roubles.

Add comment


Security code
Refresh

Comments   

0 #2 RE: ASUS EA-AC87Maxim Klimanov 2017-02-15 14:54
Hello! As far as I remember you can connect up to five wired devices regardless the mode you've chosen.
Quote | Report to administrator
0 #1 RE: ASUS EA-AC87guestZ 2017-02-15 07:54
You wrote that one strength is "Gigabit Ethernet switch with five ports".
But is this also on AP Mode, I mean can I connect wired devices and not only WLAN devices on AP Mode? When I read other reviews, they always says, that AP Mode is for WLAN but don't mention if the four free ports can also be used for wired devices.
Quote | Report to administrator
Found a typo? Please select it and press Ctrl + Enter.