Jesuiter, Henry <henry.jesuiter@xxxxxxxxxxx> wrote: > Ping-Ke Shih <pkshih@xxxxxxxxxxx> wrote: > > Does it mean 450ms on kernel 5.15, but 900ms on kernel 5.4 for RTL8822ce? > [Jesuiter, Henry] > Actually it's the following: > * about 450ms for Kernel 6.8 (Ubuntu 24.04), i5-7300U > * about 600ms for Kernel 6.6 (Buildroot), COMi.MX 6 > * about 600ms for Kernel 5.15 (Ubuntu 20.04), i5-7300U > * about 700ms - 900ms for Kernel 5.4 (Yocto 3.3.6), COMi.MX 6 No idea why they are different since RTL8822CE doesn't have much change for a long time. > > I measure rtw_chip_prepare_tx() which is to do phy calibration. The cost is about 190ms on 2GHz and 5GHz > channels. > [Jesuiter, Henry] > This is the same function that is called on roaming, and we are experiencing similar results here. Thanks > for the effort. > > > The costs I posted are hardware-related. Ignore IEEE80211_CONF_IDLE to avoid calling > rtw_enter_ips()/rtw_leave_ips(), saving 200ms to power on hardware. > [Jesuiter, Henry] > We thought about that too, but we see no easy way to avoid the power down beforehand, since we are not able > to distinguish a power down due to roaming from a power down due to other reasons. So - since the chip is > powered down - we can't just skip the power up here. Any ideas are welcome 😉. Maybe you can start a delyed_work with 1 second delay when entering to rtw_enter_ips() but not actually enter. For normal use case, after 1 second, call rtw_enter_ips() to power down. For roaming case, it must ask to power on by rtw_leave_ips() immediately, so cancel the delayed_work and no actually power off/on in this case. 1 second is an example, maybe need more time. Fine tune the value by your experiment result. > > One more question. Is there a way to use 802.11r (fast roaming) with the mainline driver? As I know, 802.11r is mainly implemented in wpa_supplicant. I don't remember drivers need to implement special handles for that.