On 26/05/2025 04:51, Ping-Ke Shih wrote: > Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote: >> On 13/05/2025 06:12, Ping-Ke Shih wrote: >>> Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> wrote: >>>> Add hfc_param_ini_usb to struct rtw89_chip_info. For now initialise it >>>> only for RTL8851B. >>>> >>>> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@xxxxxxxxx> >>>> --- >>> >>> [...] >>> >>> >>>> + >>>> +static const struct rtw89_hfc_param_ini rtw8851b_hfc_param_ini_usb[] = { >>>> + [RTW89_QTA_SCC] = {rtw8851b_hfc_chcfg_usb, &rtw8851b_hfc_pubcfg_usb, >>>> + &rtw8851b_hfc_preccfg_usb, RTW89_HCIFC_STF}, >>> >>> [RTW89_QTA_WOW] is missing. I'm not sure if current can handle this correctly. >>> Could you try to do WoWLAN with USB? At least, it shouldn't crash. >>> >> >> RTW89_QTA_WOW is missing because I didn't find an equivalent in >> enum mac_ax_qta_mode in the vendor driver. > > Yes, vendor driver doesn't have that. As I know, it does some modifications > from original normal operation quota, such as RTW89_QTA_SCC, because we want > constant definition in upstream driver. I will check internally and get back > to you how it should be for USB devices. > >> >> I enabled WOWLAN with this command: >> >> iw phy0 wowlan enable disconnect >> >> Then I put the computer to sleep (suspend to RAM). There was no crash, >> just some error messages. The computer went to sleep and woke up without >> any other problems. Of course it didn't stay connected to the access >> point during sleep. >> >> May 23 20:19:46 ideapad2 kernel: rtw89_8851bu 1-2:1.2: qta mode unmatch! >> May 23 20:19:47 ideapad2 kernel: rtw89_8851bu 1-2:1.2: [ERR]get_dle_mem_cfg >> May 23 20:19:47 ideapad2 kernel: rtw89_8851bu 1-2:1.2: [ERR]patch rx qta -22 >> May 23 20:19:47 ideapad2 kernel: rtw89_8851bu 1-2:1.2: failed to config mac >> May 23 20:19:47 ideapad2 kernel: rtw89_8851bu 1-2:1.2: wow: failed to enable trx_post >> May 23 20:19:47 ideapad2 kernel: rtw89_8851bu 1-2:1.2: failed to enable wow >> May 23 20:19:47 ideapad2 kernel: rtw89_8851bu 1-2:1.2: failed to suspend for wow -22 >> >> That was without RTW89_QTA_WOW. >> >> Then I tried to copy RTW89_QTA_SCC in rtw8851b_hfc_param_ini_usb and >> rtw8851b_dle_mem_usb2. With that I think it was able to upload the WOW >> firmware and it stayed connected to the access point, but something >> didn't let the computer go to sleep. It sat there for several minutes >> with a black screen, the power LED on, and connected to the access >> point (but without an IP address), until I clicked the "Disconnect" >> button in the access point's web interface to disconnect this station. >> That's when the computer finally went to sleep. >> >> So WOWLAN with RTL8851BU needs more work. > > Thanks for the test. I'd ask internal experts if USB devices can support > WoW already. But, I guess the answer is yes. Have you tested WoW with > vendor driver? > > Yes, it works. I can wake up the computer with a Magic Packet.