[RFC] libertas: change quality calculation

Dan Williams dcbw at redhat.com
Wed Mar 19 11:38:17 EDT 2008

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 [1] 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.


More information about the libertas-dev mailing list