Page MenuHomeFreeBSD

iwx: correct rssi calculations and reporting
AcceptedPublic

Authored by bz on Jun 19 2025, 1:20 AM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Oct 30, 2:11 PM
Unknown Object (File)
Mon, Oct 27, 11:10 AM
Unknown Object (File)
Wed, Oct 22, 2:27 AM
Unknown Object (File)
Wed, Oct 22, 1:36 AM
Unknown Object (File)
Wed, Oct 22, 1:35 AM
Unknown Object (File)
Tue, Oct 21, 2:01 PM
Unknown Object (File)
Sat, Oct 18, 2:28 PM
Unknown Object (File)
Sat, Oct 18, 12:10 AM
Subscribers

Details

Reviewers
thj
Group Reviewers
wireless
Summary

Overall for the moment when we have to hard code a noise floor use -127.

iwx_rxmq_get_signal_strength(): return a signed value.
iwx_get_noise(): return an nunsigned value and correct maths; seems
c&p from iwm(4) which has this code compiled out in favor of a static
-96 nf.
in iwx_rx_mpdu_mq(): remove the "signal level normilization"; make the
local rssi an int8_t which is enough; if we have a signal normalize it
to the net80211 internal representation; if we have no value report the
noise floor which probably is better than conditionally reprting the
ressi and conditionally setting IEEE80211_R_RSSI.
Make sc_noise an int8_t as it is enough and initialize it during attach
as it will take a few beacons until we get a IWX_STATISTICS_NOTIFICATION
and have any value to use instead. This will get the reports of the
first round of scanning slightly more sensible.

Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 64971
Build 61854: arc lint + arc unit