What's new
  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

ASUS RT-AC87U design flaw?

tim

Regular Contributor
I have been looking at all the information I can find about the RT-AC87U.
TBH it's a bit of a "Frankenstein" design the way the Broadcom and Quantenna chips are put together.

But what caught my attention is this:

The RGMII connection means the 5 GHz radio's maximum 1733 Mbps raw PHY rate is ultimately limited by a Gigabit connection back to the main processor, which handles WAN / LAN routing. And since the Quantenna-dedicated port also connects via RGMII, it too is limited to Gigabit speeds.

So you have 1 x Gigabit port plus 5Ghz radio (with (theoretical) throughput of 1733Mb/s) using a single 1Gb/s RGMII connection back to main processor.
So if you start a large file copy using LAN1 over to LAN2/3/4 does the 5Ghz throughput drop? or LAN1 to LAN2/3/4 throughput drop? Could this impact HD streaming over 5Ghz?

What do you think?
 

Attachments

  • asus_rtac87u_asus_block_diagram.jpg
    asus_rtac87u_asus_block_diagram.jpg
    61.5 KB · Views: 905
Last edited:
I have been looking at all the information I can find about the RT-AC87U.
TBH it's a bit of a "Frankenstein" design the way the Broadcom and Quantenna chips are put together.

But what caught my attention is this:



So you have 1 x Gigabit port plus 5Ghz radio (with (theoretical) throughput of 1733Mb/s) using a single 1Gb/s RGMII connection back to main processor.
So if you start a large file copy using LAN1 over to LAN2/3/4 does the 5Ghz throughput drop? or LAN1 to LAN2/3/4 throughput drop? Could this impact HD streaming over 5Ghz?

What do you think?

If you search the forum you will see a pretty lengthy discussion people had about this a few months ago.

Keep in mind that 1733 Mb/s is the PHY link rate between the client and the router. The actual throughput is not even close to reaching 1 Gbps, so is well within the link's capacity.. This is why, for instance, a 2x2 802.11ac USB 2.0 client is still able to reach full performance despite the USB 2.0 port rate capping at 480 Mbps.
 
I will try find the original discussion.

The point I'm trying to make is that LAN1 traffic could saturate the RGMII link over to the BCM4709A side. Add in the 5Ghz radio traffic and something has to give.

Edit : Found it http://forums.smallnetbuilder.com/showthread.php?t=18742&highlight=ac87u+rgmii&page=7

Why did ASUS include the RT8211E 1Gb interface and expose it to the LAN? If you have a wired connection to that LAN port, one runs the risk of saturating the RGMII interface back to the BCM core switch, and starving the QRS 5GHz radio - I would not have done this.
 
Last edited:
I'm not a professional in this area, but may i suggest one possibility?

In terms of design flaw, even if there is, most probably the information about the temperature at which the quantenna chipset will malfunction was unknown. Hence when designing the product, the usual common temperature at which most chipset will fail was assumed.

Thus when the fact that the quantenna chipset fails at a lower temperature, the failure contributed to a hardware flaw.

I read about how quantenna did not supply this information to manufacturers and thus i propose this idea to be one of the many possibilities out there..
 
i was looking at the design as well since i was planning to get one but it seems disappointing. The first problem is that we cant see the stats of the quantenna CPU such as temperature, CPU usage or even make a quad core of some sorts. Even if the quantenna CPU uses an incompatible binary its still possible but complicated to the OS although instead of a true quad core design you can assign some tasks to the broadcom and some tasks to the quantenna CPU ( the programs must be binary compatible though to run on a particular CPU) other than just networking. Example would be firewall or even malware protection.

The RGMII interface is limited to 1 Gb/s but is bi directional. This means that AC wireless is shared with LAN 1 and it is possible to use 80% of AC wifi bandwidth synthetically but only 50% practically.

For comparison
Heres a block diagram of the CCR i use
http://i.mt.lv/routerboard/files/CCR1036-8splus-diagram-140327102650.pdf
block diagram of the CPU itself
http://www.tilera.com/sites/default/files/productbriefs/TILE-Gx8036_PB033-02_web.pdf
The hardware acceleration is for encryption but it does things at really fast speeds. Its too bad mikrotik didnt make their OS to run other things on their OS because facebook runs firewall and part of their webserver on PCIe cards with TILE CPUs. If you search for more info about the TILE CPUs you'll see what i mean. TILE also have released their CPUs in PCIe cards with ram slots and SFP+ ports and also as servers powered entirely by their CPU with lots of network ports and PCIe x16 Expansion in a 1U chassis and have a 288 core variant using 8x their GX36 CPUs.

Looking at
https://wikidevi.com/wiki/Broadcom and
https://wikidevi.com/wiki/Quantenna
The quantenna chip doesnt have any faster bus than the RGMII. The broadcom could've used its other PCIe to connect to the chip but the chip doesnt have a compatible interface. The fault would be on the quantenna chip and not the broadcom. I think ASUS connecting the quantenna to LAN1 was on purpose so you could directly transfer data from LAN1 to 5Ghz WLAN effectively. By using the RGMII interface 5Ghz to the other LAN ports actually use less CPU since the CPU doesnt have to bridge them. By using that CPU in between the quantenna does the bridging between wireless and wire because wireless isnt compatible with ethernet directly for it to be switched.

Also wifi chips are sensitive and damage easily from temperature unlike CPUs that are much tougher because they can be entirely silicon. So this may not netirely be a flawed design and i might consider getting one and avoiding LAN1 unless you want dual WAN. It just means you can have a WAN on LAN1 and have the quantenna CPU do the work perhaps or just dedicate that WAN to 5 Ghz?
 
Last edited:
@System Error Message

Excuse my ignorance, but can you expand a bit on the "entirely silicon"? Aren't wifi chips "entirely" silicon as well?
 
nope, its all to do with how radio works. At high temperatures the radio signals within metals get distorted. The fact is radio is actually analog so the radio part is analog but just sampled at a high bit rate. The same goes for DSL too. To recieve a radio you first vibrate at the same frequency of the signal in terms of electricity and you cant do that with silicon because silicon is a semi metal. Copper which is fully metal is used as an antenna.

If the heat in a wifi chip is hot enough it can melt and change the metal inside. Its not really that the temperatures seem high but the heat energy within the chip can make the temperatures at certain spots high. This is true that inside CPUs some parts are hotter than others which is why the max safe temperature of CPU is 100C when it takes more than 200C to damage them because the heat is not evenly distributed. Also different materials have different heat capacities. Metal heat capacities are low which is why they make good heat conductors.

If the thermometer for wifi chips are placed right and the chip is small than 50C is totally fine but if any of the heat stays for a long time the metal gets a lot hotter and it starts distorting signals. This is why too much traffic can sometimes cause a wireless router to drop a wifi connection if the router isnt properly cooled (assuming bandwidth limit isnt reached). This usually happens to a lot of non-premium consumer routers like those lower end ones given out by ISPs but high end premium ones arent immune either.
 
Last edited:
i was looking at the design as well since i was planning to get one but it seems disappointing. The first problem is that we cant see the stats of the quantenna CPU such as temperature

Sure you can, see the various posts about this. The SoC contains both the CPU and the 5 GHz radio, so it's the same temperature.

Even if the quantenna CPU uses an incompatible binary its still possible but complicated to the OS although instead of a true quad core design you can assign some tasks to the broadcom and some tasks to the quantenna CPU ( the programs must be binary compatible though to run on a particular CPU) other than just networking. Example would be firewall or even malware protection.

Not really. First, each CPU runs its own OS. Code running on the BCM4709 has no way of doing anything with the QSR1000, and vice-versa. Also, architecture is completely different - it's no more possible for a binary to run on both that it would be for a single binary to run on your router and your x86 PC. Also, each CPU has its own RAM.

Finally, the ARC700 CPU is nowhere near the performance level of the Cortex A9 used by the BCM4709. The 64 MB of RAM available to that CPU, combined with its low performance make it unsuitable for any task that is currently handled by the BCM4709.


The quantenna chip doesnt have any faster bus than the RGMII. The broadcom could've used its other PCIe to connect to the chip but the chip doesnt have a compatible interface. The fault would be on the quantenna chip and not the broadcom.

That's not true. The QSR1000 can be connected through either RGMII or PCIe, and the Quantenna SDK supports both types of interfaces. The Netgear R7500 for example uses a PCIe interface to interconnect the Qualcomm and the Quantenna SoCs.
 
This is my current temperatures :

ASUSWRT RT-AC87U_3.0.0.4 Mon Jan 12 03:10:08 UTC 2015
admin@RT-AC87U:/tmp/home/root# qcsapi_sockrpc get_temperature
temperature_rfic_external = 0.0
temperature_rfic_internal = 56.3
temperature_bbic_internal = 60.0
admin@RT-AC87U:/tmp/home/root# cat /proc/dmu/temperature
CPU temperature : 70C

I have attached the router on the wall and have 15 cm distance to the wall so that the hot air out can better circulate and no problems with the router
 
Hello
How you reached as low temp on CPU ? You are use a thermal pad? If yes please write how (manufacturer) ?
Maybe you have screen ?
 
Not really. First, each CPU runs its own OS. Code running on the BCM4709 has no way of doing anything with the QSR1000, and vice-versa. Also, architecture is completely different - it's no more possible for a binary to run on both that it would be for a single binary to run on your router and your x86 PC. Also, each CPU has its own RAM.

Agree...

The way I look at the 87U - it's a Broadcom 2.4GHz AP/Router with a QTN AP loosely coupled on the HW side.

Finally, the ARC700 CPU is nowhere near the performance level of the Cortex A9 used by the BCM4709. The 64 MB of RAM available to that CPU, combined with its low performance make it unsuitable for any task that is currently handled by the BCM4709.

I wouldn't say it's 'slower' - I would suggest however, that it's very different from what folks have seen in other chipsets (ARM or MIPS).

To put things into context - Consider AMD's R9 Fury GPU (one of their most recent) - it's only clocked at 1GHz, and compare that to an Intel i7-4790 (Haswell) at 3.6GHz - they're both very fast chips, and on certain tasks one will be much faster than the other... all depends on the design intent and work to be done...

The ARC700 in the QSR1000 is more like a DSP or GPU compared to the ARM Cortex-A9 CPU cores in the BCM4709 - I'm sure that QTN looked carefully at all their options for Cores, and the ARC700 was probably the right fit for them.
 
To put things into context - Consider AMD's R9 Fury GPU (one of their most recent) - it's only clocked at 1GHz, and compare that to an Intel i7-4790 (Haswell) at 3.6GHz - they're both very fast chips, and on certain tasks one will be much faster than the other... all depends on the design intent and work to be done...

The ARC700 in the QSR1000 is more like a DSP or GPU compared to the ARM Cortex-A9 CPU cores in the BCM4709 - I'm sure that QTN looked carefully at all their options for Cores, and the ARC700 was probably the right fit for them.

I don't think the two chips are as different as a CPU vs a GPU. The ARC700 does run a Linux kernel, with everything associated to it. It's not a DSP, it's a fully functional CPU - just one aimed at low-power applications.

Some details on it: http://www.synopsys.com/IP/ProcessorIP/ARCProcessors/ARC700/Pages/default.aspx

And the kernel-dumped info from the QTN side of the RT-AC87U:

Code:
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

Code:
quantenna # uname -a
Linux soc1 2.6.35.12 #2 Tue Apr 21 18:16:18 CST 2015 arc unknown

The bogomips alone should indicate how pointless it would be to offload any code from the BCM4709 into it (they're not even remotely close).
 
Last edited:
The bogomips alone should indicate how pointless it would be to offload any code from the BCM4709 into it (they're not even remotely close).

I didn't say it wasn't a CPU or that it was a DSP or GPU, it's a CPU that has a lot of qualities that makes it similar to a DSP/GPU type of architecture - it's not computing a lot of random instrutions very quickly, it's more of a throughput processor...

BogoMips don't mean much - and with the clock running at 500MHz, I would expect the loop count to be low... Bogomips are there to calibrate timing loops, not to indicate how powerful a processor is.

Code:
static void delay_loop(long loops)
      {
           long d0 = loops;
         do {
                --d0;
              } while (d0 >= 0);
       }


Kudos to both QTN and Asus for sticking with it and working to resolve things.

I wouldn't even consider trying to offload any of the Broadcom SDK code onto the QTN, better to just leave it along ;)
 

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Back
Top