rtl8821ce
rtl8821ce copied to clipboard
Maintainership
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.
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?
- Kernel is 5.3.0.46.102 according to apt
dkms statusoutput 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
lsmod
Module Size Used by
uas 24576 0
usb_storage 73728 1 uas
md4 16384 0
cmac 16384 1
nls_utf8 16384 3
cifs 995328 2
libarc4 16384 1 cifs
fscache 368640 1 cifs
rfcomm 81920 16
vboxnetadp 28672 0
vboxnetflt 28672 0
aufs 258048 0
vboxdrv 483328 2 vboxnetadp,vboxnetflt
overlay 114688 0
bnep 24576 2
zram 32768 8
binfmt_misc 24576 1
snd_hda_codec_realtek 118784 1
snd_hda_codec_generic 81920 1 snd_hda_codec_realtek
ledtrig_audio 16384 2 snd_hda_codec_generic,snd_hda_codec_realtek
snd_hda_codec_hdmi 57344 1
snd_hda_intel 53248 7
snd_intel_nhlt 20480 1 snd_hda_intel
snd_hda_codec 131072 4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
uvcvideo 94208 0
snd_hda_core 90112 5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
edac_mce_amd 32768 0
snd_hwdep 20480 1 snd_hda_codec
videobuf2_vmalloc 20480 1 uvcvideo
cdc_ether 20480 0
snd_pcm 102400 5 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_core
videobuf2_memops 20480 1 videobuf2_vmalloc
btusb 57344 0
usbnet 45056 1 cdc_ether
kvm_amd 94208 0
videobuf2_v4l2 24576 1 uvcvideo
btrtl 20480 1 btusb
snd_seq_midi 20480 0
r8152 65536 0
videobuf2_common 49152 2 videobuf2_v4l2,uvcvideo
btbcm 16384 1 btusb
snd_seq_midi_event 16384 1 snd_seq_midi
ccp 90112 1 kvm_amd
videodev 208896 3 videobuf2_v4l2,uvcvideo,videobuf2_common
btintel 24576 1 btusb
kvm 655360 1 kvm_amd
nls_iso8859_1 16384 1
bluetooth 573440 43 btrtl,btintel,btbcm,bnep,btusb,rfcomm
mii 16384 2 usbnet,r8152
mc 53248 4 videodev,videobuf2_v4l2,uvcvideo,videobuf2_common
snd_rawmidi 36864 1 snd_seq_midi
irqbypass 16384 1 kvm
ecdh_generic 16384 1 bluetooth
hid_sensor_accel_3d 20480 1
ecc 32768 1 ecdh_generic
input_leds 16384 0
8821ce 1806336 0
hid_sensor_trigger 20480 2 hid_sensor_accel_3d
industrialio_triggered_buffer 16384 1 hid_sensor_accel_3d
snd_seq 69632 2 snd_seq_midi,snd_seq_midi_event
wmi_bmof 16384 0
serio_raw 20480 0
hid_multitouch 28672 0
kfifo_buf 16384 1 industrialio_triggered_buffer
hid_sensor_iio_common 20480 2 hid_sensor_trigger,hid_sensor_accel_3d
snd_seq_device 16384 3 snd_seq,snd_seq_midi,snd_rawmidi
industrialio 73728 5 industrialio_triggered_buffer,hid_sensor_trigger,kfifo_buf,hid_sensor_accel_3d
joydev 28672 0
snd_timer 36864 2 snd_seq,snd_pcm
snd 86016 24 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek,snd_timer,snd_pcm,snd_rawmidi
k10temp 16384 0
snd_pci_acp3x 16384 0
soundcore 16384 1 snd
cfg80211 704512 1 8821ce
mac_hid 16384 0
sch_fq_codel 20480 6
vhba 28672 0
msr 16384 0
parport_pc 40960 0
ppdev 24576 0
lp 20480 0
parport 53248 3 parport_pc,lp,ppdev
ip_tables 32768 0
x_tables 40960 1 ip_tables
autofs4 45056 2
btrfs 1232896 1
xor 24576 1 btrfs
zstd_compress 163840 1 btrfs
raid6_pq 114688 1 btrfs
libcrc32c 16384 1 btrfs
algif_skcipher 16384 0
af_alg 24576 1 algif_skcipher
dm_crypt 45056 1
hid_logitech_hidpp 40960 0
hid_logitech_dj 24576 0
wacom 114688 0
usbhid 53248 2 wacom,hid_logitech_dj
hid_sensor_custom 24576 0
hid_sensor_hub 24576 4 hid_sensor_trigger,hid_sensor_iio_common,hid_sensor_accel_3d,hid_sensor_custom
hid_generic 16384 0
crct10dif_pclmul 16384 1
crc32_pclmul 16384 0
ghash_clmulni_intel 16384 0
amdgpu 4112384 42
aesni_intel 372736 3
amd_iommu_v2 20480 1 amdgpu
gpu_sched 32768 1 amdgpu
i2c_algo_bit 16384 1 amdgpu
aes_x86_64 20480 1 aesni_intel
ttm 102400 1 amdgpu
crypto_simd 16384 1 aesni_intel
drm_kms_helper 180224 1 amdgpu
cryptd 24576 3 crypto_simd,ghash_clmulni_intel
glue_helper 16384 1 aesni_intel
syscopyarea 16384 1 drm_kms_helper
sysfillrect 16384 1 drm_kms_helper
sysimgblt 16384 1 drm_kms_helper
fb_sys_fops 16384 1 drm_kms_helper
i2c_piix4 28672 0
drm 491520 28 gpu_sched,drm_kms_helper,amdgpu,ttm
nvme 45056 3
nvme_core 102400 5 nvme
wmi 32768 1 wmi_bmof
i2c_hid 28672 0
video 49152 0
i2c_amd_mp2_plat 20480 0
hid 126976 8 i2c_hid,wacom,usbhid,hid_multitouch,hid_sensor_hub,hid_generic,hid_logitech_dj,hid_logitech_hidpp
i2c_amd_mp2_pci 20480 1 i2c_amd_mp2_plat
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