driver-rtw8852cu-dkms
Driver - RTW8852CU - DKMS
- Copyright: 2026 Adrian DC
Table of Contents
Purpose
- Use Linux upstream
rtw8852cukernel driver (disabled by default for the time being) - Download related files to build the module from minimal sources without kernel clones
Usage
- Tested on Debian 13.6, using kernel 7.1.x from official
trixie-backports
Script
#!/bin/bash
# Options
set -ex
# Variables
VER=$(uname -r | sed 's/+.*//' | cut -d'.' -f1,2)
KVER=$(uname -r | sed 's/+.*//')
MODULE='rtw8852cu'
NAME='rtw89-8852cu'
DIR="/usr/src/${NAME}-${VER}"
KERNEL_PATH='drivers/net/wireless/realtek/rtw89'
KERNEL_URL='https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git'
# Dependencies
sudo apt update
sudo apt install -y build-essential curl dkms mokutil
# Sources
sudo rm -rf "${DIR}"
sudo mkdir -p "${DIR}"
for file in \
"${MODULE}.c" \
rtw8852c.h \
core.h \
debug.h \
reg.h \
txrx.h \
usb.h \
; do
sudo curl -L -o "${DIR}/${file}" -s "${KERNEL_URL}/plain/${KERNEL_PATH}/${file}?h=v${KVER}"
done
# Makefile
sudo tee "${DIR}/Makefile" >/dev/null <<EOF
obj-m += ${MODULE}.o
KDIR ?= /lib/modules/\$(KERNELRELEASE)/build
all:
\$(MAKE) -C \$(KDIR) M=\$(PWD) modules
clean:
\$(MAKE) -C \$(KDIR) M=\$(PWD) clean
EOF
# DKMS
sudo tee "${DIR}/dkms.conf" >/dev/null <<EOF
PACKAGE_NAME="${NAME}"
PACKAGE_VERSION="${VER}"
BUILT_MODULE_NAME[0]="${MODULE}"
DEST_MODULE_LOCATION[0]="/kernel/${KERNEL_PATH}"
AUTOINSTALL="yes"
EOF
# Signature
if sudo mokutil --sb-state 2>/dev/null; then
sudo mokutil --sb-state
sudo dkms generate_mok
sudo mokutil --import /var/lib/dkms/mok.pub
sudo mokutil --test-key /var/lib/dkms/mok.pub || true
fi
# Installation
sudo dkms remove -m "${NAME}" -v "${VER}" || true
sudo dkms add -m "${NAME}" -v "${VER}"
sudo dkms build -m "${NAME}" -v "${VER}"
sudo dkms install -m "${NAME}" -v "${VER}"
# Activation
sudo depmod -a
sudo dkms status
sudo modinfo "${MODULE}"
sudo modprobe -r "${MODULE}" || true
sudo modprobe "${MODULE}"