From owner-freebsd-wireless@FreeBSD.ORG Tue Oct 23 21:52:44 2012 Return-Path: Delivered-To: freebsd-wireless@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 266B54ED for ; Tue, 23 Oct 2012 21:52:44 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pb0-f54.google.com (mail-pb0-f54.google.com [209.85.160.54]) by mx1.freebsd.org (Postfix) with ESMTP id E72B98FC08 for ; Tue, 23 Oct 2012 21:52:43 +0000 (UTC) Received: by mail-pb0-f54.google.com with SMTP id rp8so804922pbb.13 for ; Tue, 23 Oct 2012 14:52:43 -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 :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=FT3aeG8RVfpJ35vlg1Q8BjKLrgNTetiAtVUDQzMl6/M=; b=ZRYLfcT4U9erxGeoKlchj9y6XL6AVWkrvJSBPSh9rdcpSIRh4WoIvBsL4POlYROq9/ eHiuheYnbAX24O9cadvTPLwBbxloBC8PcDinPv66cvx7WvJy1migQiuUu/E838UyKL6n gNFFt4fFfEgsb029xPoHW7MiZXyrPkDME8qN1PigJ3cJYYDKSg4rQUPN0P6oi9P4aDH6 8kgOiBXEbV1SHEKsrfLzjnreGuIoST93//mDD0aR3VUUmSdY8GToonwgXVeEVxDzKyRA BY7tMzdfeq5D2aoVSoBev6FAfsfr3BjuYk1+Iln0PXL8zf388FFbhTbu5S56NG/o9ck7 up1A== MIME-Version: 1.0 Received: by 10.66.74.40 with SMTP id q8mr38769614pav.29.1351029163455; Tue, 23 Oct 2012 14:52:43 -0700 (PDT) Sender: adrian.chadd@gmail.com Received: by 10.68.146.233 with HTTP; Tue, 23 Oct 2012 14:52:43 -0700 (PDT) In-Reply-To: <50870C2C.1030708@gmail.com> References: <201210222000.q9MK01pm089451@freefall.freebsd.org> <201210231231.12237.jhugo@meraka.csir.co.za> <50870C2C.1030708@gmail.com> Date: Tue, 23 Oct 2012 14:52:43 -0700 X-Google-Sender-Auth: zLk6qrDLmSSI_Rv-zAvzq156_8M Message-ID: Subject: Re: misc/172955: [ath] 11n does not work in adhoc mode From: Adrian Chadd To: Chuck Burns Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-wireless@freebsd.org X-BeenThere: freebsd-wireless@freebsd.org X-Mailman-Version: 2.1.14 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: Tue, 23 Oct 2012 21:52:44 -0000 On 23 October 2012 14:29, Chuck Burns wrote: > I could be mistaken, but I was under the impression that adhoc only > supported B or G speeds, and that if you wanted N speeds, you have to use > STA rather than ADHOC. I don't see why that is. > I've heard this discussion outside of relation to FreeBSD, so I know it's a > well-discussed issue. I also think I remember reading something about > certain chipsets supporting 11n in ADHOC mode, but only when connecting to > other chipsets. I think it was MAYBE an atheros chipset, but I don't really > remember -exactly- what I read, or where it was... I doubt there's a problem with it in the specification. I am guessing that ADDBA/DELBA will go between adhoc nodes as per normal. But I've not read the spec to see how it should work. In any case I don't see why we can't do 11n rates (with no aggregation.) The fundamental problem here are: * that we're not at all parsing the HT fields in the IBSS beacons; * the default channel lookup doesn't seem to find ht20/ht40 channels; only 11a/11bg. I had to manually configure one end to be 6:ht/40 for it to come up; then it advertised HT fine. > Here is a linux ath9k forum post regarding it: > http://comments.gmane.org/gmane.linux.drivers.ath9k.devel/2660 Seems to > indicate that 11n in ADHOC isn't supported there either.. Sooo.... That thread just says "it doesn't work, no reason why it shouldn't." All the basic code is there. What we're missing is the glue that parses the WMM, HTINFO and HTCAP fields, then uses that when configuring up the rate control to the new node. I just haven't sat down and figured out how the IBSS node "learning" works. It discovers neighbors via hearing beacons BUT it doesn't use the normal path for setting things up. The STA side does it via association responses rather than beacons. It updates the WMM/HTINFO/HTCAP fields during beacon RX, but it actually uses the probe response to configure things. Adrian