tomaspinho / rtl8821ce

Other
1.58k stars 412 forks source link

Realtek updated this driver #300

Closed dubhater closed 11 months ago

dubhater commented 1 year ago

https://github.com/lwfinger/rtw88/commit/d3f92c98598bf0439e97afe1a26d89fb84b93ac0#diff-f0b65f6564e59d52ce9215ac17be16437095fc4dd5a39369797409eff64faaf9

Spixmaster commented 1 year ago

The commit says rtw88: Add alternative driver for rtw8821ce. What does this mean? Was it updated or is there an optional alternative?

dubhater commented 1 year ago

There are two (types of) drivers for the RTL8821CE chip:

So the driver in the commit linked above is an alternative to rtw88. And it happens to be newer than the driver in this repo. That's why I linked to the rtw_version.h file, to show the date.

Why is the old style driver dumped into the rtw88 repo? That's something only Larry Finger knows.

Spixmaster commented 1 year ago

How can I choose which driver I use from rtw88? If I understand correctly, it contain two ones.

bragma commented 1 year ago

Hi, I have experience with all 3 drivers (as a user) with a pci-e 8821ce chipset. I need to have AP + client working at the same time.

tomaspinho/rtl8821ce: stable, but sometimes the commmand "iw wlanX scan" locked forever. Didn't try if AP+client works.

lwfinger/rtw88: required configuration tweaks to make it stable (out of the box, it crashed my board sometimes even during boot time). I've tried to make AP+client work, as it should since it is based on mac80211. Author says it should work. but never been able to.

lwfinger/rtw88 "alt driver": stable, needs to be compiled with a flag to enable both wlan0 and wlan1. Configured as AP+client, it works. Still sometimes hangs during "iw wlanX scan", but worked around this using wpa_cli.

ohquait commented 1 year ago

Hi, I have experience with all 3 drivers (as a user) with a pci-e 8821ce chipset. I need to have AP + client working at the same time.

tomaspinho/rtl8821ce: stable, but sometimes the commmand "iw wlanX scan" locked forever. Didn't try if AP+client works.

lwfinger/rtw88: required configuration tweaks to make it stable (out of the box, it crashed my board sometimes even during boot time). I've tried to make AP+client work, as it should since it is based on mac80211. Author says it should work. but never been able to.

lwfinger/rtw88 "alt driver": stable, needs to be compiled with a flag to enable both wlan0 and wlan1. Configured as AP+client, it works. Still sometimes hangs during "iw wlanX scan", but worked around this using wpa_cli.

@bragma how to you build/make the driver from lwfingers rtw88/alt_rtl8821ce, you use e.g." -Wno-error=implicit-function-declaration" or such ... ? can you PLEASE clearing for me , i become errors during make, and i mean not distribution-specific-errors:

DKMS make.log for alt_rtl8821ce-0.1.2-1pclos2023 for kernel 6.1.3-pclos1 (x86_64) Sat Jan 7 11:01:59 AM UTC 2023

make -C /lib/modules/6.1.3-pclos1/build M=/var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build clean

cd hal ; rm -fr ///.mod.c ///.mod ///.o ///..cmd ///.ko cd hal ; rm -fr //.mod.c //.mod //.o //..cmd //.ko cd hal ; rm -fr /.mod.c /.mod /.o /..cmd /.ko cd hal ; rm -fr .mod.c .mod .o ..cmd .ko cd core ; rm -fr /.mod.c /.mod /.o /..cmd /.ko cd core ; rm -fr .mod.c .mod .o ..cmd .ko cd os_dep/linux ; rm -fr .mod.c .mod .o ..cmd .ko cd os_dep ; rm -fr .mod.c .mod .o ..cmd .ko cd platform ; rm -fr .mod.c .mod .o ..cmd .ko rm -fr Module.symvers ; rm -fr Module.markers ; rm -fr modules.order rm -fr .mod.c .mod .o ..cmd .ko ~ rm -fr .tmp_versions make ARCH=x86_64 CROSS_COMPILE= -C /lib/modules/6.1.3-pclos1/build M=/var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build modules make[1]: Entering directory '/usr/src/kernel-devel-6.1.3-pclos1' CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_cmd.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_security.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_debug.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_io.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_ioctl_query.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_ioctl_set.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_ieee80211.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme_ext.o /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme_ext.c: In function ‘rtw_txpwr_init_regd’: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme_ext.c:299:20: warning: this statement may fall through [-Wimplicit-fallthrough=] 299 | if (rfctl->regd_name) | ^ /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme_ext.c:302:9: note: here 302 | default: | ^~~ /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme_ext.c: In function ‘mgt_dispatcher’: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme_ext.c:1667:38: warning: this statement may fall through [-Wimplicit-fallthrough=] 1667 | ptable->func = &OnAuthClient; | ~~~^~~~~ /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mlme_ext.c:1669:9: note: here 1669 | case WIFI_ASSOCREQ: | ^~~~ CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mi.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_wlan_util.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_vht.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_pwrctrl.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_rf.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_chplan.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/monitor/rtw_radiotap.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_recv.o /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_recv.c: In function ‘validate_mp_recv_frame’: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_recv.c:3827:25: warning: this ‘for’ clause does not guard... [-Wmisleading-indentation] 3827 | for (i = 0; i < precv_frame->u.hdr.len; i = i + 8) | ^~~ In file included from /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/include/drv_types.h:60, from /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_recv.c:17: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/include/rtw_debug.h:167:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘for’ 167 | do {\ | ^~ /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_recv.c:3830:33: note: in expansion of macro ‘RTW_INFO’ 3830 | RTW_INFO("#############################\n"); | ^~~~ CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_sta_mgt.o /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_sta_mgt.c: In function ‘rtw_mfree_stainfo’: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_sta_mgt.c:391:25: warning: the comparison will always evaluate as ‘true’ for the address of ‘lock’ will never be NULL [-Waddress] 391 | if (&psta->lock != NULL) | ^~ In file included from /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/include/drv_types.h:112, from /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_sta_mgt.c:17: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/include/sta_info.h:267:17: note: ‘lock’ declared here 267 | _lock lock; | ^~~~ CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_ap.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/wds/rtw_wds.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/mesh/rtw_mesh.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/mesh/rtw_mesh_pathtbl.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/mesh/rtw_mesh_hwmp.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_xmit.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_p2p.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_rson.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_tdls.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_br_ext.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_iol.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_sreset.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_btcoex_wifionly.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_btcoex.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_beamforming.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_odm.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_rm.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_rm_fsm.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_ft.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_wnm.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_mbo.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_rm_util.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/efuse/rtw_efuse.o /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/efuse/rtw_efuse.c: In function ‘rtw_efuse_analyze’: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/efuse/rtw_efuse.c:941:17: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] 941 | if (i % 16 == 0) | ^~ In file included from /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/include/drv_types.h:60, from /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/efuse/rtw_efuse.c:17: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/include/rtw_debug.h:261:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the ‘if’ 261 | do {\ | ^~ /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/efuse/rtw_efuse.c:943:25: note: in expansion of macro ‘_RTW_PRINT_SEL’ 943 | _RTW_PRINT_SEL(RTW_DBGDUMP, "%02X%s" | ^~~~~~ CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_roch.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/aes-internal.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/aes-internal-enc.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/aes-gcm.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/aes-ccm.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/aes-omac1.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/ccmp.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/gcmp.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/aes-siv.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/aes-ctr.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/sha256-internal.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/sha256.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/sha256-prf.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/crypto/rtw_crypto_wrap.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/core/rtw_swcrypto.o CC [M] /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/os_dep/osdep_service.o /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/os_dep/osdep_service.c: In function ‘rtw_random32’: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/os_dep/osdep_service.c:2970:16: error: implicit declaration of function ‘prandom_u32’; did you mean ‘prandom_u32_max’? [-Werror=implicit-function-declaration] 2970 | return prandom_u32(); | ^~~ | prandom_u32_max cc1: some warnings being treated as errors make[2]: [scripts/Makefile.build:250: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build/os_dep/osdep_service.o] Error 1 make[1]: [Makefile:1971: /var/lib/dkms/alt_rtl8821ce/0.1.2-1pclos2023/build] Error 2 make[1]: Leaving directory '/usr/src/kernel-devel-6.1.3-pclos1' make: *** [Makefile:2451: modules] Error 2