Date: Mon, 10 Dec 2012 00:22:22 -0800 From: Adrian Chadd <adrian@freebsd.org> To: Johann Hugo <jhugo@meraka.csir.co.za> Cc: freebsd-wireless@freebsd.org Subject: Re: 11n in adhoc mode Message-ID: <CAJ-Vmo=1dXkK5Sem0Cg2uc0dKkwwdvAfm-_FNaVShZHMvgjy-Q@mail.gmail.com> In-Reply-To: <201210180934.48741.jhugo@meraka.csir.co.za> References: <201210180934.48741.jhugo@meraka.csir.co.za>
next in thread | previous in thread | raw e-mail | index | archive | help
Ok, I've started digging into this a bit more. I need to get 11n adhoc working so I can get 11n ahdemo working, so we can actually do 11n TDMA at some point in the near future. There's a whole lot of missing stuff: * ieee80211_add_neighbor() and ieee80211_init_neighbor() don't know about HT at all; they don't populate the HT IEs or 11n rates; * when scanning and choosing a channel to create a BSS on, there are two things: + if it doesn't find an IBSS, it creates one + if it doesn't find an IBSS, it joins that IBSS initially, via whatever is in the scan cache, using the scan cache channel results. Now, I fixed the primary so it does correctly populate the HTINFO/HTCAP IEs; so now the IBSS 11n beaconing does indeed include the TX/RX MCS configuration necessary to do HT/MCS. But the second is the problem - namely, it looks in the scan cache, selects the matched entry (that used a legacy channel, as scanning is done using legacy channels!) then it just calls ieee80211_sta_join() using that. So it always creates a non-HT channel configuration and associates as a non-HT node. Now, if I change adhoc_pick_bss() to adjust the channel to be a HT channel before it goes off and calls ieee80211_sta_join(), it will successfully setup the channel to be an 11n channel and it'll do MCS rates with an 11n peer fine. (traffic throughput sucks and panics though; so it's not all smooth sailing here.) But that raises a big problem: If the first node that a new IBSS device sees is non-11n, will it just assume the BSS is legacy, or will it magically promote itself to 11n/ht20 or 11n/ht40 and continue along merrily? It'd be nice to figure out what the behaviour there should be. Anyway. I'm making a little progress. I'll see if I can figure out why I'm getting panics and crappy throughput when doing traffic tests - I bet the adhoc RX and TX data path doesn't have some 11n related fixes in there and it's messing things up. Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-Vmo=1dXkK5Sem0Cg2uc0dKkwwdvAfm-_FNaVShZHMvgjy-Q>