wifi: rtw88: Enable the new RTL8821AU/RTL8812AU drivers
authorBitterblue Smith <rtl8821cerfe2@gmail.com>
Wed, 30 Oct 2024 18:31:28 +0000 (20:31 +0200)
committerPing-Ke Shih <pkshih@realtek.com>
Wed, 6 Nov 2024 06:30:29 +0000 (14:30 +0800)
These are older Wifi 5 chips. RTL8821AU is 1x1, with or without
Bluetooth. RTL8812AU is 2x2, without Bluetooth.

Beamforming is not implemented. It looks like these chips need a
different implementation than what is in bf.c.

Speed tests with RTL8821AU: 137 Mbps download, 144 Mbps upload.
Speed tests with RTL8812AU: 344 Mbps download, 387 Mbps upload.

Station mode and AP mode were tested.

Bluetooth coexistence works. I used my Bluetooth headphones for
several days, listening to music and watching videos. There is only
a problem with the wifi speeds with one router:

With ISP's HG6544C router:
Official driver: 3/5 Mbps.
rtw88: a bit more, but not steady at all. Not enough to watch a 1080p
Youtube video.

With my D-Link Eagle R32 router running Openwrt, on the same channel:
Official driver: 6/10 Mbps.
rtw88: download starts around 30, climbs to 50 / upload is 10 Mbps.
I can watch a 1080p Youtube video.

The music doesn't cut out during any speed tests.

I also tested transferring files to and from my phone. I don't have
other types of Bluetooth devices to test.

Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/0b8e8093-8103-4999-86bf-0055ec52ea64@gmail.com
drivers/net/wireless/realtek/rtw88/Kconfig
drivers/net/wireless/realtek/rtw88/Makefile

index 02b0d698413becef9ed21b453d9c945573d80979..733b3e58da511919658672c0dd74c208016b6769 100644 (file)
@@ -43,6 +43,17 @@ config RTW88_8723D
 config RTW88_8821C
        tristate
 
+config RTW88_88XXA
+       tristate
+
+config RTW88_8821A
+       tristate
+       select RTW88_88XXA
+
+config RTW88_8812A
+       tristate
+       select RTW88_88XXA
+
 config RTW88_8822BE
        tristate "Realtek 8822BE PCI wireless network adapter"
        depends on PCI
@@ -189,6 +200,28 @@ config RTW88_8821CU
 
          802.11ac USB wireless network adapter
 
+config RTW88_8821AU
+       tristate "Realtek 8821AU/8811AU USB wireless network adapter"
+       depends on USB
+       select RTW88_CORE
+       select RTW88_USB
+       select RTW88_8821A
+       help
+         Select this option will enable support for 8821AU and 8811AU chipset
+
+         802.11ac USB wireless network adapter
+
+config RTW88_8812AU
+       tristate "Realtek 8812AU USB wireless network adapter"
+       depends on USB
+       select RTW88_CORE
+       select RTW88_USB
+       select RTW88_8812A
+       help
+         Select this option will enable support for 8812AU chipset
+
+         802.11ac USB wireless network adapter
+
 config RTW88_DEBUG
        bool "Realtek rtw88 debug support"
        depends on RTW88_CORE
index 8f47359b438079784cdcc93d9342c09c376499eb..f0b49f5a8a5a883dcdae34c44bc658d521364c6c 100644 (file)
@@ -77,6 +77,21 @@ rtw88_8821cs-objs            := rtw8821cs.o
 obj-$(CONFIG_RTW88_8821CU)     += rtw88_8821cu.o
 rtw88_8821cu-objs              := rtw8821cu.o
 
+obj-$(CONFIG_RTW88_88XXA)      += rtw88_88xxa.o
+rtw88_88xxa-objs               := rtw88xxa.o
+
+obj-$(CONFIG_RTW88_8821A)      += rtw88_8821a.o
+rtw88_8821a-objs               := rtw8821a.o rtw8821a_table.o
+
+obj-$(CONFIG_RTW88_8812A)      += rtw88_8812a.o
+rtw88_8812a-objs               := rtw8812a.o rtw8812a_table.o
+
+obj-$(CONFIG_RTW88_8821AU)     += rtw88_8821au.o
+rtw88_8821au-objs              := rtw8821au.o
+
+obj-$(CONFIG_RTW88_8812AU)     += rtw88_8812au.o
+rtw88_8812au-objs              := rtw8812au.o
+
 obj-$(CONFIG_RTW88_PCI)                += rtw88_pci.o
 rtw88_pci-objs                 := pci.o