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

Jeff Johnson jeff.johnson at oss.qualcomm.com
Wed Mar 26 14:06:29 PDT 2025


On 3/24/2025 7:31 PM, Lingbo Kong wrote:
> 
> 
> 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?

Please rebase, the current patch no longer applies




More information about the ath12k mailing list