All of lore.kernel.org
 help / color / mirror / Atom feed
* cfg80211 dump_survey - what is it supposed to measure?
@ 2012-03-05 21:59 Daniel Drake
  2012-03-07 11:07 ` Felix Fietkau
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Drake @ 2012-03-05 21:59 UTC (permalink / raw)
  To: linux-wireless

Hi,

I'm working on a bug in libertas. It looks like NetworkManager (or
something related) is calling dump_survey, before a connection has
been established.

libertas does:

	survey->channel = ieee80211_get_channel(wiphy,
		ieee80211_channel_to_frequency(priv->channel,
					       IEEE80211_BAND_2GHZ));

	ret = lbs_get_rssi(priv, &signal, &noise);
	if (ret == 0) {
		survey->filled = SURVEY_INFO_NOISE_DBM;
		survey->noise = noise;
	}

        return ret;

lbs_get_rssi() only works when the card is associated. It then returns
the signal/noise of the last received beacon from the AP. If the card
is not associated (as is true here), lbs_get_rssi returns error 1,
which is then returned to cfg80211, and this looks to cause userspace
to retry the survey request in a seemingly infinite loop.

I'm wondering if dump_survey is intended to return the RSSI of a
specific network in the way that libertas does it, or if it is
supposed to look more generally at the interference on a channel?

In other words, given that libertas hardware doesn't seem to offer
functionality to measure the overall signal level on a channel, I'm
wondering if the correct solution here is to drop the dump_survey
handler altogether.

Thanks,
Daniel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-03-07 14:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-05 21:59 cfg80211 dump_survey - what is it supposed to measure? Daniel Drake
2012-03-07 11:07 ` Felix Fietkau
2012-03-07 14:47   ` Daniel Drake

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.