Page MenuHomeFreeBSD

iwx: correct rssi calculations and reporting
AcceptedPublic

Authored by bz on Jun 19 2025, 1:20 AM.
Tags
None
Referenced Files
F123831459: D50929.diff
Sat, Jul 19, 12:11 PM
Unknown Object (File)
Sat, Jul 12, 8:37 PM
Unknown Object (File)
Fri, Jul 11, 12:59 AM
Unknown Object (File)
Wed, Jul 9, 8:22 AM
Unknown Object (File)
Wed, Jul 9, 6:21 AM
Unknown Object (File)
Tue, Jul 8, 12:57 PM
Unknown Object (File)
Mon, Jul 7, 12:21 PM
Unknown Object (File)
Sun, Jul 6, 11:25 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