Can we obtain higher wireless link throughput by abusing 802.11 radios to form unidirectional simplex pipes?

Adrian Chadd adrian at freebsd.org
Wed May 21 20:08:46 UTC 2014


Hi,

Yes. There's nothing really stopping you from doing this. You can just
associate in both directions and then only send data out one link.

Now, having the nic be _transmit only_ and the other nic be _receive
only_ is a little tricky, as there's a bunch of 802.11 negotiation
stuff that's going on that really assumes it's happening on a single
VAP. The net80211 code could be hacked to transmit things out a
different device - ie, one VAP has a transmit device and a receive
device. You'd have to turn off things like hardware ACK, hardware
RTS/CTS, etc. But it's doable.




-a


On 21 May 2014 11:39, Richard Yao <ryao at gentoo.org> wrote:
> Dear Everyone,
>
> I recently read about Ubiquiti’s AirFiber hardware and noticed that its link efficiency is remarkable. Air Fiber’s link speed is about 770Mbps up and 770Mbps down (a 1:1 split). People are reporting benchmarks that show 700Mbps throughput over miles. The link efficiency is therefore in the range of wired ethernet, which typically obtains iperf results in the range of 85% to 95%. So far, all benchmarks of WiFi that I have seen never touch 1/e or roughly 37% efficiency.  A few have come rather close to 1/e though.
>
> The 1/e number is significant because I am told that it is the theoretical limit on the efficiency of wired ethernet when a there is a shared collision domain on a coaxial cable. After reading about how the Air Fiber hardware works, I hav suspicion that its link efficiency can be replicated between two computers with off the shelf Wi-Fi hardware by abusing the radios via the kernel driver. In specific, you would have two systems, each with two radios on different frequencies. I will call each system A and B and refer to their radios as indices into an array. e.g. A[0] and B[1].
>
> Much like the AirFiber, I envision node A as having A[0] be transmit-only on the frequency that B[0] uses (frequency 0) with B[0] being receive only. Similarly, I envision node B as having B[1] be transmit-only on the frequency that A[1] uses (frequency 1) with A[1] be receive only. The kernel driver is to instruct the WiFi hardware to ignore everything about the 802.11 protocol possible (e.g. RTS is to be ignored), send frames when given a packet (in send mode) and receive forward frames when hearing a packet (in receive mode). No radio in send mode is to listen to packets and no radio in listen mode is to send packets. The radios would be attached to directional antennas and frequency 0 != frequency 1.
>
> I asked Adrian Chadd about this in IRC. He replied that it is possible to hack the driver to obtain tight control over when 802.11 frames are received/sent, but doing something like this would require oscillator isolation and baseband RF isolation. He also asked that I send my question to the list, so here it is.
>
> How doable is this with off the shelf hardware? Could simultaneous dual-band equipment be abused to obtain the proper isolation (where 2.4GHz is 1 direction and 5GHz is another)? Would it be reasonable to expect wireless throughput to achieve 90% of the link speed in this configuration?
>
> Yours truly,
> Richard Yao
>
> P.S. I am not on the mailing list, so please include me on CC.
> _______________________________________________
> freebsd-wireless at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
> To unsubscribe, send any mail to "freebsd-wireless-unsubscribe at freebsd.org"


More information about the freebsd-wireless mailing list