driver-rtw8852cu-dkms

driver-rtw8852cu-dkms

Driver - RTW8852CU - DKMS

  • Copyright: 2026 Adrian DC

Table of Contents


Purpose

  • Use Linux upstream rtw8852cu kernel 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}"