From: Felix Fietkau <nbd@openwrt.org>
To: Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de>
Cc: linux-wireless@vger.kernel.org, linville@tuxdriver.com,
johannes@sipsolutions.net, ath9k-devel@lists.ath9k.org,
rodrigue@qca.qualcomm.com, zefir.kurtisi@neratec.com,
adrian@freebsd.org, jonbither@gmail.com, jouni@qca.qualcomm.com,
kgiori@qca.qualcomm.com, mathias.kretschmer@fokus.fraunhofer.de,
Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Subject: Re: [RFCv2] Add spectral scan support for Atheros AR92xx/AR93xx
Date: Thu, 13 Dec 2012 18:25:31 +0100 [thread overview]
Message-ID: <50CA0F8B.3060905@openwrt.org> (raw)
In-Reply-To: <20121213140753.GA26868@pandem0nium>
On 2012-12-13 3:07 PM, Simon Wunderlich wrote:
> Hey there,
>
> just to bump the issue again - isn't there anyone here who can answer
> some of these questions?
>
> Adrian gave me some hints, but the FFT format is still completely unclear
> - I would really like to integrate/fix things before bringing this patch(set)
> to the next level.
>
> I'm begging all the Qualcomm/Atheros-affiliated guys on the list to have
> a look on the questions below and help me out here. :)
>
> Thanks a lot!
> Simon
>
> On Thu, Dec 06, 2012 at 05:36:07PM +0100, Simon Wunderlich wrote:
>> This patch(set) is the second iteration of the request for comments for
>> upcoming spectral scan feature. It adds spectral scan control and dump
>> features to debugfs. When the open questions regarding interpretation
>> are answered, I would like to build an interface to nl80211/mac80211.
>> Please see the open questions below, every hint is kindly appreciated. :)
>>
>> This feature has been enabled for AR92xx and AR93xx based chipsets.
>> We've also written a visual evaluation program for these samples (see
>> screenshot [1] and sourcecode [2]).
>>
>> Many details are not known due to the fact that I don't have access to
>> Atheros specifications and details. Many things are done by guessing
>> and might be wrong. I'm therefore requesting help from Qualcomm/Atheros
>> guys to confirm or correct my findings. Apart from that, after
>> discussion I think we could integrate this patchset to allow other
>> people to work on this as well, even if it is experimental now.
>>
>> Questions from my end:
>> 1. There are many TODOs/Comments in the patches regarding details,
>> please answer if you can. :)
>
> See code comments, e.g. regarding phy error type which are not defined
> in the headers, etc.
Here's how to detect usable PHY error reports: Check for PHY error types
RADAR (5), FALSE_RADAR_EXT (24) or SPECTRAL (38). If it's 38, no further
validation is necessary. In the other cases, check the last byte
(bwinfo). If it has bit 4 set, the data is usable for spectral.
>> 2. The output format is very Atheros-dependent. If my finding that
>> byte n-4 is some kind of offset/exponent, I'd integrate this in
>> the debugfs output as well
Here's my understanding of the data format:
HT20:
56 bytes bin magnitude data (8 bits per bin)
3 bytes bin maximum values (see below)
1 byte exponent:
[3:0] - number of bits to shift the magnitude data
HT40:
128 bytes bin magnitude data (64 lower bins, 64 upper bins)
3 bytes lower bin maximum values (see below)
3 bytes upper bin maximum values (see below)
1 byte exponent (like HT20)
Bin maximum values:
Byte 1: [1:0] - max_magnitude[1:0]
[7:2] - bitmap_weight[5:0]
Byte 2: [7:0] - max_magnitude[9:2]
Byte 3: [5:0] - max_index[5:0]
[7:6] - max_magnitude[11:10]
>> 3. The data length varies pretty much, there might be some false
>> positives/PHY errors which are not FFT data - what should be
>> the correct length?
See above.
>> 4. Is there any special handling for HT40? At least the proprietary
>> driver symbol names suggest so [3]
>
> -> this one is solved: yes, there is. it has more FFT bins. Although
> I didn't see that yet (I doubt they are the "small" variations I have seen,
> like up to 4 byte, I'd expect like double frame size).
See above.
>> (Possible) further work:
>> 1. Integrate this patchset, confirm/correct findings
>> 2. If anyone would like: Atheros proprietary driver seems to
>> support some kind of classification [3] (is this microwave? cordless
>> phone? whatever?)
That should be done in userspace.
>> 3. If other devices also offer spectral scan support: define a
>> common interface to use it (not debugfs).
Makes sense. The data should be in an extensible binary format that can
also cover vendor specific extra information. One suggestion would be to
prefix the FFT message data with a netlink-style TLV header describing
the message format (using an enum for data types and an enum for fields,
both of which we can extend if we need to add more data).
That way userspace can use the header to figure out the message size and
can ignore any fields that it does not support.
I hope this helps.
- Felix
next prev parent reply other threads:[~2012-12-13 17:25 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-06 16:36 [RFCv2] Add spectral scan support for Atheros AR92xx/AR93xx Simon Wunderlich
2012-12-06 16:36 ` [RFCv2] ath9k: add spectral scan feature Simon Wunderlich
2012-12-13 14:07 ` [RFCv2] Add spectral scan support for Atheros AR92xx/AR93xx Simon Wunderlich
2012-12-13 17:25 ` Felix Fietkau [this message]
2012-12-13 22:06 ` Simon Wunderlich
2012-12-13 23:04 ` Felix Fietkau
2012-12-14 0:24 ` Tobias Steinicke
2012-12-14 0:30 ` Adrian Chadd
2012-12-16 3:48 ` Adrian Chadd
2012-12-16 4:06 ` Adrian Chadd
2012-12-17 13:22 ` Simon Wunderlich
2012-12-17 18:48 ` Adrian Chadd
2012-12-18 11:08 ` Zefir Kurtisi
2012-12-18 13:46 ` Simon Wunderlich
2012-12-18 16:02 ` Zefir Kurtisi
2012-12-28 3:11 ` Adrian Chadd
2012-12-31 5:33 ` Adrian Chadd
2012-12-31 8:46 ` Simon Wunderlich
2012-12-31 14:38 ` Adrian Chadd
2012-12-31 7:48 ` Adrian Chadd
2012-12-31 8:40 ` Simon Wunderlich
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50CA0F8B.3060905@openwrt.org \
--to=nbd@openwrt.org \
--cc=adrian@freebsd.org \
--cc=ath9k-devel@lists.ath9k.org \
--cc=johannes@sipsolutions.net \
--cc=jonbither@gmail.com \
--cc=jouni@qca.qualcomm.com \
--cc=kgiori@qca.qualcomm.com \
--cc=linux-wireless@vger.kernel.org \
--cc=linville@tuxdriver.com \
--cc=mathias.kretschmer@fokus.fraunhofer.de \
--cc=rodrigue@qca.qualcomm.com \
--cc=simon.wunderlich@s2003.tu-chemnitz.de \
--cc=siwu@hrz.tu-chemnitz.de \
--cc=zefir.kurtisi@neratec.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).