On Wed, May 02, 2018 at 12:30:30PM +0300, Paul Irofti wrote:
> On Mon, Apr 30, 2018 at 10:55:22AM +0200, Stefan Sperling wrote:
> > +           /*
> > +            * During a scan on 5Ghz, prefer RSSI measured for probe
> > +            * response frames. i.e. don't allow beacons to lower the
> > +            * measured RSSI. Some 5GHz APs send beacons with much
> > +            * less Tx power than they use for probe responses.
> > +            */
> > +            if (isprobe)
> 
> Properly indent the if clause here
> 
> > +                   ni->ni_rssi = rxi->rxi_rssi;
> > +           else if (ni->ni_rssi < rxi->rxi_rssi)
> 
> Can't this be an OR in the former if clause?

Yes it could.

> > +                   ni->ni_rssi = rxi->rxi_rssi;
> > +   } else
> > +           ni->ni_rssi = rxi->rxi_rssi;
> 
> And actually, can't all of this be turned into a single if clause? :)
> Maybe I am reading this wrong, but aren't you setting everywhere
> ni->ni_rssi to rxi->rxi_rssi?

No. I don't update ni_rssi if the frame is a beacon (isprobe == false)
which reduces an already recorded rssi value.

> I am a bit confused why this did not work before (when you were setting
> the value to rxi_rssi no matter what) and why this extra checking fixed
> it.

It didn't always work before because a beacon is not a probe response.
Both types of frames contain the same data but semantics are different:
The AP sends beacons at a fixed interval, and a probe response only
when it has received a probe request from us.
Sending probe requests during a scan is also known as an "active scan"
(client performs an active tranmission), as opposed to a "passive scan"
which only listens for beacons (client makes no tranmission).

The issue observed is that this AP is sending beacons with a much
lower amount of transmit power than probe responses.

Reply via email to