Open azio7 opened 4 months ago
Between 23547bb and f0d6e99, only these five commits:
f0d6e99a707f wifi: rtw89: pci: correct TX resource checking for PCI DMA channel of firmware command
1a55db023888 rtw89: Fix build errors on older kernels
fba4f52b56f4 wifi: rtw89: 8922a: configure UL MU/OFDMA power setting
08f4ca25ec25 rtw89: Bring this repo up to the level of rtw-next as of April 3, 2024.
23547bbbd06c wifi: rtw89: 8852c: disable PCI PHY EQ to improve compatibility
I feel these should not affect pci_probe. Could you find out the commit causing your problem?
Between 23547bb and f0d6e99, only these five commits:
f0d6e99a707f wifi: rtw89: pci: correct TX resource checking for PCI DMA channel of firmware command 1a55db023888 rtw89: Fix build errors on older kernels fba4f52b56f4 wifi: rtw89: 8922a: configure UL MU/OFDMA power setting 08f4ca25ec25 rtw89: Bring this repo up to the level of rtw-next as of April 3, 2024. 23547bbbd06c wifi: rtw89: 8852c: disable PCI PHY EQ to improve compatibility
I feel these should not affect pci_probe. Could you find out the commit causing your problem?
i try addr2line
azio7@azio7 /d/p/r/rtw89 ((f0d6e99a))> objdump -t rtw89pci.ko | grep rtw89_pci_probe
0000000000000259 l __ksymtab_strings 0000000000000000 __kstrtab_rtw89_pci_probe
0000000000000269 l __ksymtab_strings 0000000000000000 __kstrtabns_rtw89_pci_probe
00000000000000fc l __ksymtab 0000000000000000 __ksymtab_rtw89_pci_probe
0000000000003840 g F .text 0000000000000010 __pfx_rtw89_pci_probe
0000000000003850 g F .text 0000000000000bb5 rtw89_pci_probe
azio7@azio7 /d/p/r/rtw89 ((f0d6e99a))> addr2line -Cfie rtw89pci.ko 0x38c7
rtw89_pci_probe
/home/azio7/project/rtw89-dkms-git/rtw89/pci.c:4261
the line is
rtwdev->hci.rpwm_addr = pci_info->rpwm_addr;
Backward trace code from this point:
rtwdev->hci.rpwm_addr = pci_info->rpwm_addr;
Then,
static const struct rtw89_driver_info rtw89_8852ae_info = {
.chip = &rtw8852a_chip_info,
.quirks = NULL,
.bus = {
.pci = &rtw8852a_pci_info,
},
};
static const struct pci_device_id rtw89_8852ae_id_table[] = {
{
PCI_DEVICE(PCI_VENDOR_ID_REALTEK, 0x8852),
.driver_data = (kernel_ulong_t)&rtw89_8852ae_info,
},
info = (const struct rtw89_driver_info *)id->driver_data;
pci_info = info->bus.pci;
Trace looks well.
I build f0d6e99 and run on kernel 6.6.8 and 6.9.2, both are fine.
No good idea how it fails on your platform. Maybe add more debug message yourself to dig the cause.
By the way, on kernel 6.6.33 you can use built-in driver for RTL8852AE, which has been not changed for a long time.
I use this driver because the built-in driver may disconnect sometime, so i turn to this driver. Im noob on kernel, i cannot dig more message. i guess the problem comes from the kernel, i didnt meet the bug until i update
I suggest you can use built-in driver, because I feel driver in this repository has the same problem even if it can run on your platform.
Please follow the main page of this repository to add option below to 70-rtw89.conf:
options rtw89_core disable_ps_mode=y
Then, copy it to proper place
sudo cp 70-rtw89.conf /etc/modprobe.d/
Edit /etc/NetworkManager/conf.d/default-wifi-powersave-on.conf as below. (If file is not existing, just create it.)
[connection]
wifi.powersave = 2
i see, thanks for your suggestion
system
archlinux
Kernel: 6.6.33-1-lts
issue
this happened after i update all my stuff including kernel by pacman and when i shutdown, it stuck then i try old version of this driver (23547bbb) and it works, but f0d6e99a didn't work