[RFC] libertas: change quality calculation
dcbw at redhat.com
Wed Mar 19 11:41:54 EDT 2008
On Wed, 2008-03-19 at 11:38 -0400, Dan Williams wrote:
> On Wed, 2008-03-19 at 16:25 +0100, Holger Schurig wrote:
> > > > I also found that the average noise floor is -86 dBm, not
> > > > -96 dBm. So I changed this constant. Maybe this is wrong,
> > > > what values do your cards report?
> > >
> > > When possible, we should use a window-ed average of the cards
> > > reported noise from beacons or received frames instead of a
> > > constant, that's a further improvement though.
> > The changed value of MRVDRV_NF_DEFAULT_SCAN_VALUE is only used to
> > magically conjure the missing noise value for scan results, see
> > my other mail about this.
> > Okay, it's also used in the case of a failed GET_RSSI command :-)
> > > Well, when we had the (badly) averaged array values in there,
> > > the noise floor was available to the scan reporting.
> > Something might have been available for scan reporting, but if
> > this "something" made sense is a different question. See my
> > other mail :-)
> > > There are tables to map RSSI -> dBm for each part which should
> > > be in the firmware spec or seen in the driver code.
> > I didn't see such a table so far, where is it?
> See section 7.3 of the 5.1 spec:
> 7.3 RSSI and Noise Floor Support
> The firmware supports the reporting of RSSI and Noise Floor values:
> • RSSI can be derived by adding Noise Floor to SNR value
> • Noise Floor is returned in each received packet through the NF field
> in the Rx Descriptor (dBm).
> • Signal Quality is determined by RSSI and SNR.
> Section 3.1 as well (Receive Packet Descriptor):
> "RSSI should be calculated in the driver as a summation of the SNR and
> So Marvell doesn't really provide a table, but we'll have to do some
> investigation here. The RSSI is almost always a random value defined by
> the manufacturer  or in dBm. We're not 100% sure what Marvell is
> using here, but some investigation will show whether the value is
> actually in dBm or in some other units. A quick check of the RSSI
> reported by the current BSS in scan results versus the output of
> GET_RSSI might show something interesting.
For further information, see something like:
More information about the libertas-dev