Realtek WiFi Drivers

As some Realtek drivers are still not in tree, you need to compile the drivers separately.

For RTL8811CU, RTL8821CU, and RTL8731AU use 8822cu-20210118 until the upstream RTW88 supports these USB devices.

sudo apt install -y build-essential bc flex bison
git clone https://github.com/morrownr/8821cu-20210118.git
cd 8821cu-20210118
ARCH=arm64 make -j`nproc`
sudo ARCH=arm64 make install
sudo modprobe 8821cu

For RTL8723DU use rtl8723du until the upstream RTW88 supports this USB device.

sudo apt install -y build-essential bc flex bison
git clone https://github.com/lwfinger/rtl8723du.git
cd rtl8723du
ARCH=arm64 make -j`nproc`
sudo ARCH=arm64 make install
sudo modprobe 8723du

For more information, see en:users:drivers:rtl819x [Linux Wireless]

1 Like

results in the following on Le Potato (S905X-CC) bullseye lite image from Index of /ci/raspbian/bullseye/

root@raspberrypi:/8821cu-20210118# ARCH=arm64 make -jnproc
make ARCH=arm64 CROSS_COMPILE= -C /lib/modules/5.19.12-03850-gbf3dc3f513ca/build M=/8821cu- 20210118 modules
make[1]: Entering directory ‘/usr/src/linux-headers-5.19.12-03850-gbf3dc3f513ca’
warning: the compiler differs from the one used to build the kernel
The kernel was built by: gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0
You are using: gcc (Debian 10.2.1-6) 10.2.1 20210110
CC [M] /8821cu-20210118/core/rtw_cmd.o
CC [M] /8821cu-20210118/core/rtw_security.o
CC [M] /8821cu-20210118/core/rtw_debug.o
CC [M] /8821cu-20210118/core/rtw_io.o
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (req uired by scripts/basic/fixdep) scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34’ not found (req uired by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:249: /8821cu-20210118/core/rtw_io.o] Error 1
make[2]: *** Deleting file ‘/8821cu-20210118/core/rtw_io.o’
make[2]: *** Waiting for unfinished jobs…
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (req uired by scripts/basic/fixdep) scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34’ not found (req uired by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:249: /8821cu-20210118/core/rtw_security.o] Error 1
make[2]: *** Deleting file ‘/8821cu-20210118/core/rtw_security.o’
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (req uired by scripts/basic/fixdep) scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34’ not found (req uired by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:249: /8821cu-20210118/core/rtw_cmd.o] Error 1
make[2]: *** Deleting file ‘/8821cu-20210118/core/rtw_cmd.o’
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.33' not found (req uired by scripts/basic/fixdep) scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version GLIBC_2.34’ not found (req uired by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:249: /8821cu-20210118/core/rtw_debug.o] Error 1
make[2]: *** Deleting file ‘/8821cu-20210118/core/rtw_debug.o’
make[1]: *** [Makefile:1846: /8821cu-20210118] Error 2
make[1]: Leaving directory ‘/usr/src/linux-headers-5.19.12-03850-gbf3dc3f513ca’
make: *** [Makefile:2498: modules] Error 2

fixdep is installed with the kernel package and depends on the host used to compile the kernel. In your /usr/src/ linux directory, try to run sudo make scripts to rebuild fixdeps for Raspbian since Raspbian 10 is based on an old version of glibc.

image

Should there be 2 kernel versions here?

ran sudo make script in the later kernel directory
image

sudo apt install bison flex bc build-essential

It should still fail but at least build fixdep. Then try to dkms build.

Need more information. I ran sudo apt update , full-upgrade to get the latest kernel, then ran sudo make scripts in the new kernel dir.


cd

Already sudo make scripts

You didn’t sudo on the later makes.

That does not make any difference.

Have you tried this driver on the S905X ?

Try updating your kernel. It should work now.

sudo apt update
sudo apt dist-upgrade

After sudo apt update and dist-upgrade, get the following error.

after sudo apt autoremove and reboot, reattempt results in warnings forever

The warnings can be ignored.

After driver install and reboot, it does not show up.

lsusb and dmesg | grep 882

The device has always shown up with lsusb

Did you install the module after you made it?

Sorry, my mistake. Did it so many times, I forgot to make install. I have the device working and reading wifi networks. Is there a faster way to load wifi info? For example, Raspian has wpa supplicant.

There are numerous packaged network managers that work on wireless:

  • netplan (Ubuntu Server default, uses systemd-networkd backend by default, no listing capability)
  • NetworkManager (Default for most Desktop GUI distros, nmcli dev wifi)
  • Connman (Best for embedded systems with low system requirements)
  • netctl (Default for Arch)

Remember to only use one and disable the other ones to prevent conflicts.

I see a lot of drivers for Realtek RTL8192* but not one specifically for Realtek RTL8192FU, i have a couple different adapters/chipsets, RTL8192FU being one of them, I’ve been trying to get to work and nothing found that supports this yet. any input on how to get this to work or maybe some adapters that are known to work out of the box?

Realtek engineers basically stated they do not have the resources to support upstream Linux except for their latest WiFi 6 dongles. Basically Realtek BD do not see end users as necessary to support.

That said there’s a few out of tree drivers on GitHub: GitHub - BrightX/rtl8192fu: Realtek 8192FU Linux USB无线网卡驱动

These drivers do not support the mac80211 interface so you cannot use in-kernel WiFi management so you have to use userspace like connman or NetworkManager or wpa_supplicant.

We will be offering first party WiFi devices in a few weeks.

1 Like