Coder Social home page Coder Social logo

axiomware / rtl8821cu_driver_v5.8.1 Goto Github PK

View Code? Open in Web Editor NEW
47.0 4.0 16.0 4.04 MB

Linux Driver for RTL8821CU, RTL8811CU USB Wi-Fi NIC

Makefile 0.36% Shell 0.01% C 97.18% C++ 2.00% Objective-C 0.46%
rtl8821cu rtl8811cu linux-drivers wi-fi

rtl8821cu_driver_v5.8.1's Introduction

RTL8821CU_RTL8811CU_driver version v5.8.1

RTL8811CU and RTL8821CU driver

The Realtek RTL8811CU-CG is a highly integrated single-chip that supports 1-stream 802.11ac solutions with Multi-user MIMO (Multiple-Input, Multiple-Output) and Wireless LAN (WLAN) USB interface controller. It combines a WLAN MAC, a 1T1R capable WLAN baseband, and RF in a single chip. The RTL8811CU-CG provides an outstanding solution for a high-performance integrated wireless device.:

  • USB high speed interface
  • 802.11ac/abgn, 802.11ac
  • 2.4 GHz Support
  • 5.8 GHz Support
  • Supports concurrent mode (operates as two virtual WLAN interfaces)
  • MIMO config - 1x1
  • MU-MIMO
  • AC wave2
  • 256 QAM

Driver features

  • IEEE 802.11 b/g/n/ac WiFi compliant
  • 802.1x, WEP, WPA TKIP and WPA2 AES/Mixed mode for PSK and TLS (Radius)
  • WPA3 SAE (Personal)
  • WPS - PIN and PBC Methods
  • IEEE 802.11b/g/n/ac Client mode
    • Support wireless security for WEP, WPA TKIP and WPA2 AES PSK
    • Support site survey scan and manual connect
    • Support WPA/WPA2 TLS client
    • Support power saving mode
  • Soft AP mode
  • WiFi-Direct
  • Miracast
  • MU-MIMO
  • BT-COEXist
  • Mesh
  • Wake on WLAN

Platform support

  • Linux (kernel 2.6.18 ~ 5.x)
  • Android 1.6 ~ 2.3, 4.0 ~ 9.x

Linux driver support

The Linux driver appears as 8821cu.ko. Check if the USB sub-system recognizes the device.

uname -a
Linux nes3 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64 GNU/Linux
lsusb | grep Realtek
Bus 001 Device 003: ID 0bda:c811 Realtek Semiconductor Corp.
lsmod | grep 8821cu
8821cu               2260992  0
cfg80211              589824  1 8821cu
usbcore               253952  6 ehci_hcd,xhci_pci,btusb,8821cu,xhci_hcd,ehci_pci

If 8821cu is present, everything is good to go!

Building the driver

If the driver is not present, it can be built using the included driver sources.

  • Driver version : rtl8821CU_WiFi_linux_v5.8.1_34171.20190628_COEX20190509-4141
  • Driver changelog.pdf
  • Build tools - Install build tools, if needed (see below)
# Install build tools
sudo apt-get install build-essential -y
sudo apt-get install bc -y
sudo apt-get install unzip git -y

# install kernel headers
sudo apt-get install linux-headers-$(uname -r)

# check
apt search linux-headers-$(uname -r)
ls -l /usr/src/linux-headers-$(uname -r)

Option 1 - Direct build

git clone https://github.com/axiomware/RTL8821CU_driver_v5.8.1.git
cd RTL8821CU_driver_v5.8.1
Following customizations have been made to the default Makefile(see installation document for details):
  • Choose x86 target
  • Concurrent mode enabled (To disable, comment out EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE)
  • Mesh point enabled (To disable, comment out EXTRA_CFLAGS += -DCONFIG_RTW_MESH)
  • Monitor mode enabled (To disable, set CONFIG_WIFI_MONITOR = n)
  • Log Level = 3 (default is 4, set CONFIG_RTW_LOG_LEVEL = 4)
# Build
make

# install
sudo make install

# reboot to start the wireless module or use modprobe to load the driver
sudo modprobe 8821cu

#uninstall the driver using make
sudo make uninstall

# or uninstall directly if make is not installed
KVER=$(uname -r)
MODFILE=/lib/modules/$KVER/kernel/drivers/net/wireless/8821cu.ko
sudo rm -f $MODFILE
sudo /sbin/depmod -a $KVER

Option 2 - DKMS build (verified on Debian 10 LTS with Kernel version 4.19)

DKMS 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 and follow the steps listed below:

sudo apt-get install dkms

DRV_NAME=rtl8821CU
DRV_VERSION=5.8.1

git clone https://github.com/axiomware/RTL8821CU_driver_v5.8.1.git

# Modify Makefile, if needed (see installation document for details)
# default Makefile is for:
# x86 target
# Concurrent mode enabled
# Monitor mode enabled
# Mesh point

sudo cp -r  RTL8821CU_driver_v5.8.1 /usr/src/${DRV_NAME}-${DRV_VERSION}

# Build and install
sudo dkms add -m ${DRV_NAME} -v ${DRV_VERSION}
sudo dkms build -m ${DRV_NAME} -v ${DRV_VERSION}
sudo dkms install -m ${DRV_NAME} -v ${DRV_VERSION}

# reboot to start the wireless module or use modprobe to load the driver
sudo modprobe 8821cu

# To remove a driver, do the following:
DRV_NAME=rtl8821CU
DRV_VERSION=5.8.1
sudo dkms remove ${DRV_NAME}/${DRV_VERSION} --all

Test Driver

sudo iwconfig
enp3s0    no wireless extensions.

enp1s0    no wireless extensions.

wlx30eb1f04ecad  unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated
          Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

enp2s0    no wireless extensions.

lo        no wireless extensions.

wlp0s18u1u2  unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated
          Sensitivity:0/0
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.