rtl8821ce

Tomás Pinho 767ddec177 Add upgrade instructions 5 éve
core c89f38481d Add a simple check to prevent kernel panics from nullptr dereferences 5 éve
hal 66cda20ea6 Update rtl8821ce_halmac.c 6 éve
include 1587b23faa Use IEEE80211_MAX_AMPDU_BUF_HT on kernel 4.19+ 6 éve
os_dep ff74b75511 convert file_operations structs to proc_ops structs for compatibility with linux 5.6 5 éve
platform 06052776f5 Bring in sources from endlessm at 937be30d1142c74a2b82291d63c6b3d1911b7498 - Realtek v5.5.2 6 éve
.gitignore 5f5e55900b add intermediate build artifacts to gitignore 6 éve
Dockerfile 27f98a55cc better 2-staged Dockerfile for development 6 éve
Kconfig f02ca493e0 add sources at da7fa93c9caff5d2bb5b9026e39155672bb05f98 7 éve
Makefile f61dc4ca82 Remove extra bracket on srctree conditional 6 éve
PKGBUILD 6ba8930b58 not relying on separate dkms.conf, it's already in-repo 7 éve
README.md 767ddec177 Add upgrade instructions 5 éve
clean f02ca493e0 add sources at da7fa93c9caff5d2bb5b9026e39155672bb05f98 7 éve
dkms-install.sh 2ad2174070 make DKMS script capable of installing from current dir instead of weird DRV_DIR setup 6 éve
dkms-remove.sh 2ad2174070 make DKMS script capable of installing from current dir instead of weird DRV_DIR setup 6 éve
dkms.conf 76166177e9 make KVER dependent on dkms 7 éve
get_sources.sh 9ec8f2ec8a add script to checkout sources from endlessm 7 éve
halmac.mk c97642f876 fix include paths 6 éve
ifcfg-wlan0 06052776f5 Bring in sources from endlessm at 937be30d1142c74a2b82291d63c6b3d1911b7498 - Realtek v5.5.2 6 éve
rtl8821c.mk c97642f876 fix include paths 6 éve
runwpa f02ca493e0 add sources at da7fa93c9caff5d2bb5b9026e39155672bb05f98 7 éve
wlan0dhcp f02ca493e0 add sources at da7fa93c9caff5d2bb5b9026e39155672bb05f98 7 éve

README.md

Realtek RTL8821CE Driver

Intent

This repository hosts the code for the Arch Linux AUR Package. It's targeting Linux > 4.14 and is being developed for Arch Linux and Ubuntu 18.10. No support will be provided for other Linux distributions or Linux Kernel versions outside of that range.

Disclaimer

The maintainers of this repository are not Realtek employees and are maintaining this repository for their own usage. Further feature development (such as proper power saving, etc.) will not be pursued here, but will be gladly integrated if newer driver sources are provided by Realtek. Use at your own risk.

DKMS

This driver can be installed using DKMS. This is a system which will automatically recompile and install a kernel module when a new kernel gets installed or updated. To make use of DKMS, install the dkms package.

Installation of Driver

Make sure you have a proper build environment and dkms installed.

Ubuntu & Debian

sudo apt install bc module-assistant build-essential dkms
sudo m-a prepare

Arch Linux

Make sure you have the base-devel package group installed before you proceed for the necessary compilation tools.

Installing from AUR

Install rtl8821ce-dkms-git from the AUR.

Dependencies for manual installation on Arch Linux

sudo pacman -Syu linux-headers dkms

If you are running a non-vanilla kernel then install the headers to match the kernel package. Proceed to the section below.

Manual installation of driver

In order to install the driver open a terminal in the directory with the source code and execute the following command:

sudo ./dkms-install.sh

Removal of Driver

Open a terminal window and git clone the repository to your local disk

git clone https://github.com/tomaspinho/rtl8821ce.git
cd rtl8821ce

Then run the installation script:

sudo ./dkms-remove.sh

Upgrading driver

Remove the driver:

sudo ./dkms-remove.sh

Make sure you have your local copy of this repository fully updated:

git pull

Clean any stale binaries:

make clean

Install again:

sudo ./dkms-install.sh

Reporting issues

When reporting issues, please make sure that debugging is enabled. To enable debugging either set MAKEFLAGS="CONFIG_RTW_DEBUG = y" before compilation or edit Makefile:

CONFIG_RTW_DEBUG = y

This will enable verbose debug logging, helpful to developers.

Possible issues

PCIe Activate State Power Management

Your distribution may come with PCIe Active State Power Management enabled by default. That may conflict with this driver. To disable:

sudo $EDITOR /etc/default/grub

Add pci=noaer at the end of GRUB_CMDLINE_LINUX_DEFAULT. Line should look like this:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash pci=noaer"

Then update your GRUB configuration:

sudo update-grub

Reboot.

Lenovo Yoga laptops

Some new Yoga laptops (like the Yoga 530) come with rtl8821ce as the Wi-Fi/Bluetooth chip. But the ideapad-laptop module, which may come included in your distribution, may conflict with this driver. To disable:

sudo modprobe -r ideapad_laptop

BlueTooth is not working

This may be due to the Kernel loading up the wrong firmware file for this card. Please take a look at @wahsot's tutorial at https://github.com/tomaspinho/rtl8821ce/issues/19#issuecomment-452196840 to see if that helps you out.