On 1/14/2025 10:35 PM, Lingbo Kong wrote: > Currently, the signal strength of "iw dev xxx station dump" always show an > invalid value. > > This is because signal strength is only set in ath12k_mgmt_rx_event() > function, and not set for received data packet. So, change to get signal > from firmware and report to mac80211. > > After that, "iw dev xxx station dump" show the correct signal strength. > Such as: > > Station 00:03:7f:12:03:03 (on wlo1) > inactive time: 36 ms > rx bytes: 61571 > rx packets: 336 > tx bytes: 28204 > tx packets: 205 > tx retries: 49 > tx failed: 0 > beacon loss: 0 > beacon rx: 83 > rx drop misc: 66 > signal: -24 dBm > beacon signal avg: -22 dBm > > For WCN7850, the firmware supports db2dbm, so not need to add noise floor. > For QCN9274, the firmware not support db2dbm, so need to add noise floor. > > This patch affects the station mode of WCN7850 and QCN9274. > > Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPL_V1.0_V2.0_SILICONZ-3 > Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.1.1-00214-QCAHKSWPL_SILICONZ-1 > > Signed-off-by: Lingbo Kong <quic_lingbok@xxxxxxxxxxx> FYI this patch did not apply cleanly to ath/main * Applying v10_20250115_quic_lingbok_wifi_ath12k_report_station_mode_stats.mbx Applying: wifi: ath12k: report station mode transmit rate Applying: wifi: ath12k: report station mode receive rate for IEEE 802.11be Applying: wifi: ath12k: report station mode signal strength Using index info to reconstruct a base tree... M drivers/net/wireless/ath/ath12k/core.h M drivers/net/wireless/ath/ath12k/mac.c M drivers/net/wireless/ath/ath12k/wmi.c M drivers/net/wireless/ath/ath12k/wmi.h Falling back to patching base and 3-way merge... Auto-merging drivers/net/wireless/ath/ath12k/wmi.h CONFLICT (content): Merge conflict in drivers/net/wireless/ath/ath12k/wmi.h Auto-merging drivers/net/wireless/ath/ath12k/wmi.c Auto-merging drivers/net/wireless/ath/ath12k/mac.c Auto-merging drivers/net/wireless/ath/ath12k/core.h Recorded preimage for 'drivers/net/wireless/ath/ath12k/wmi.h' error: Failed to merge in the changes. Patch failed at 0003 wifi: ath12k: report station mode signal strength My trivial fixup in the pending branch: https://git.kernel.org/pub/scm/linux/kernel/git/ath/ath.git/commit/?h=pending&id=a94d6e4db20fa42180d576207de8d5e2f5533823