Date: Sat, 04 Feb 2012 12:05:01 -0800 (PST) From: "Waitman Gobble" <uzimac@da3m0n8t3r.com> To: Adrian Chadd <adrian@freebsd.org> Cc: freebsd-wireless@freebsd.org Subject: Re: [net80211] support vendor bitmap entries; teach if_ath to export PHY error code in error frames Message-ID: <1328385901.53012@da3m0n8t3r.com> In-Reply-To: <CAJ-VmonSrcSQmZeENgH1fagnn6DOMhX6rC-n9=dOtypTabcSLg@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --bound1328385901 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Adrian Chadd <adrian@freebsd.org> wrote .. > Hi, > > As part of my radar project, I'm going to try and teach the BSD/Linux > ath driver and radiotap API about vendor extensions and implement a > (reasonably) well documented way to expose what I need. > > The driver already exports the whole PHY error frame payload via > radiotap and you can select which PHY error types are passed up by > setting bits in the dev.ath.X.monpass sysctl. The trouble is the PHY > error code isn't exposed so it currently isn't possible to know > whether its a data or a PHY error frame. > > This patch is a WIP and implements what I need. In short: > > * The net80211 radiotap code doesn't know about vendor extension > bitmap(s), so there's currently no way to take those into account when > calculating the channel state offset in the header. Since the radiotap > code directly writes into that (rather than have the driver do it per > frame), adding any vendor bitmaps does mess things up quite a bit. > > * define a vendor attribute in if_athioctl.h - this should move to > ieee80211_radiotap.h at some point. > > * Add fields to the ath RX radiotap struct, which includes the vendor > bitmap, vendor attribute and the vendor payload. > > * Add a vendor payload, which includes the Atheros OUI and the RX > status + PHY error code. > > With this, userland tools can be built to read the radar and spectral > scan PHY error frames in userland. It makes prototyping code much, > much easier. > > What I'm going to do to this: > > * Move the vendor attribute definition into ieee80211_radiotap.h; > * Finalise on the Atheros vendor attribute layout. It doesn't match > what is used in the reference driver but I'll use different vendor > bitmap/namespace bytes, so things won't clash. > * Document the new ieee80211_radiotap_attachv() and why it exists. > > I'd appreciate some feedback. > > Thanks! > > > Adrian I added the patch and rebuilt the kernel, but I'm not sure what kind of feedback you are looking for. Please advise :) Thanks, -- Waitman Gobble San Jose California USA --bound1328385901--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1328385901.53012>