Client mode, multiple antennas, MIMO, LEDE, overview needed

Hello, I'm looking for either a better forum in which to ask these questions, or answers if this is a good place. I've searched the internet and can't seem to get the search terms correct. I have a quad antenna router running LEDE in client mode and am trying to understand more how the antennas work in client mode and how MIMO and multiple antennas work in general under LEDE, especially in client mode.

How does LEDE leverage the multiple antennas? If only one antenna is used for client mode wireless WAN connection, at what point in the boot process is antenna selected and how is it selected? I'm assuming it would be at time of association as how else would the best antenna be selected? How would one trigger a re-selection from the command line without rebooting? Currently I trying ifconfig'ing the wlan interface down, then back up, but given I don't know how to tell which single antenna, if any, has been selected for the client mode WAN uplink, I'm not sure this is doing what I think it is doing.

Or maybe I'm missing the entire picture and a single antenna isn't selected as I'm used to and somehow MIMO is used in client mode to make use of all the antennas to zero in on the gateway AP; in which case can the antennas be relocated relative to each other without messing up the MIMO function?

More generally, and less dealing with my specific issues, I'm curious how LEDE interacts with MIMO, if at all. Is there any info in proc or sys that gives a view into the MIMO process? How does the radio hardware know which signal is of interest and how does the firmware fit into this. I assume that associated connections are used somehow, but is this all under the hood with no need for LEDE to deal with the details, or does LEDE have to fill in some blanks on the fly for the hardware on a connection by connection basis?

I know this a wagon load of questions here but I'm trying to wrap my brain around the general layout as at this point and I don't know enough to be more specific :slight_smile:

Any specific answers with regards to LEDE, client mode, multiple antennas are very welcome and of course any pointers to other forums and threads that are better locations for this question are welcome and appreciated

[edit] I am working with a Linksys WRT1900ACS for those interested

I think you have a misunderstanding of how wireless devices work.

The questions that you're asking should be directed to the manufacturer of the WiFi hardware. There's nothing LEDE specific (or OS-specific) to MIMO technology.

  • Are you trying to reconfigure the hardware radio or something? (this is illegal in most countries)
  • Are you experiencing an issue with LEDE and WiFi on your WRT1900ACS?

At a high level, when you have multiple antennas you have multiple samples of the signal being sent from the client. The hardware makes a decision about how best to "add up" those samples to get the best total signal to "listen" to. It is not an OpenWRT decision. This is typically done within the hardware with an "adaptive filter" or "adaptive beamformer" that constantly monitors the received signal and adjusts how that addition is being performed (to maximize SNR or minimize BER, often on a client-by-client basis). It's not new technology, by any stretch, but more that chip technology has made it cheap enough for consumer-grade devices. It is the combination of antennas, each with their own RF chain, that makes this valuable, not a choice of which antenna to use.


lleachii wrote: I think you have a misunderstanding of how wireless devices work.

I have a fairly good understanding of how old openwrt used to allow antenna selection using nvram. I don't have a good understanding of how antenna selection occurs now in newer version. Thus the question. Is that clearer?

lleachii wrote: The questions that you're asking should be directed to the manufacturer of the WiFi hardware. There's nothing LEDE specific (or OS-specific) to MIMO technology.

  • Are you trying to reconfigure the hardware radio or something? (this is illegal in most countries)

No, I am not

lleachii wrote: * Are you experiencing an issue with LEDE and WiFi on your WRT1900ACS?

Why are you even replying?

Because I studied Computer Engineering Technology and I'm quite familiar with WiFi radio equipment.

and you're talking about antenna selection on a single-antenna system

Also, it's easier to follow you when you don't combine my quotes with your responses.

The WRT1900ACS has four antennas

Correct, RAN BY MIMO.

This type of selection was done on older routers WITHOUT MIMO (i.e. left/right tx/rx selections).

Did you even read the OP? That is my entire question. How does the new multiple antenna MIMO'd router fit into diversity and such. I'm trying to catch up and you don't seem to really want to help. I am not forcing you to help. I want to understand how MIMO has affected how the firmware works with multiple antennas. If you just want someone to kick around, go elsewhere

I did read you OP, that's why @jeff and I both answered you.


Please don't insult those who take time to answer you.

Hope this helps.

If you looking for an answer that starts with "OpenWrt handles diversity by..." then you're missing what's being told to you.

Thanks Jeff, that is what I suspected. But then I saw posts on this site about how MIMO wasn't yet fully supported in drivers on linux so wasn't necessarily working under LEDE. They may have been old posts, I was skimming for other info and just noted them

So MIMO works out of the box under LEDE as an AP and also in client mode? There is no more automatic diversity type selection of the "best" antenna? So if I want to get a better path from my client router to my upstream AP I need to have all 4 client antennas up with good LOS, not just one? I'm learning/confirming a lot here, thanks for the reply :slight_smile:

That goes both ways

1 Like

MIMO technologies solve LOS issues and factors multi path. That's why its enabled in hardware. To be clear: no selector.


Cool down guys, please :slight_smile:

@MartyG - the traditional wl_txant, wl_rxant nvram variables or how they were called do not exist anymore and only apply to old pre-N era equipment. There is some very limited control over the used antennas exposed in MAC80211, as shown by the iw help output:

$ iw | grep ant
	phy <phyname> set antenna <bitmap> | all | <tx bitmap> <rx bitmap>

These options are also available in uci, as option rxantenna and option txantenna in /etc/config/wireless, section wifi-device. Note that these options are bitmaps specifying the antennas allowable to use, not specific antenna numbers.

You can obtain information about the hardware antenna chains using iw phy which will display something like:

	Available Antennas: TX 0x3 RX 0x3
	Configured Antennas: TX 0x3 RX 0x3

The example above tells that my radio is a 2T2R stream device (0x3 = 1 1).

Not all drivers will respect the antenna settings though as sometimes the steering is done entirely in hardware (or closed firmware).

1 Like

In some cases, there is not sufficient technical information released under licensing terms that are compatible with Linux (or other OS licensing) to "legally" access the features within the hardware. Broadcom is a notable example of "closed source" drivers that many times end up performing better with the OEM firmware than with third-party firmware.

With current-generation hardware, you basically set it up and let it handle the RF chains and antennas.

One thing that will help is that the more "different" the antennas are, the more likely you'll get benefits. With two/three/four antennas all sticking straight up and parallel to each other, they all receive/transmit about the same signal from a given point (as they're "close" to each other, compared to the 2.4 GHz wavelength of ~125 mm / 5"). While it may not be aesthetically pleasing, setting them at right angles to each other can provide benefit. For example, one tilted to the left at 45°, one to the right at 45°, and one horizontal, might give you some improvement. Even just a moderate tilt of each of them may be enough to help.



This is gold, thanks jow. I'll explore and see if, for the short term, I can disable the antennas I don't have extended and order extension cables for the other 3 ants and get them all up in good LOS. I don't have the option of putting the router itself in good LOS

This is perfect actually. The LEDE client is on a sailboat that goes up and down with the tide 4+ feet and wanders around in a slip quite a bit so directionals are out, but extended mount points for antennas are plentiful

Be careful with adding feed lines, if that is what you're thinking of. You're likely to lose a couple dB with a couple meters of feed line and offset any gains you might get. Be prepared to spend US$30-50 per feed line (6' length) with quality connectors and low-loss cable that covers 2.4-5 GHz. I'd recommend at least LMR240, or better. Most of the things you find on eBay is going to be a net loss.

For a quick introduction, see

RG-58/U is going to be ~30 dB/100' (~3 dB/10') at 2.4 GHz, ~50 dB/100' at 5 GHz -- typical eBay cable (then plus connector losses)

LMR240 is going to drop that to ~13 dB/100' at 2.4 GHz, ~23 dB/100' at 5 GHz

LMR240-UF (Ultraflex) is a "softer" cable than LMR240, which is pretty stiff, even though 1/4" diameter. If you don't have experience with RF cable assembly and the tooling, purchasing custom cables is signficantly cheaper than buying the proper crimper and dies.

1 Like

Understood. I'm on firm ground in that level of understanding. I worked HF/UHF discrete component level radio repair in the USAF way back when and worked as a field tech for NomadISP and TengoInternet for 5 years in the pre-MIMO era (thus the gap in my knowledge). The nodes nomad and tengo used were all openwrt based and I spent a lot of time at shell prompts adjusting nvram parms and such while up on a ladder (all nodes colocated with antennas). I figure at least 1dB per connection, then more loss per foot given type of cable and freq involved. But in this situation extensions are the way to go

Cool, sounds like you understand the consequences of feed line losses. If it's a situation where you can get the antenna outside of a lossy enclosure, then you have a good chance of getting ahead of things.

is a quick way to figure out the losses for the Times Microwave cables.


Looks like the ants on this Linksys WRT1900ACS are locked away, so extensions is for sure.

root@spork:~# iw phy phy1 set antenna all
command failed: Not supported (-95)

Thanks for the solid help guys, apologies for any friction, and much appreciated!

1 Like