QCA6174 power save disabled but STA goes to sleep after association or channel switch

SEDE s.deronne at televic.com
Tue Jan 5 02:17:37 EST 2021


Setup:
- A PC as client device with a QCA6174A.
- Any access point to connect to.
- Power Save mode has been disabled.

I made a wireshark capture with the following observations:

- packet 10-17 (time = 0.315 s) : authentication and association of the 
client
- packet 53 (time = 0.52 s): a data packet from the client
- packet 274 (time = 2.088823 s): QoS null function frame from client to 
tell the AP that it goes to sleep
- packet 285 (time = 2.103685 s): QoS null function frame from client 
tells the AP that it is awake

This situation with 2 QoS null function packets, with the client going 
to sleep in between, happens consistently on startup and after a channel 
switch. It never happens again later.

It only occurs with a QCA6174A based module (not seen with a QCA9880).

I am running kernel 4.19.35 on my system, but we I reproduced the issue 
on a laptop running kernel 5.4.20. Issue was reproduced with both 
firmware versions WLAN.RM.2.0-00180-QCARMSWPZ-1 and 
firmware-6.bin_WLAN.RM.4.4.1.c3-00123.

I also enabled the WMI logs and a bit after association or a channel 
switch, I am observing this in the kernel logs that two TX pause events 
(WMI_TLV_TX_PAUSE_EVENTID) have been reported by the firmware:

wmi tlv tx pause pause_id 1 action 0 vdev_map 0x00000001 peer_id 0 
tid_map 0x00000000
wmi tlv tx pause pause_id 1 action 1 vdev_map 0x00000001 peer_id 0 
tid_map 0x00000000

where action 0 corresponds to WMI_TLV_TX_PAUSE_ACTION_STOP and action 1 
corresponds to WMI_TLV_TX_PAUSE_ACTION_WAKE, pause ID 1 corresponds to 
WMI_TLV_TX_PAUSE_ID_MCC (used for multi-channel firmware scheduler).

Even though I made sure multi-channel operation is disabled by calling 
ath10k_wmi_tlv_op_gen_adaptive_qcs with enable set to false, it seems 
the firmware is not applying any of these settings.

Does anyone know how I can disable this behavior?




More information about the ath10k mailing list