Subject: Re: atheros cards - no signal level info or am i doing something wrong?
To: None <current-users@NetBSD.org>
From: David Young <dyoung@pobox.com>
List: current-users
Date: 01/16/2004 04:25:18
On Thu, Jan 15, 2004 at 08:58:54AM -0800, Sam Leffler wrote:
> On Wednesday 14 January 2004 09:22 am, David Young wrote:
> > On Wed, Jan 14, 2004 at 11:43:22AM +0100, Wojciech Puchar wrote:
> > > i started atheros card (ath driver) fine. it works OK but receiver signal
> > > level info gives always 0dB signal level and -149dB signal quality and
> > > noise.
> >
> > -149 noise is an artifact of early mistakes in programming wiconfig; you
> > can interpret it as "0". AFAIK, the Atheros hardware does not provide
> > any noise figure. I don't precisely know why the signal level is 0,
> > but see below.
> >
>
> There is code around to collect rssi from received frames and use it to
> calculate a "receiver signal level". But as David says interpreting it based
> on Prism operating parameters is going to be confusing. If you look at the
> madwifi code for Linux (http://madwifi.sourceforge.net) you'll find code to
> approximately convert from the rssi (given as dbm relative to the noise
> floor) to the prism-style signal quality metrics. I've got this code in
> uncommitted changes for FreeBSD.
>
> > > is it bug or lack of code?
> >
> > It depends what mode you run the interface in. You will probably not
> > get an intelligible signal level report in ad hoc mode or in AP mode.
>
> The numbers are real regardless of mode. The question is what to return for a
> single value when operating in adhoc or ap operation. The existing code
> averages over all stations when asked for a signal quality and operating in
> adhoc or ap mode.
Someday I would like for such per-node info to be available through a
character device which provides a message interface between a wireless
interface and userland. Daemons and utilities will use it for stuff
like this:
* Inter-Access Point Protocol (IAPP) daemon for roaming. Works w/ other
IAPP daemons to ensure bridging/IP-forwarding tables are updated
and auth/accounting context is brought over when a mobile unit
changes cell.
* Authentication: a daemon intervenes in authentication exchanges,
contacting a RADIUS server and sending yay/nay response back to kernel.
* AP scanning: an interface will dump an ieee80211_nodes
to the character device on demand; it will send notification of new
ieee80211_nodes.
Something else I want to see, which is a little more controversial,
is per-client/peer virtual interfaces. There are lots of reasons why
they are a good idea, but I will not go into that here.
Dave
--
David Young OJC Technologies
dyoung@ojctech.com Urbana, IL * (217) 278-3933