It was pretty interesting that Asus engineers got it to work at all...
Quantenna had always intended that SoC to be used that way. Their SDK explicitly provided an RPC API so the host side (running Asuswrt) could interface to manage and configure the Quantenna side (which was running on their own CPU, an ARC 700 running at 500 MHz). Their API library was very well documented BTW, and entirely open source. Kudos to Quantenna for that.
Quantenna provided two ways to connects the two: either over PCI-E, or over RGMII. Asus chose the latter (while Netgear picked the former), which had a few drawbacks, one of them being a 1 Gbps bottleneck between the Broadcom/Asuswrt routing side and the Quantenna wifi/networking side. That single gigabit link had to carry the 4 streams 5 GHz traffic, and also the LAN traffic between the Broadcom and the Realtek extra switch (if I remember correctly, my memory might be wrong on that Realtek part).
The QTN SOC also suffered from a few issues:
1) MU-MIMO got implemented and delivered 1-2 years later than initially intended post-release.
2) The RGMII design required more power, and was more prone to temperature issues if I recall what a QTN engineer mentioned once
3) There were a few major bugs over time with the wifi driver, where things broke down specifically with Android clients if I remember correctly. Both Asus and QTN engineers worked together for quite some time to track down and address this issue.
At the time, I remember mine had a slightly more limited range than the usual Broadcom SOC, but I was getting pretty good throughput from it with a dual stream client.
It was a quite interesting design which at the time served a purpose (they would initially be first to market with a working MU-MIMO implementation, and also I believe they were offering 4 streams while BCM were still only offering 3 streams max).
Asus planned to release another router based on the Quantenna new 10G SOC, but that plan never made it to market. Some remnants of this projet can still be seen here and there within Asuswrt's code.
Fun fact: the initial RT-AC87U I received from Asus was a bare pcboard, as they were in the process of redesigning the case. For a while, my main router was that bare pcboard sitting on an antistatic bag, in my living room. Sadly, I eventually killed it by accidentally overwriting the CFE while trying to erase the JFFS partition. That early batch also used white LEDs while the final release used blue LEDs.
Some HW info I have in my old notes:
Code:
# telnet 169.254.39.2
Entering character mode
Escape character is '^]'.
soc1 login: root
BusyBox v1.10.3 (2014-06-13 11:12:36 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
quantenna # uname -a
Linux soc1 2.6.35.12 #2 Fri Jun 13 11:20:34 CST 2014 arc unknown
quantenna # cat /proc/cpuinfo
Processor Family: ARC 700 [0x33]
CPU speed : 500.00 Mhz
Timers: TIMER1 TIMER0
Interrupt Vect Base: 0x88026800
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
It was the last time I would have called a router design "interesting".
