Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[News] Expect numerous changes to this site regarding Realtek WiFi 5 support over the next few months... #549

Open
morrownr opened this issue Dec 6, 2024 · 6 comments

Comments

@morrownr
Copy link
Owner

morrownr commented Dec 6, 2024

Hello everyone,

About one year ago, Larry Finger, Bitterblue Smith and I started a project to improve Realtek WiFi 5 support on Linux. Unfortunately Larry passed away in May but others jumped in to help with one thing and then another. Bitterblue ( @dubhater ) has carried the majority of the load and I thank him for that.

What does this mean as far as changes to this site? The Plug and Play List will slowly be updated starting in 2025 to include Realtek WiFi 5 adapters that now have good support in the kernel. Realtek WiFi 5 adapters are still available on the market and likely will be for many years. Additions will be made slowly because it takes time to test and determine if any specific adapter is likely to be trouble-free on Linux. I will call for your suggestions when the time is right. No multi-state (windows driver onboard) adapters will be considered. Multi-function (wifi and bluetooth) adapters will only be considered for adapters that are USB2. I already have a small amount of adapters to add to the list but I look forward to your input.

Warning: This message is about Realtek WiFi 5 support, not WiFi 6 support. My messages warning Linux users to AVOID USB WiFi adapters that use Realtek WiFi 6 chips is still applicable. Good support for Realtek WiFi 6 USB chips could be years away if it happens at all. Please heed this WARNING and buy adapters with Mediatek chips for WiFi 6 and 7. I will do my best to keep a variety of WiFi 6 and 7 USB WiFi adapters that use Mediatek chips in the Plug and Play List so that you are aware of the better options.

Adapters with the following WiFi 5 chips now have very good support, maybe not perfect yet, in rtw88 (in-kernel):

USB : RTW8812AU, RTW8821AU, RTW8811AU, RTW8822BU, RTW8812BU, RTW8822CU, RTW8812CU, RTW8821CU, RTW8811CU, RTW8723DU

The rtl8812au and rtl8821/11au drivers just went into kernel 6.13. rtl8814au is in development and not ready at this time. Remember, if you upgrade to kernel 6.13 to check the drivers out:

  • your distro may not have added the firmware to their distro for the driver to work. You can get information at the Firmware Main Menu item.
  • your distro has to turn on compiling of these new drivers. Ubuntu, I'm looking at you.

If you want to try the drivers on kernels older than 6.12, I recommend going to the development repo and installing from there for the time being. This repo will automagically blacklist all conflicting in-kernel drivers so that you do not have to worry about it.

https://github.com/lwfinger/rtw88

Patches for rtw88 are still flowing into mainline so it may take a while for everything to be in place. I suspect things will be stabilized by around the time Ubuntu 25.04 is released in April.

If you have questions, please post below.

@morrownr

@jaearr
Copy link

jaearr commented Dec 11, 2024

No multi-state (windows driver onboard) adapters will be considered. Multi-function (wifi and bluetooth) adapters will only be considered for adapters that are USB2.

I have two multifunction single state Realtek WiFi 5 adapters (rtl8822bu) from Aliexpress - the Fenvi AC1300 and the Comfast CF727B. My setup isn't as noise free as the testing you've done in the speed comparison test section, but it's worth noting that the CF727B (which is USB2 only) has extremely bad 2.4GHz performance: 3-6Mbps if you're streaming audio over bluetooth, 14-25Mbps if bluetooth is rfkill blocked. The Fenvi, which will do USB3 with the modprobe flag (tested in Debian 12 with 88x2bu-20210702), was doing 17-23 Mbps on 2.4GHz with bluetooth transmitting, 80-87Mbps with bluetooth blocked.* They have similar 5GHz performance (USB2: 207-326Mbps, USB3: 220-408Mbps).

I could not get the rtl8822bu to connect to more than 1 bluetooth device at the same time in Linux (I wanted to test with iperf3 while playing tuxracer with a bluetooth gamepad and headset connected; could pair both but not connect both), so that would be another thing worth mentioning if your tests come up with a similar result.

Is there a way to switch from USB2 to USB3 with the in-kernel drivers?

My setup was a WRT-1900AC v1 running OpenWRT 23.05.5 with iperf3.
*For reference: all numbers are the iperf3 10 second average as a client. The highest 2.4GHz/20MHz average I got with iperf3 was 99.8Mbps with an rtl8812au (8812au-20210820, Debian 12) on USB3. The highest 2.4GHz/40MHz (forced) average was 143Mbps with an mt7921au (OpenSuSE Tumbleweed 6.11.8-1) on USB3. The absolute worst was 2.4GHz/40MHz (forced) with the Comfast CF727B with bluetooth active: 310Kbps-1.98Mbps. Chipsets I tested were rtl8812au, rtl8822bu, mt7921au, Intel 7260 mPCIe, and Intel BE200 ngff.

tl;dr: the correct USB answer for me is still a mt7921au with a separate CSR bluetooth adapter, but now with numbers to support that conclusion.

@ZerBea
Copy link

ZerBea commented Dec 11, 2024

Just to mention it here: rtw88 USB support has arrived in OpenWRT 24.10 (latest git head).
ZerBea/hcxdumptool#478 (comment)

First monitor mode / packet injection test was successful:
ZerBea/hcxdumptool#361 (comment)

@dubhater: great work!

@morrownr
Copy link
Owner Author

@jaearr

Is there a way to switch from USB2 to USB3 with the in-kernel drivers?

The support for USB3 for the rtl8812bu just went into kernel 6.13 rc2:

torvalds/linux@315c23a

The USB3 support for the rtl8812au will show up in kernel 6.14.

You 'll note from the above patch the following comment:

Some people experience heavy interference in the 2.4 GHz band in
USB 3 mode...

Yes, USB3 interfering with band 1 (2.4 GHz) can be a problem. It can be best to run USB3 adapters in USB2 mode when using band 1. There are a lot of potential problems and I try to address many here at this site:

  1. I recommend users not buy multifunction adapters. Buy wifi only wifi adapters and get a separate bluetooth adapter and put one or both on extension cables and keep them away from each other. It will generally work out better to use band 2 (5 GHz) for wifi if you use bluetooth.
  2. I recommend that users buy single-state (no windows driver onboard) adapters as multi-state adapters can and will cause problems.

I have two multifunction single state Realtek WiFi 5 adapters (rtl8822bu)...

The rtl8822bu chips are locked to USB2. The rtl8812bu can do USB3. The reason for the rtl8822bu being locked has to do with interference. It has been well known since around 2012 that USB3 can and will interfere with the 2.4 GHz band. That includes wifi band 1 and bluetooth.

I could not get the rtl8822bu to connect to more than 1 bluetooth device at the same time...

That is with the vendor driver, right? Have you tried with the in-kernel rtw88 driver in kernel 6.12? It would be interesting to know if you have more success with it.

the correct USB answer for me is still a mt7921au with a separate CSR bluetooth adapter...

Same here. Thanks for posting this information. We just need to keep spreading the word. Even with the much better in-kernel driver support for Realtek WiFi 5 based adapters, many users will still find that the Mediatek drivers are better for them as they are more feature rich. Keep in mind this simple fact: Mediatek devs develop and maintain Mediatek drivers. They will take patches from users and other developers if they are good patches but they are responsible for their drivers. On the other hand, the work to get usb support up to speed in rtw88 was not done by Realtek. It was a community effort. Realtek's USB support is BAD... it has been BAD for years and it continues to be BAD. My thoughts and mine alone: This effort to dramatically improve Realtek WiFi 5 support was because of Linux users that already have Realtek WiFi 5 based adapters. If Linux users want to buy new adapters, most users will be happier off with Mediatek based adapters.

Thanks for the post.

@morrownr
Copy link
Owner Author

@ZerBea

Thanks for the post. dubhater has worked tirelessly for over 1 year to make this happen. I think things will be stabilized and distros will have done the things they need to do by maybe around April 2025 (time for Ubuntu 25.04). USB wifi support for Linux is becoming good and is getting better. One big sore spot that I continue to warn Linux users about is to avoid adapters based on the Realtek WiFi 6 chips. The drivers are out-of-kernel and are not that good plus almost all adapters based on the Realtek WiFi 6 chips are multi-state and I can speak first hand that some are very problematic in this regard. The rtl8852/32cu chips are very bad when it comes to problems with onboard storage for the Windows driver. I am working on a vendor driver for the rtl8852/32cu chips right now and I'm pulling my hair out trying to figure out some problems.

@ZerBea
Copy link

ZerBea commented Dec 11, 2024

@morrownr
I fully agree.
Since OpenWRT 24.10 I'm running tests (hcxlabtool) on rtl8xxxu and rtw88 (USB). Both drivers have received extensive improvements.

@morrownr
Copy link
Owner Author

morrownr commented Dec 11, 2024

@ZerBea

Both drivers have received extensive improvements.

Yes, it took many hours of testing by many testers as well as patches and retesting and more patches... and not everything is in mainline yet. There are patches waiting to get in and I'm sure there will need to be some clean up patches for things that were missed. I hope that users understand that this effort was not by Realtek but rather by Linux community members. And I hope Linux users understand that they have a choice. Mediatek developes and supports their drivers the right way and it is a way that works well for desktop/laptop users.

Keep us posted with your testing. I mostly test AP and managed modes so input on monitor mode is good.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants