tomaspinho / rtl8821ce

Other
1.6k stars 409 forks source link

rtl8821ce-dkms-git AUR package doesn’t work with Linux 6.7 #343

Closed 1882COYS closed 10 months ago

1882COYS commented 10 months ago

Title says it all, I have verified this by switching back to Linux 6.6.9 and am having no problems.

Spixmaster commented 10 months ago

I can confirm. Although for me, the shipped driver that comes with the Linux kernel works.

1882COYS commented 10 months ago

Yea, the Wi-Fi is file but Bluetooth audio is glitchy

Spixmaster commented 10 months ago

@1882COYS With this driver or the shipped one?

1882COYS commented 10 months ago

The shipped one

digitsune commented 10 months ago

DKMS always fails to compile the modules for both linux and linux-zen version 6.7. This is what I've got with my Arch installation:

==> dkms install --no-depmod rtl8821ce/1.0.5.r166.gb5b8a5c -k 6.7.0-zen3-1-zen
Error! Bad return status for module build on kernel: 6.7.0-zen3-1-zen (x86_64)
Consult /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/make.log for more information.
==> dkms install --no-depmod rtl8821ce/1.0.5.r166.gb5b8a5c -k 6.7.0-arch3-1
Error! Bad return status for module build on kernel: 6.7.0-arch3-1 (x86_64)
Consult /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/make.log for more information.

And this is what make.log tells:

make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.7.0-arch3-1/build M=/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build  modules
make[1]: Entering directory '/usr/lib/modules/6.7.0-arch3-1/build'
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_cmd.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_security.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_debug.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_io.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ioctl_query.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ioctl_set.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ieee80211.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_mlme.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_mlme_ext.o
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_mlme.c: In function ‘rtw_drv_scan_by_self’:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_mlme.c:3161:17: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation]
 3161 |                 else
      |                 ^~~~
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_mlme.c:3164:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘else’
 3164 |                         goto exit;
      |                         ^~~~
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_mi.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_wlan_util.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_vht.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_pwrctrl.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rf.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_chplan.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_recv.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_sta_mgt.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ap.o
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rf.c: In function ‘dump_txpwr_lmt’:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rf.c:765:9: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  765 |         if (IS_HARDWARE_TYPE_JAGUAR_AND_JAGUAR2(adapter))
      |         ^~
In file included from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/drv_types.h:60,
                 from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rf.c:17:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/rtw_debug.h:220:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  220 |         do {\
      |         ^~
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rf.c:767:17: note: in expansion of macro ‘RTW_PRINT_SEL’
  767 |                 RTW_PRINT_SEL(sel, "txpwr_lmt_5g_20_40_ref:0x%02x\n", rfctl->txpwr_lmt_5g_20_40_ref);
      |                 ^~~~~~~~~~~~~
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/mesh/rtw_mesh.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/mesh/rtw_mesh_pathtbl.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/mesh/rtw_mesh_hwmp.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_xmit.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_p2p.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rson.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_tdls.o
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_sta_mgt.c: In function ‘rtw_mfree_stainfo’:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_sta_mgt.c:379:25: warning: the comparison will always evaluate as ‘true’ for the address of ‘lock’ will never be NULL [-Waddress]
  379 |         if (&psta->lock != NULL)
      |                         ^~
In file included from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/drv_types.h:108,
                 from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_sta_mgt.c:17:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/sta_info.h:263:17: note: ‘lock’ declared here
  263 |         _lock   lock;
      |                 ^~~~
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ap.c: In function ‘rtw_ap_update_chbw_by_ifbmp’:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ap.c:4392:42: warning: the comparison will always evaluate as ‘true’ for the address of ‘padapters’ will never be NULL [-Waddress]
 4392 |                 if (!(ifbmp & BIT(i)) || !dvobj->padapters)
      |                                          ^
In file included from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ap.c:17:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/drv_types.h:1041:19: note: ‘padapters’ declared here
 1041 |         _adapter *padapters[CONFIG_IFACE_NUMBER];/*IFACE_ID_MAX*/
      |                   ^~~~~~~~~
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_ap.c:4412:42: warning: the comparison will always evaluate as ‘true’ for the address of ‘padapters’ will never be NULL [-Waddress]
 4412 |                 if (!(ifbmp & BIT(i)) || !dvobj->padapters)
      |                                          ^
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/drv_types.h:1041:19: note: ‘padapters’ declared here
 1041 |         _adapter *padapters[CONFIG_IFACE_NUMBER];/*IFACE_ID_MAX*/
      |                   ^~~~~~~~~
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_br_ext.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_iol.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_sreset.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_btcoex_wifionly.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_btcoex.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_beamforming.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_odm.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rm.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/rtw_rm_fsm.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/efuse/rtw_efuse.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/osdep_service.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/os_intfs.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/pci_intf.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/pci_ops_linux.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_linux.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/xmit_linux.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/mlme_linux.o
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/efuse/rtw_efuse.c: In function ‘rtw_efuse_analyze’:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/efuse/rtw_efuse.c:781:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation]
  781 |                 if (i % 16 == 0)
      |                 ^~
In file included from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/drv_types.h:60,
                 from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/efuse/rtw_efuse.c:17:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/rtw_debug.h:231:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’
  231 |         do {\
      |         ^~
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/core/efuse/rtw_efuse.c:783:25: note: in expansion of macro ‘_RTW_PRINT_SEL’
  783 |                         _RTW_PRINT_SEL(RTW_DBGDUMP, "%02X%s"
      |                         ^~~~~~~~~~~~~~
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/recv_linux.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/rtw_cfgvendor.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/wifi_regd.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/rtw_android.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/rtw_proc.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/rtw_rhashtable.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_mp.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/hal/hal_intf.o
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.c: In function ‘cfg80211_rtw_scan’:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.c:2911:33: warning: the comparison will always evaluate as ‘true’ for the address of ‘ssid’ will never be NULL [-Waddress]
 2911 |                 if (ssids->ssid != NULL
      |                                 ^~
In file included from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/osdep_service_linux.h:93,
                 from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/osdep_service.h:50,
                 from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/include/drv_types.h:27,
                 from /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.c:17:
./include/net/cfg80211.h:2538:12: note: ‘ssid’ declared here
 2538 |         u8 ssid[IEEE80211_MAX_SSID_LEN];
      |            ^~~~
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.c: At top level:
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.c:9626:26: error: initialization of ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_ap_update *)’ from incompatible pointer type ‘int (*)(struct wiphy *, struct net_device *, struct cfg80211_beacon_data *)’ [-Werror=incompatible-pointer-types]
 9626 |         .change_beacon = cfg80211_rtw_change_beacon,
      |                          ^~~~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.c:9626:26: note: (near initialization for ‘rtw_cfg80211_ops.change_beacon’)
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/hal/hal_com.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/hal/hal_com_phycfg.o
  CC [M]  /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/hal/hal_phy.o
cc1: some warnings being treated as errors
make[3]: *** [scripts/Makefile.build:243: /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build/os_dep/linux/ioctl_cfg80211.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [/usr/lib/modules/6.7.0-arch3-1/build/Makefile:1911: /var/lib/dkms/rtl8821ce/1.0.5.r166.gb5b8a5c/build] Error 2
make[1]: *** [Makefile:234: __sub-make] Error 2
make[1]: Leaving directory '/usr/lib/modules/6.7.0-arch3-1/build'
make: *** [Makefile:2244: modules] Error 2

Dunno if this will help anything but posting this here regardless if it does. Sorry for the lengthy log.

Spixmaster commented 10 months ago

For those that do not know that there is already a pull request since 1st December 2023, https://github.com/tomaspinho/rtl8821ce/pull/339.

intmainreturnzero commented 10 months ago

Does above pull request make the driver work on 6.7 kernel? I only have live Arch installation media right now, so not sure how I'll test it.

Spixmaster commented 10 months ago

Yes, it does. Do not forget to switch to the proper branch because the fix is not on the master branch.

1882COYS commented 10 months ago

can confirm this works, will close issue

larkjkj commented 10 months ago

which one is the correct branch?

Spixmaster commented 10 months ago

kernel-v6.7-changes

tomaspinho commented 10 months ago

Master works again, changes merged