2009-10-26 13:43:14

by Holger Schurig

[permalink] [raw]
Subject: RECAP: indication of channel noise

On IRC, Johannes, Felix and I talked about how to indicate the
noise level towards user-space.

Noise is not really a property of the link, althought derived
values like SNR are. It can be nice to debug stuff.


However, what hardware value hardware says is a noise level
variues. For ath5k, it's internal, thermal noise. For ath9k,
it's external medium noise. Some hardware can determine noise
only while in a connection, others can do it at any time.

However, noise is only one property of a channel, a wider
approach would be to define a "site survey API". This could
include hw cycle counters, e.g. to find out the channel
utilization.

The idea is to have one API call "do site survey", where you tell
the driver to scan on specified/all channels to determine those
values.

And then there's an API call to retrieve this information. For
hardware where you cannot really scan (e.g. Libertas, Orinoco),
you can simply call the "retrieve site survey" call without the
prior scanning and you just get what the hardware knows anyway.

This makes the retrieve systeam call "cheap" in order to only get
the noise level, but the API rich in case the hardware has much
more versatile capabilities.



We did not yet come up with a clear API definition for this. My
idea for an initial "retrieve site survey" response is:

NL80211_CMD_NEW_SURVEY_RESULTS
NL80211_ATTR_GENERATION
NL80211_ATTR_IFINDEX
NL80211_BSS_FREQUENCY
NL80211_BSS_NOISE_MBM

Of course this will extend over time, but that is easy due to
nl80211.

--
M&N Solutions GmbH Ein Unternehmen der Datagroup AG
Holger Schurig
Raiffeisenstr. 10
61191 Rosbach
Tel: 06003/9141-15 Fax 06003/9141-49
http://www.mn-solutions.de/

Handelsregister Friedberg, HRB 5903
Gesch?ftsf?hrer: P.Schrittenlocher


2009-10-26 14:30:38

by Holger Schurig

[permalink] [raw]
Subject: Re: RECAP: indication of channel noise

> > NL80211_BSS_NOISE_MBM

Hmm, this could better be NL80211_CHANNEL_NOISE_MBM, to make
clear that this is not heat-related internal noise of the chip.



For the rest of your remarks: ok


--
M&N Solutions GmbH Ein Unternehmen der Datagroup AG
Holger Schurig
Raiffeisenstr. 10
61191 Rosbach
Tel: 06003/9141-15 Fax 06003/9141-49
http://www.mn-solutions.de/

Handelsregister Friedberg, HRB 5903
Gesch?ftsf?hrer: P.Schrittenlocher

2009-10-27 07:03:14

by Johannes Berg

[permalink] [raw]
Subject: Re: RECAP: indication of channel noise

On Mon, 2009-10-26 at 20:45 -0700, Jouni Malinen wrote:
> On Mon, Oct 26, 2009 at 02:42:44PM +0100, Holger Schurig wrote:
>
> > The idea is to have one API call "do site survey", where you tell
> > the driver to scan on specified/all channels to determine those
> > values.
>
> What would this command be? Just the existing scan trigger command with
> a new attribute indicating that site survey is requested? In my first
> use case (select best channel for an AP), I would like to combine the
> normal scan (get all BSSes) and site survey (get tx/rx/idle hw counters
> for each channel). Fetching the site survey data with a new command
> would be fine, but trigger command should be shared.

That was my thinking (shared trigger) as well. Fetching the data cannot
be done with the same command anyway.

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part

2009-10-26 13:52:10

by Johannes Berg

[permalink] [raw]
Subject: Re: RECAP: indication of channel noise

On Mon, 2009-10-26 at 14:42 +0100, Holger Schurig wrote:

> [snip descriptions]

sounds about right

> We did not yet come up with a clear API definition for this. My
> idea for an initial "retrieve site survey" response is:
>
> NL80211_CMD_NEW_SURVEY_RESULTS
> NL80211_ATTR_GENERATION
> NL80211_ATTR_IFINDEX
> NL80211_BSS_FREQUENCY
> NL80211_BSS_NOISE_MBM
>
> Of course this will extend over time, but that is easy due to
> nl80211.

I'm not really happy with having "BSS" in there. And the ifindex is
kinda not necessary either I think, you really want the wiphy index.
Also it's not necessary in the response since the request will contain
the wiphy index (or interface index).

I'd introduce a new
NL80211_CMD_GET_SURVEY_RESULT

which you use together with a dumpit call, for channels, which lists
channels one by one similar to nl80211_dump_scan()/nl80211_send_bss()
but with nl80211_dump_survey()/nl80211_send_survey_channel().

In this case I think a "last updated" value would be rather important
too.

johannes


Attachments:
signature.asc (801.00 B)
This is a digitally signed message part

2009-10-27 03:45:22

by Jouni Malinen

[permalink] [raw]
Subject: Re: RECAP: indication of channel noise

On Mon, Oct 26, 2009 at 02:42:44PM +0100, Holger Schurig wrote:

> The idea is to have one API call "do site survey", where you tell
> the driver to scan on specified/all channels to determine those
> values.

What would this command be? Just the existing scan trigger command with
a new attribute indicating that site survey is requested? In my first
use case (select best channel for an AP), I would like to combine the
normal scan (get all BSSes) and site survey (get tx/rx/idle hw counters
for each channel). Fetching the site survey data with a new command
would be fine, but trigger command should be shared.

--
Jouni Malinen PGP id EFC895FA