Open tomaspinho opened 5 years ago
I don't have the know how to maintain it, it was good while it lasted. Obrigado :)
The laptop I had with this Wi-Fi chip was a work laptop that I've since returned, because I'm in between jobs. However, I will try to keep merging Pull Requests and helping people out until someone more suited to the task comes along.
RTW88 driver is getting merged into Linux 5.2
https://www.phoronix.com/scan.php?page=news_item&px=Realtek-RTW88-WiFi-Linux-Driver
EDIT: Oops, it's currently only supports 8822, but that's little bit closer to mainline support for this chipset.
Great news! Once that supports rtl8821ce and is merged into the mainline, I will discontinue this project.
New Realtek Official linux driver, include RTL8821CE RTL8822CE https://github.com/alanfox2000/realtek-linux
New Realtek Official linux driver, include RTL8821CE RTL8822CE https://github.com/alanfox2000/realtek-linux
Wow thanks for the git repo, the RTL8821CE driver package is really nice, the install.sh included compiles everything and now the 5ghz band is recognized and power management works (no more issues with resume from sleep). Maybe @tomaspinho could point to this new resource (or maybe the original manufacturer's FTP URL?). BTW, I'm running a Lenovo 530 ARR on KDE neon (18.04) if it guides anyone.
Thanks for bringing those to my attention. I'd like to update this repo with the latest code and keep the DKMS stuff/Arch AUR package going. Can someone link me to the original Realtek FTP so I can verify their origin?
The people of endlessm also updated the sources in their repo. https://github.com/endlessm/linux/tree/master/drivers/net/wireless/rtl8821ce This source looks safe and you already used it in the past.
Not sure if it's the correct one I found, but the realtek driver ftp seems to be not public. You need username+password for it. As far as I read, only some oems have access. So we are forced to trust alanfox2000 or endlessm.
Hey, can someone help me out testing updated sources (from endlessm)? https://github.com/tomaspinho/rtl8821ce/pull/54
Hey, can someone help me out testing updated sources (from endlessm)?
54
Which branch should I checkout ?
The one in the PR: v5.5.2
If you are able to continue development, please contact me.
Hi,
did you find someone to 'continue development' or not? I have some Java experience and C development 25 years before. Does it helps?
@HBartolin no, I did not. I've just been maintaining this as best as possible without having access to the actual hardware. @harryyoud and @hashlib have been a major help, though.
@tomaspinho Well, I have hardware that use RTL8821CE. I have basic knowledge of programming. If you want, I can be from tester to admin. If something doesn't know, Internet is here. :-)
I wouldn't mind giving some time to help test either. I've written a fair amount of C code, however I don't have much experience writing drivers. I wrote a keyboard driver but that's about it. If there's some tasks I could contribute to please let me know.
Just found on LKML the expected release date of the driver for 8821CE with rtw88 : 2020.
Just found on LKML the expected release date of the driver for 8821CE with rtw88 : 2020.
Yeah, not looking good. The upstream maintainers don't like the quality of code Realtek has been putting out, so they may even veto it outright. Only time will tell.
To tomaspinho: Not sure if this helps but it seems the Lenovo S145-IWL that I recently picked up at a Best Buy for about $230 has this particular Realtek card in the M.2 slot. Perhaps get a low cost computer and continue to maintain the driver that way? So far, except for the Realtek card, it's a great little Linux computer. Even has NVMe slot in addition to SATA.
Hey @tomaspinho! Huge thanks for putting this repo together!! The driver works like a charm on Fedora 31!
@Matty9191 good to know! 😄
Hey @tomaspinho ,
Since @shakna-israel mentioned in #139 the possibility that the kernel handles the wifi, I was curios to test that.
I removed the driver and tested the latest Ubuntu mainline kernel on my Ubuntu 18.04 (5.6.4 atm). Sadly I hadn't any wifi.
After rebooting to the signed hwe kernel used before to remove the 5.6.4 again, I've wifi currently. Can't see any sign of the module in place, but could you confirm that it's not installed?
dkms status
output has no sign of rtl8821ce module:
vhba, 20200106, 5.3.0-45-generic, x86_64: installed
vhba, 20200106, 5.3.0-46-generic, x86_64: installed
Is there anything I have to check, or is it handled by Ubuntu's default kernel?
Greetings, Lukas
What is the output of uname -a
and lsmod
?
rtw88 only supports 2 adapters, at the moment, this
vendor: 10ec ("Realtek Semiconductor Co., Ltd."), device: b822 ("RTL8822BE 802.11a / b / g / n / ac WiFi adapter") vendor: 10ec ("Realtek Semiconductor Co., Ltd."), device: c822 ("RTL8822CE 802.11ac PCIe Wireless Network Adapter")
https://cateee.net/lkddb/web-lkddb/RTW88.html
Look at the output of lsusb
, if the output is 10ec:b822 or 10ec:c822, then it’s lucky that your adapter is supported by the kernel.
unam -a
:
Linux lukas-lt-hft 5.3.0-46-generic #38~18.04.1-Ubuntu SMP Tue Mar 31 04:17:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
dmesg | grep rtl
[ 17.210813] Bluetooth: hci0: RTL: rtl: examining hci_ver=08 hci_rev=000c lmp_ver=08 lmp_subver=8821
[ 17.213776] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8821c_fw.bin
[ 17.216367] Bluetooth: hci0: RTL: rtl: loading rtl_bt/rtl8821c_config.bin
In lspci -nn
I was able to find this:
01:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8821CE 802.11ac PCIe Wireless Network Adapter [10ec:c821]
So?
8821ce 1806336 0
lsmod
shows that the 8821ce module is loaded, even though you deleted it via dkms, so wi-fi works. I do not know how dkms works when removing / adding kernel modules. I build them through make && make install
.
Hm, how can I make sure the module is being removed again?
In the past I remember if I run the dkms-remove.sh I didn'thave wifi after reboot 🤔🤷♂️
rmmod 8821ce
will unload the module, wi-fi will turn off.
Yeah I can manually unload it, but how do I completely remove it, that it's not there to be loaded on boot?
rm /lib/modules/"kernel_version"/kernel/drivers/net/wireless/8821ce.ko
In "kernel_version" substitute your kernel version
Ok, so
/lib/modules/5.3.0-46-generic/kernel/drivers/net/wireless
- there was no module file/var/lib/dkms/rtl8821ce/v5.5.2_34066.20200325/5.3.0-46-generic/x86_64/module
dkms status
/usr/src
, /var/lib/dkms
and /lib/modules/...
What now sherlock? :shrug:
Watson, find / | grep 8821ce, if it is, delete it or add the module to blacklist. How to add a module to the blacklist, google will help you.
Hoooray, we've found it.
Dumb me, I said I've checked /lib/modules/...
, what I actually only checked was /lib/modules/5.3.0-46-generic/kernel/drivers/net/wireless
.
It hid under /lib/modules/5.3.0-46-generic/updates/dkms
^^
After removing and rebooting, my wifi indeed didn't come up as you expected. Thanks for clearing it up with me :+1: :tada:
Is there an official rtl8821ce driver? If so where is it available? The one linked above from alanfox isn't available now.
There is an official rtl8821ce driver available to OEMs in their FTP server. alanfox's repository was a mirror of the zip files they host in that server. You can find those zip files hosted in multiple places at different versions.
Actually, I've found that the official driver is in the Ubuntu focal package lists now, and you can install it with sudo apt install rtl8821ce-dkms
. Strange that almost nobody mentioned this, and it's working perfectly for me so far.
@ling1729 It's mentioned in the readme of this repo, under the Installation of Driver, Ubuntu & Debian section. It's more up-to-date than it used to be, but still appears to be older than the version available here.
Ah, so it's this driver not the official one?
I'm not very skilled with driver development, but I'm basically dependent on this driver for my new laptop's wifi card. I'm wondering - could this code possibly be GPLv2-licensed and submitted to the Linux kernel for merging?
Linux 5.9 merged rtw88_8821ce driver. It works , but worse than this one and does have firmware issues.
@fierevere good to know.
I've just tested in Linux 5.9 driver, unfortunately, seems like it's not fully compatible with all hardware yet and I got this error
[ 3.541494] rtw_8821ce 0000:03:00.0: Firmware version 24.5.0, H2C version 12
[ 3.558760] rtw_8821ce 0000:03:00.0: rfe 2 isn't supported
[ 3.558890] rtw_8821ce 0000:03:00.0: failed to setup chip efuse info
[ 3.558893] rtw_8821ce 0000:03:00.0: failed to setup chip information
I've sent the following email to one of Realtek's Linux developers, will report back if I get an answer:
Hello,
Apologies if this is not the correct way of getting in touch with rtw88 developers over at Realtek, but I have some questions regarding the support completeness of rtw88 in regards to the 8821ce chip.
I've been maintaining a fork of rtl8821ce over at https://github.com/tomaspinho/rtl8821ce , keeping it compiling with newer kernels, but the module has been getting less stable over time. Over the last couple of years, a lot of the Linux users who have a 8821ce have been using that driver and that repository has accumulated a bit of a following.
When I got the news that rtw88 was in development and that it was going to support 8821ce, I was relieved. I no longer have hardware in my possession with the chip and have been relying on others to test the changes me and others have committed to the repository. I was aiming to archive the repository once Linux 5.9 was released as stable and that would serve as a stop gap kernel version, supporting both modules, allowing for a smooth transition for users.
In the last few months, however, folks following the repository have reported that rtw88 does not support all rfe versions of the chip and that it isn't as stable for 8821ce as rtl8821ce. My questions are as follows:
- Will support for 8821ce in rtw88 remain as is? Are improvements planned?
- What kernel version are you targeting for the above improvements, if planned?
Thank you a ton in advance for any clarifications.
Cumprimentos | Best regards,
Tomás Pinho
I've just tested in Linux 5.9 driver, unfortunately, seems like it's not fully compatible with all hardware yet and I got this error
[ 3.541494] rtw_8821ce 0000:03:00.0: Firmware version 24.5.0, H2C version 12 [ 3.558760] rtw_8821ce 0000:03:00.0: rfe 2 isn't supported [ 3.558890] rtw_8821ce 0000:03:00.0: failed to setup chip efuse info [ 3.558893] rtw_8821ce 0000:03:00.0: failed to setup chip information
I have reported my findings here, but kernel driver worked for me, somehow...
https://lkml.org/lkml/2020/8/5/253
I've just tested in Linux 5.9 driver, unfortunately, seems like it's not fully compatible with all hardware yet and I got this error
[ 3.541494] rtw_8821ce 0000:03:00.0: Firmware version 24.5.0, H2C version 12 [ 3.558760] rtw_8821ce 0000:03:00.0: rfe 2 isn't supported [ 3.558890] rtw_8821ce 0000:03:00.0: failed to setup chip efuse info [ 3.558893] rtw_8821ce 0000:03:00.0: failed to setup chip information
I have reported my findings here, but kernel driver worked for me, somehow...
So, i gather realtek or whoever is mantaining the official driver hasn't commented on whether they will add support for all rfe versions
It looks like support for 8821ce RFE type 2 will land in Linux 5.12. I will cease maintaining this driver once 5.12 stable is released.
Therefore, 5.12 will be a bridge version where this repository will still compile as users can migrate to using rtw88, which should support a hefty majority of 8821ce cards by then.
It looks like support for 8821ce RFE type 2 will land in Linux 5.12. I will cease maintaining this driver once 5.12 stable is released.
A BIG FAT THANK YOU for your maintenance, because ONLY your driver for me works without problem.
Has anyone had the chance to try our Linux 5.12-rc2
, especially with a RFE 2 chip? How is it looking?
Has anyone had the chance to try our Linux
5.12-rc2
, especially with a RFE 2 chip? How is it looking?
I have RFE2 and i test 5.12-rc2 now. [ 31.381238] rtw_8821ce 0000:09:00.0: Firmware version 24.8.0, H2C version 12 [ 31.886486] rtw_8821ce 0000:09:00.0: start vif ac:d5:64:b5:8c:73 on port 0 [ 31.887572] rtw_8821ce 0000:09:00.0: stop vif ac:d5:64:b5:8c:73 on port 0 [ 32.366323] rtw_8821ce 0000:09:00.0: start vif 26:11:50:e2:f6:12 on port 0
it could have been better :\ unfortunately he suffers on "timed out to flush queue 1" which causes the bit rate to be very low (8821ce 4000kB/s vs 520kB/s with rtw_8821ce when i download a file) + the network randomly reconnects
probably bug - same as https://github.com/pop-os/pop/issues/1302
[ 324.301635] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 324.434983] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 326.291613] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 326.428272] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 326.838273] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 328.511578] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 329.041580] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 329.178258] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 330.301567] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 330.438238] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 331.238219] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 331.778214] rtw_8821ce 0000:09:00.0: timed out to flush queue 1 [ 332.288210] rtw_8821ce 0000:09:00.0: timed out to flush queue 1
wlan0 IEEE 802.11 ESSID:"devolo"
Mode:Managed Frequency:2.447 GHz Access Point: F4:06:8D:D8:02:6C
Bit Rate=39 Mb/s Tx-Power=20 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=19/70 Signal level=-91 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:28 Invalid misc:3205 Missed beacon:0
link quality varies between 19/70 and 62/70
Invalid misc:3205 Tx excessive retries:28 <--- i never had this problem with your driver
for now, I strongly recommend keeping your driver alive :-)
As of 28th February 2019, I will no longer have access to a machine with the Wi-Fi chip supported by this module. Therefore, I will no longer be able to maintain this repository from a functionality perspective.
If you are able to continue development, please contact me.