[PATCH v2] wifi: ath12k: report station mode per-chain signal strength

Lingbo Kong quic_lingbok at quicinc.com
Mon Mar 24 19:31:00 PDT 2025



On 2025/2/26 19:34, Lingbo Kong wrote:
> 
> 
> On 2025/2/10 13:40, Lingbo Kong wrote:
>> Currently, command “iw wlan0 station dump” does not show per-chain signal
>> strength.
>>
>> This is because ath12k does not handle the num_per_chain_rssi and
>> rssi_avg_beacon reported by firmware to ath12k.
>>
>> To address this, update ath12k to send WMI_REQUEST_STATS_CMDID with the
>> flag WMI_REQUEST_RSSI_PER_CHAIN_STAT to the firmware. Then, add logic to
>> handle num_per_chain_rssi and rssi_avg_beacon in the
>> ath12k_wmi_tlv_fw_stats_parse(), and assign the resulting per-chain 
>> signal
>> strength to the chain_signal of struct station_info.
>>
>> After that, "iw dev xxx station dump" shows the correct per-chain signal
>> strength.
>> Such as:
>>
>> Station AA:BB:CC:DD:EE:FF (on wlan0)
>>          inactive time:  212 ms
>>          rx bytes:       10398
>>          rx packets:     64
>>          tx bytes:       4362
>>          tx packets:     33
>>          tx retries:     49
>>          tx failed:      0
>>          beacon loss:    0
>>          beacon rx:      14
>>          rx drop misc:   16
>>          signal:         -45 [-51, -46] dBm
>>          beacon signal avg:      -44 dBm
>>
>> Tested-on: WCN7850 hw2.0 PCI 
>> WLAN.HMT.1.0-03427-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.15378.4
>>
>> Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219751
>> Signed-off-by: Lingbo Kong <quic_lingbok at quicinc.com>
>> ---
>> v2:
>> 1.add break to avoid warning
>>
>>   drivers/net/wireless/ath/ath12k/core.h |  5 ++
>>   drivers/net/wireless/ath/ath12k/mac.c  | 39 ++++++++++--
>>   drivers/net/wireless/ath/ath12k/mac.h  |  2 +
>>   drivers/net/wireless/ath/ath12k/wmi.c  | 82 ++++++++++++++++++++++++++
>>   drivers/net/wireless/ath/ath12k/wmi.h  | 18 +++++-
>>   5 files changed, 139 insertions(+), 7 deletions(-)
>>
>> diff --git a/drivers/net/wireless/ath/ath12k/core.h 
>> b/drivers/net/wireless/ath/ath12k/core.h
>> index 57e71ccbbb67..967e3cad3bca 100644
>> --- a/drivers/net/wireless/ath/ath12k/core.h
>> +++ b/drivers/net/wireless/ath/ath12k/core.h
>> @@ -508,6 +508,7 @@ struct ath12k_link_sta {
>>       u32 bw_prev;
> 
> 
> hi jeff,
> do you have any updates on this patch?🙂
> 
> /lingbo
> 

hi, jeff,

do you have any updates on this patch?🙂
should i send a new version based on the current upstream code?

/lingbo



More information about the ath12k mailing list