Realtek WiFi Drivers

rtl8723du is already supported in the main rtl driver. I found this out the hard way, eventually.

From https://www.reddit.com/r/raspberry_pi/comments/ohdm7y/nano_usb_wifibt/

With some hints from https://forums.linuxmint.com/viewtopic.php?t=304266&start=20 I was able to use lsusb to find the device identifier, then modprobe -c|grep -i 7392|grep -i a611 to find out that it is included in the rtl8xxxu driver, which I then discovered is disabled by default in /etc/modprobe.d/blacklist-rtl8xxxu.conf so it is just a matter of removing the blacklist to re-enable the driver and a reboot and wifi is working!

TLDR: run this in a root terminal echo "" > /etc/modprobe.d/blacklist-rtl8xxxu.conf && reboot

1 Like

Which dongle do you have? RTL8723DU shouldn’t be supported by rtl8xxxu. It should require the driver mentioned in the OP. Can you post the output of sudo lsmod?

Try the steps in this article

1 Like

Thanks for the contribution. The RTL88XXCU and RTal8723DU chips will be supported out of the box soon. RTL8188FU is the replacement for the popular RTL8188EU and too new to have upstream driver.

Just for everyone else’s reference, I got an RTL8812AU dual band chip, this was the driver that worked:

1 Like

Thanks for testing and contributing. I added the instructions to the original post. Please let me know if they are correct if you have the bandwidth.

1 Like

I have a Rosewill wifi adapter that uses the RTL8188SU chip. It is recognized and shows up in ifconfig, can scan with iwlist wlan0 scan and shows wifi networks, but cannot connect via iwconfig.

Error for wireless request “Set ESSID” (8B1A) :
SET failed on device wlan0 ; Operation now in progress.

Also if i do iw dev it is not shown.
I downloaded and installed network manager and tried nmcli and configured using nmtui but just spammed wlan0: link is not ready in syslog.

If I try raspi-config network configuration it says cannot communicate with wpa_supplicant. I tried downloading various 81xx drivers i found via github but none of them can compile even with the command in this thread.

ARCH=arm64 make -j`nproc`

lsusb:

Bus 001 Device 004: ID 0bda:8171 Realtek Semiconductor Corp. RTL8188SU 802.11n WLAN Adapter

nmcli:

wlan0: unavailable
“Manufacturer Realtek RNX-N150UBE”
wifi (r8712u), 68:1C:A2:04:9D:5D, hw

Seems like drivers are loaded and everything should be good, can even scan and see networks but can’t connect… dont know what else to do?

You are using multiple network managers to configure WiFi. Use one because they will conflict. The first error just means something else is using it.

I’m using an 8811cu adapter ( https://a.co/d/e4AacOk ) and followed steps above.

lsusb

Bus 001 Device 003: ID 0bda:c811 Realtek Semiconductor Corp. 802.11ac NIC
Bus 001 Device 004: ID 0484:5750 Specialix MPI7003
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

dmesg | grep 882

[   14.778828] Registered IR keymap rc-cec
[   15.481167] rtw_8821cu 1-2:1.0: Firmware version 24.11.0, H2C version 12
[   15.583237] usbcore: registered new interface driver rtw_8821cu
[   15.683207] 8821cu: loading out-of-tree module taints kernel.
[   15.716466] usbcore: registered new interface driver rtl8821cu
[   26.761548] rtw_8821cu 1-2:1.0: error beacon valid
[   26.761588] rtw_8821cu 1-2:1.0: failed to download rsvd page
[   26.761738] rtw_8821cu 1-2:1.0: failed to download firmware
[   26.763926] rtw_8821cu 1-2:1.0: leave idle state failed
[   26.766262] rtw_8821cu 1-2:1.0: failed to leave ips state
[   26.766281] rtw_8821cu 1-2:1.0: failed to leave idle state

iw dev

phy#0
        Interface wlan0
                ifindex 3
                wdev 0x1
                addr e0:09:bf:fb:f3:ba
                type managed
                txpower 30.00 dBm
                multicast TXQ:
                        qsz-byt qsz-pkt flows   drops   marks   overlmt hashcol tx-bytes        tx-packets
                        0       0       0       0       0       0       0       0               0

Won’t connect and does not return scan results. Any help is appreciated.

Just adding my own reference to this thread for others or possibly myself later, I got a TP-Link AC600 which uses the RTL8811AU chip, the instructions in the OP for the RTL8812AU have worked for me.

1 Like
2023-08-29 15:50:21 root@lepotato:~/libretech-builder-simple# lsmod
Module                  Size  Used by
algif_hash             16384  1
algif_skcipher         16384  1
af_alg                 28672  6 algif_hash,algif_skcipher
bnep                   24576  2
openvswitch           163840  0
nsh                    16384  1 openvswitch
nf_conncount           24576  1 openvswitch
nf_nat                 49152  1 openvswitch
nf_conntrack          155648  3 nf_nat,openvswitch,nf_conncount
nf_defrag_ipv6         20480  2 nf_conntrack,openvswitch
nf_defrag_ipv4         16384  1 nf_conntrack
zram                   36864  2
8021q                  32768  0
zsmalloc               28672  1 zram
garp                   16384  1 8021q
mrp                    20480  1 8021q
stp                    16384  1 garp
llc                    16384  2 stp,garp
rtl8xxxu              114688  0
btusb                  57344  0
mac80211             1077248  1 rtl8xxxu
btrtl                  20480  1 btusb
joydev                 28672  0
btbcm                  24576  1 btusb
mousedev               20480  0
btintel                40960  1 btusb
btmtk                  16384  1 btusb
bluetooth             651264  29 btrtl,btmtk,btintel,btbcm,bnep,btusb
cfg80211              929792  2 mac80211,rtl8xxxu
ecdh_generic           16384  1 bluetooth
hid_multitouch         24576  0
ecc                    36864  1 ecdh_generic
rfkill                 32768  5 bluetooth,cfg80211
libarc4                16384  1 mac80211
crct10dif_ce           16384  1
polyval_ce             16384  0
polyval_generic        16384  1 polyval_ce
snd_soc_hdmi_codec     20480  1
meson_vdec             73728  0
videobuf2_dma_contig    20480  1 meson_vdec
meson_ir               16384  0
v4l2_mem2mem           36864  1 meson_vdec
amlogic_gxl_crypto     20480  1
videobuf2_memops       16384  1 videobuf2_dma_contig
videobuf2_v4l2         32768  2 meson_vdec,v4l2_mem2mem
videobuf2_common       65536  5 meson_vdec,videobuf2_dma_contig,videobuf2_v4l2,v4l2_mem2mem,videobuf2_memops
crypto_engine          20480  1 amlogic_gxl_crypto
meson_rng              16384  0
rng_core               20480  2 meson_rng
snd_soc_meson_aiu      32768  3
snd_soc_meson_codec_glue    16384  1 snd_soc_meson_aiu
videodev              266240  4 meson_vdec,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
ao_cec                 16384  0
snd_soc_meson_t9015    24576  1
mc                     57344  4 videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
snd_soc_meson_gx_sound_card    16384  0
snd_soc_meson_card_utils    16384  1 snd_soc_meson_gx_sound_card
scpi_hwmon             16384  0
snd_soc_simple_amplifier    16384  1
efi_pstore             16384  0
pstore                 28672  1 efi_pstore
parport_pc             28672  0
ppdev                  20480  0
lp                     20480  0
parport                53248  3 parport_pc,lp,ppdev
fuse                  139264  3
bpf_preload            24576  0
ip_tables              32768  0
x_tables               45056  1 ip_tables
ipv6                  614400  150
crc_ccitt              16384  1 ipv6
raid10                 65536  0
raid456               163840  0
async_raid6_recov      16384  1 raid456
async_memcpy           16384  1 raid456
async_pq               16384  1 raid456
async_xor              16384  2 async_pq,raid456
async_tx               16384  5 async_pq,async_memcpy,async_xor,raid456,async_raid6_recov
raid1                  53248  0
raid0                  24576  0
md_mod                172032  4 raid1,raid10,raid0,raid456
hid_logitech_hidpp     45056  0
hid_logitech_dj        28672  0
dw_hdmi_i2s_audio      16384  0
dwmac_generic          16384  0
lima                   69632  5
dwmac_meson8b          16384  0
meson_drm              65536  5
stmmac_platform        20480  2 dwmac_meson8b,dwmac_generic
drm_dma_helper         20480  1 meson_drm
gpu_sched              49152  1 lima
meson_canvas           16384  2 meson_drm,meson_vdec
stmmac                233472  3 dwmac_meson8b,stmmac_platform,dwmac_generic
pcs_xpcs               20480  1 stmmac
phylink                53248  2 stmmac,pcs_xpcs
meson_dw_hdmi          20480  0
rtc_meson_vrtc         16384  1
dw_hdmi                45056  2 meson_dw_hdmi,dw_hdmi_i2s_audio
drm_display_helper    159744  1 dw_hdmi
cec                    69632  4 meson_drm,drm_display_helper,dw_hdmi,ao_cec
rc_core                49152  4 meson_ir,cec
simpledrm              20480  0
drm_shmem_helper       24576  2 lima,simpledrm
display_connector      16384  0
drm_kms_helper        192512  9 meson_dw_hdmi,meson_drm,drm_dma_helper,display_connector,drm_display_helper,dw_hdmi,simpledrm
syscopyarea            16384  1 drm_kms_helper
sysfillrect            16384  1 drm_kms_helper
sysimgblt              16384  1 drm_kms_helper
fb_sys_fops            16384  1 drm_kms_helper
2023-08-29 16:22:22 root@lepotato:~/libretech-builder-simple# lsusb
Bus 001 Device 003: ID 7392:a611 Edimax Technology Co., Ltd EW-7611ULB 802.11b/g/n and Bluetooth 4.0 Adapter
Bus 001 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 0484:5750 Specialix MPI7003
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
2023-08-29 16:22:27 root@lepotato:~/libretech-builder-simple# modprobe -c|grep -i 7392|grep -i a611
alias usb:v7392pA611d*dc*dsc*dp*icFFiscFFipFFin* rtl8xxxu
2023-08-29 16:23:15 root@lepotato:~/libretech-builder-simple# 

According to Edimax EW-7611ULB - TechInfoDepot it is a rtl8723du chip, and I can confirm it is supported and working well with the rtl8xxxu driver. Because it is so small, includes both WiFi 2.4GHz and bluetooth, it makes an excellent companion to Le Potato which doesn’t have either onboard, and only uses a single USB port with relatively low power consumption.

RTL8723DU does not need any drivers. Our stock kernel supports that dongle.

Interesting… I just flashed the Raspbian 11 image and still had to remove the modprobe blacklist as in my comment above and reboot to make WiFi work.

Hi @librecomputer I am having the same issue as @chris_tm3d. I am using a 4G Renegade board with RaspberryPi OS Lite 64 bit. I am on kernel 6.1.46. I am trying to install drivers for the BrosTrend AC1200 AC1L. I am trying to install RTL8812AU, but having the exact same issues with the Glibc version.

I followed your advice and tried to run sudo make scripts in my Linux Header source file under /use/src/ However, it is unable to make the scripts because kconfig is unable to be found. Despite it residing in the scripts folder:

I tried taking the advice you gave to sudo apt update and sudo apt dist-upgrade, but it appears I am fully up to date with my kernel and it isn’t upgrading.

I wanted to include more photos to show my output, but as a new user, I can only share one atm.

How do you advise that I proceed with this issue?

Those instructions were for really old kernels. It is no longer necessary to make scripts.

What commands are you using to install and what is the problem you get?

sudo apt install -y build-essential bc flex bison
git clone https://github.com/aircrack-ng/rtl8812au.git
cd rtl8812au
ARCH=arm64 make -j`nproc`
sudo ARCH=arm64 make install
sudo modprobe 88XXau

I am running the above commands. When I run the make command, I get the following error/output:

make ARCH=arm64 CROSS_COMPILE= -C /lib/modules/6.1.46-08797-g9c18484153bc/build M=/home/pi-ap/rtl8812au  modules
make[1]: Entering directory '/usr/src/linux-headers-6.1.46-08797-g9c18484153bc'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
  You are using:           gcc (Debian 10.2.1-6) 10.2.1 20210110
  CC [M]  /home/pi-ap/rtl8812au/core/rtw_cmd.o
  CC [M]  /home/pi-ap/rtl8812au/core/rtw_security.o
  CC [M]  /home/pi-ap/rtl8812au/core/rtw_debug.o
  CC [M]  /home/pi-ap/rtl8812au/core/rtw_io.o
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by scripts/basic/fixdep)
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:250: /home/pi-ap/rtl8812au/core/rtw_io.o] Error 1
make[2]: *** Deleting file '/home/pi-ap/rtl8812au/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 (required by scripts/basic/fixdep)
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:250: /home/pi-ap/rtl8812au/core/rtw_cmd.o] Error 1
make[2]: *** Deleting file '/home/pi-ap/rtl8812au/core/rtw_cmd.o'
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by scripts/basic/fixdep)
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:250: /home/pi-ap/rtl8812au/core/rtw_security.o] Error 1
make[2]: *** Deleting file '/home/pi-ap/rtl8812au/core/rtw_security.o'
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by scripts/basic/fixdep)
scripts/basic/fixdep: /lib/aarch64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by scripts/basic/fixdep)
make[2]: *** [scripts/Makefile.build:250: /home/pi-ap/rtl8812au/core/rtw_debug.o] Error 1
make[2]: *** Deleting file '/home/pi-ap/rtl8812au/core/rtw_debug.o'
make[1]: *** [Makefile:2012: /home/pi-ap/rtl8812au] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-6.1.46-08797-g9c18484153bc'
make: *** [Makefile:1726: modules] Error 2

Do you guys have the compiled RTL8821CU .bin file? I’m trying to get Wi-Fi working on Batocera but it looks like they do not have it packaged in yet. I tried compiling it on my own but can’t get it to work.

This should be available here: kernel/git/firmware/linux-firmware.git - Repository of firmware blobs for use with the Linux kernel

I am also seeking a pre-compiled RTL8821CU .bin file, as this is becoming quite the challenge on Batocera. I searched the repo for the binary but I didn’t see it anywhere, just RTL8821AE. Maybe I’m missing something? If not, I’m just going to attempt to compile it from another computer and transfer it to my Batocera installation—seems to be the only other option.