Date: Mon, 10 Dec 2012 02:50:24 -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-VmomBso2Y=OTRM_Au0Cv%2BU7WfKHk=aVOVcEPXGHWk-u1vnQ@mail.gmail.com> In-Reply-To: <CAJ-Vmo=1dXkK5Sem0Cg2uc0dKkwwdvAfm-_FNaVShZHMvgjy-Q@mail.gmail.com> References: <201210180934.48741.jhugo@meraka.csir.co.za> <CAJ-Vmo=1dXkK5Sem0Cg2uc0dKkwwdvAfm-_FNaVShZHMvgjy-Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Ok, wow. I think I finally understand the level of "huh?" going on here. When a new BSS is created, everything now works out great. It creates a BSS, the channel is promoted to 11n correctly, it gets the 11n IE's populated, etc. When you're joining a BSS however, it doesn't do any of this. adhoc_pick_bss() calls ieee80211_sta_join() to the BSS, which populates a vap node to that peer with a very, very bare minimum config. There's no HT info there at all. But since it's done the basic node setup, the normal discovery path (ie, BSS RX, BSS beacon RX) doesn't see this particular node as a 'new' node. Now, I hacked up the HT rate and node setup into adhoc_pick_bss() to setup the BSS node like this and it works; enough to have both sides setup the MCS rate tables and negotiate 11n right. They don't successfully negotiate ADDBA, but that's some funny race crap I'll deal with later (I'm doing it all on a single laptop with two ath NICs, using vimage. Yes, evil.) Anyway. I think I'm getting slightly closer to making 11n adhoc mode work. I may need some help (Bernhard?) on figuring out a cleaner way to "join" an existing BSS, instead of how it's currently done. Also, Bernhard - why don't we do all the IE setup in ieee80211_sta_join() ? Thanks, Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomBso2Y=OTRM_Au0Cv%2BU7WfKHk=aVOVcEPXGHWk-u1vnQ>