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)
Fri, Oct 3, 1:56 AM
Unknown Object (File)
Sep 10 2025, 3:28 AM
Unknown Object (File)
Sep 4 2025, 12:42 PM
Unknown Object (File)
Sep 4 2025, 12:40 PM
Unknown Object (File)
Sep 2 2025, 8:19 PM
Unknown Object (File)
Sep 1 2025, 6:27 AM
Unknown Object (File)
Aug 31 2025, 3:04 PM
Unknown Object (File)
Aug 30 2025, 2:57 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