Search Linux Wireless

RE: Regression in rtw89

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Larry Finger <larry.finger@xxxxxxxxx> On Behalf Of Larry Finger
> Sent: Friday, August 4, 2023 6:14 AM
> To: Ping-Ke Shih <pkshih@xxxxxxxxxxx>
> Cc: linux-wireless <linux-wireless@xxxxxxxxxxxxxxx>
> Subject: Regression in rtw89
> 
> Ping-Ke,
> 
> A user of my GitHub repo has reported a regression beginning with commit
> 26a125f550a3 ("wifi: rtw89: correct PS calculation for SUPPORTS_DYNAMIC_PS").
> The user finds interference between wifi and the BT device that is part of the
> package.
> 
> We were able to determine that loading rtw89_core with the "disable_ps_mode=y"
> option does fix the problem. Our discussion of the problem can be seen at
> https://github.com/lwfinger/rtw89/issues/262#issuecomment-1664658764.
> 

As the commit message of the 26a125f550a3, PS was broken since v5.20, and that
patch fixes it. The correct bisection is from initial version of 8852BE + this patch.
(8852BE is introduced by kernel v6.2, and PS was broken at that time.)

As the discussion in github, it looks like a BT-coexistence problem, because
Both WiFi-only and BT-only work. Please update BT driver and firmware to have
below:
 BT driver: 
   - Bluetooth: btrtl: Firmware format v2 support
   - Bluetooth: btrtl: Add the support for RTL8851B
 BT firmware: (copy all files from linux-firmware.git:/rtl_bt/)
   - rtl_bt: Add firmware and config files for RTL8851B

Then, read btc_info in period of 2 seconds before and after entering PS.
A sample script to capture log
   while [ true ]; do cat /sys/kernel/debug/ieee80211/phy0/rtw89/btc_info; date; sleep 2; done
And, use 'iw wlan0 set power_save on/off' to switch PS state. Also, please
point out the time when BT goes wrong. 

> Reading the patch in question, it seems that a vif count of 1 is not sufficient
> to enable PS, and that it is also necessary to make sure that BT is not active
> as well.

'vif' count refers to WiFi vif that is normally one for regular use (STA mode only).
When it enters/leaves PS, rtw89_btc_ntfy_radio_state() is called to notify 
BT-coexistence mechanism to reflect current WiFi PS state. By the way, things
related to BT are existing in coex.c. 

Ping-Ke





[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Wireless Regulations]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux