wifi: mt76: mt7921 Survey is missing noise floor

From: Martin Blumenstingl
Date: Sun Oct 13 2024 - 07:19:51 EST


Hello,

I'm using an MT7921 PCIe card in AP mode on the 5GHz band.
It works well when I manually set a channel in hostapd.conf.

Setting channel=0 or channel=acs_survey (both have the same meaning)
should make hostapd check for a suitable channel and pick that
automatically.
Unfortunately this does not work as hostapd reports the following (for
all frequencies/channels):
ACS: Survey for freq 5180 is missing noise floor
ACS: Survey for freq 5180 is missing noise floor
ACS: Survey for freq 5180 is missing noise floor
ACS: Survey for freq 5180 is missing noise floor
ACS: Survey for freq 5180 is missing noise floor
ACS: Channel 36 has insufficient survey data

I suspect that this is due to mt792x_phy_update_channel() (from
drivers/net/wireless/mediatek/mt76/mt792x_mac.c) which calls
mt792x_phy_get_nf(). The latter just returns zero - so it seems
reading the noise floor from the hardware/firmware is not
supported yet.

What is needed to implement this? I can test patches or - if
someone describes which registers to program - I can also write
a patch and submit it upstream.


Thank you and best regards,
Martin