Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 21 May 2014 13:08:44 -0700
From:      Adrian Chadd <adrian@freebsd.org>
To:        Richard Yao <ryao@gentoo.org>
Cc:        "freebsd-wireless@freebsd.org" <freebsd-wireless@freebsd.org>
Subject:   Re: Can we obtain higher wireless link throughput by abusing 802.11 radios to form unidirectional simplex pipes?
Message-ID:  <CAJ-VmomVZdsQzkXggKEv6u2V=qrRAf1FDH2aUes7Ueiz8k6-mg@mail.gmail.com>
In-Reply-To: <F205F041-2D59-4E9D-830E-09AD46E0F09E@gentoo.org>
References:  <F205F041-2D59-4E9D-830E-09AD46E0F09E@gentoo.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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@gentoo.org> wrote:
> Dear Everyone,
>
> I recently read about Ubiquiti=E2=80=99s AirFiber hardware and noticed th=
at its link efficiency is remarkable. Air Fiber=E2=80=99s link speed is abo=
ut 770Mbps up and 770Mbps down (a 1:1 split). People are reporting benchmar=
ks that show 700Mbps throughput over miles. The link efficiency is therefor=
e 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 ne=
ver 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 theoretica=
l limit on the efficiency of wired ethernet when a there is a shared collis=
ion domain on a coaxial cable. After reading about how the Air Fiber hardwa=
re works, I hav suspicion that its link efficiency can be replicated betwee=
n 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 frequ=
ency that A[1] uses (frequency 1) with A[1] be receive only. The kernel dri=
ver 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 pac=
ket (in send mode) and receive forward frames when hearing a packet (in rec=
eive mode). No radio in send mode is to listen to packets and no radio in l=
isten mode is to send packets. The radios would be attached to directional =
antennas and frequency 0 !=3D 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 receiv=
ed/sent, but doing something like this would require oscillator isolation a=
nd 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-b=
and equipment be abused to obtain the proper isolation (where 2.4GHz is 1 d=
irection and 5GHz is another)? Would it be reasonable to expect wireless th=
roughput 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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-wireless
> To unsubscribe, send any mail to "freebsd-wireless-unsubscribe@freebsd.or=
g"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomVZdsQzkXggKEv6u2V=qrRAf1FDH2aUes7Ueiz8k6-mg>