From owner-freebsd-wireless@FreeBSD.ORG Wed May 21 20:08:46 2014 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 47754B40 for ; Wed, 21 May 2014 20:08:46 +0000 (UTC) Received: from mail-qc0-x22c.google.com (mail-qc0-x22c.google.com [IPv6:2607:f8b0:400d:c01::22c]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 074242B23 for ; Wed, 21 May 2014 20:08:45 +0000 (UTC) Received: by mail-qc0-f172.google.com with SMTP id l6so4019288qcy.17 for ; Wed, 21 May 2014 13:08:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type:content-transfer-encoding; bh=HpI6X5JHKRsZvlIvh5Lhnqbl/qoNr27uHU4K1L7WI6s=; b=FMRtQE/v7I9XpsKanfUA+i5umqw3tIFqOWLUyicKb0cvN3OiFEG/bgDBoTGvywIGfg A45jk6r3dtJo5k/NKi14A3OkS+DhzabJei7X8bv9NfG3zrc2AtBTaT0257l4RjKhqP1O C9XbGleNBgFTyhh5CZiGEMTytraD9qtQsgZq1ZQ1KUr7PQagTRVfeYVwCMN/ZfsU3c5J c4tOUDjM25TgzKWw71xE1RxEDXvbVyj0a+tGWmMkvUDBPs/iBkUUhyAyh5ZYlFI7fT04 JtC1g64/OBDcH06xzrqax/ozXg/Un5rJluW2W7dFuFWh0jpK2/Bc7opLQof8cu8UC2Aq aQVg== MIME-Version: 1.0 X-Received: by 10.140.22.209 with SMTP id 75mr70101925qgn.4.1400702924756; Wed, 21 May 2014 13:08:44 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.224.191.201 with HTTP; Wed, 21 May 2014 13:08:44 -0700 (PDT) In-Reply-To: References: Date: Wed, 21 May 2014 13:08:44 -0700 X-Google-Sender-Auth: FR18QnMrDqmg3hJms9zrEukMSPI Message-ID: Subject: Re: Can we obtain higher wireless link throughput by abusing 802.11 radios to form unidirectional simplex pipes? From: Adrian Chadd To: Richard Yao Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: "freebsd-wireless@freebsd.org" X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: "Discussions of 802.11 stack, tools device driver development." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 May 2014 20:08:46 -0000 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 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"