tomaspinho / rtl8821ce

Other
1.58k stars 412 forks source link

Driver refuses to install in 6.0.0-rc1 #290

Closed NoGoat closed 2 years ago

NoGoat commented 2 years ago

Hello. I have been trying to install the driver in the new 6.0.0 rc-1 kernel but it keeps failing with the error

Error! Bad return status for module build on kernel: 6.0.0-rc1-zen (x86_64)
Consult /var/lib/dkms/rtl8821ce/1.0.5.r140.gbe733dc/build/make.log for more information.

Here's the log file

NoGoat commented 2 years ago

For reference I tried both the AUR package and the one on this github page too

urparvezali commented 2 years ago

same case with me

loqs commented 2 years ago

Please test apply the following patch after #291 note it only fixes the 6.0 related issues so CONFIG_WERROR must be disabled until all warnings are addressed.

diff --git a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
index 556eb51..7d3f0a9 100644
--- a/os_dep/linux/ioctl_cfg80211.c
+++ b/os_dep/linux/ioctl_cfg80211.c
@@ -1080,7 +1080,13 @@ check_bss:
                #endif

                #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
+               #if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
+               roam_info.channel = notify_channel;
                roam_info.bssid = cur_network->network.MacAddress;
+               #else
+               roam_info.links[0].channel = notify_channel;
+               roam_info.links[0].bssid = cur_network->network.MacAddress;
+               #endif
                roam_info.req_ie = pmlmepriv->assoc_req + sizeof(struct rtw_ieee80211_hdr_3addr) + 2;
                roam_info.req_ie_len = pmlmepriv->assoc_req_len - sizeof(struct rtw_ieee80211_hdr_3addr) - 2;
                roam_info.resp_ie = pmlmepriv->assoc_rsp + sizeof(struct rtw_ieee80211_hdr_3addr) + 6
NoGoat commented 2 years ago

How do I disable CONFIG_WERROR

loqs commented 2 years ago

In the kernel's config replace CONFIG_WERROR=y with # CONFIG_WERROR is not set. You might be able to leave CONFIG_WERROR enabled by changing https://github.com/tomaspinho/rtl8821ce/blob/be733dc86781c68571650b395dd0fa6b53c0a039/Makefile#L6 to

EXTRA_CFLAGS += -Wno-error
NoGoat commented 2 years ago

It didn't work so I'm uploading the makelog and the file that I modified to make sure that I did it right make.log ioctl_cfg80211.log BTW I renamed ioctl_cfg80211.c to ioctl_cfg80211.log so that I can upload it here since Github didn't let me upload it.

loqs commented 2 years ago

I am guessing you edited the file by hand. You left the pluses at the start of line 1084 and 1087-1089. Delete the plus and see if it then works.

NoGoat commented 2 years ago

Yes I edited the file by hand and yes, I'm dumb and didn't notice the plus lol Also, I'm happy to announce that the driver installed without any issues. In fact, I'm posting this from the 6.0.0 kernel