On 1/9/2025 10:48 PM, Lingbo Kong wrote: > Currently, the transmit rate, the receive rate and signal strength of "iw > dev xxx station dump" always show an invalid value. > > This is because ath12k has no logic to handle this relevant information. > > To solve this issue, ath12k parses the information passed by the firmware > and passes it to mac80211. > > After that, "iw dev xxx station dump" show the correct value. > Such as: > > Station 00:03:7f:12:03:03 (on wlo1) > inactive time: 600 ms > rx bytes: 4642228 > rx packets: 23796 > tx bytes: 933967 > tx packets: 8761 > tx retries: 66 > tx failed: 0 > beacon loss: 0 > beacon rx: 8925 > rx drop misc: 191 > signal: -20 dBm > beacon signal avg: -18 dBm > tx bitrate: 1441.1 MBit/s 80MHz EHT-MCS 13 EHT-NSS 2 EHT-GI 0 > tx duration: 0 us > rx bitrate: 1801.4 MBit/s 80MHz EHT-MCS 11 EHT-NSS 3 EHT-GI 0 > rx duration: 0 us > > v9: > 1.rebase to dbe50a7420e2 > > v8: > 1.rebase to 09fa3b6974a1 > > v7: > 1.use switch statement > 2.use guard(mutex)(&ah->hw_mutex) > 3.use info0 = le32_to_cpu(desc->rate_stats.info0) and then use u32_get_bits() everywhere > 4.replace time with time_left > > v6: > 1.rebase against wifi: ath12k: prepare sta data structure for MLO handling > > v5: > 1.use ieee80211_find_sta_by_ifaddr() to avoid using base_lock > > v4: > 1.rebase ath-pending-202404181533 > 2.change ATH12K_EHT_MCS_MAX from 13 to 15 > > v3: > 1.change wmi_vdev_stats_event to wmi_vdev_stats_params > > v2: > 1.change copyright > 2.change name according Naming conventions for structures > > Lingbo Kong (3): > wifi: ath12k: report station mode transmit rate > wifi: ath12k: report station mode receive rate for IEEE 802.11be > wifi: ath12k: report station mode signal strength > > drivers/net/wireless/ath/ath12k/core.h | 5 + > drivers/net/wireless/ath/ath12k/dp_rx.c | 20 +++- > drivers/net/wireless/ath/ath12k/dp_rx.h | 3 + > drivers/net/wireless/ath/ath12k/dp_tx.c | 139 +++++++++++++++++++++- > drivers/net/wireless/ath/ath12k/hal_rx.h | 3 + > drivers/net/wireless/ath/ath12k/hal_tx.h | 7 +- > drivers/net/wireless/ath/ath12k/mac.c | 138 ++++++++++++++++++++- > drivers/net/wireless/ath/ath12k/mac.h | 3 + > drivers/net/wireless/ath/ath12k/rx_desc.h | 3 + > drivers/net/wireless/ath/ath12k/wmi.c | 132 ++++++++++++++++++++ > drivers/net/wireless/ath/ath12k/wmi.h | 48 ++++++++ Since you are rebasing in 2025, you need to update copyrights: * drivers/net/wireless/ath/ath12k/core.h copyright missing 2025 * drivers/net/wireless/ath/ath12k/dp_rx.c copyright missing 2025 * drivers/net/wireless/ath/ath12k/dp_rx.h copyright missing 2025 * drivers/net/wireless/ath/ath12k/dp_tx.c copyright missing 2025 * drivers/net/wireless/ath/ath12k/hal_rx.h copyright missing 2025 * drivers/net/wireless/ath/ath12k/hal_tx.h copyright missing 2025 * drivers/net/wireless/ath/ath12k/mac.c copyright missing 2025 * drivers/net/wireless/ath/ath12k/mac.h copyright missing 2025 * drivers/net/wireless/ath/ath12k/rx_desc.h copyright missing 2025 * drivers/net/wireless/ath/ath12k/wmi.c copyright missing 2025 * drivers/net/wireless/ath/ath12k/wmi.h copyright missing 2025