-
Notifications
You must be signed in to change notification settings - Fork 140
Project: Add 8821/11au rtw88 in-kernel driver. Need testers... #133
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
Comments
I get a maximum of 130 Mbps transmit and 93 RX with iperf3. LibreSpeed gets 119 down and 113 up. |
The master branch now contains all of dubhater's changes for the RTW8821AU and RTW8812AU, and the driver works. I have not removed any of the other branches until the code is checked a bit more, but please test everything. The speeds are still on the low side, but that will come. |
Initital testing of rtw88 master:
I ran iperf3 several times with my primary testing setup. Speed looks really good. Around 220 Mbps is about as fast as this chip can go if the out-of-kernel results over the last few years are good. The test above is on a DFS channel where there is no congestion. dmesg is clean. I'm impressed so far. Monitor mode frame injection test:
Going in and out of monitor mode works well and things look like they should. The injection test above showed very good results. So far monitor mode looks good. I will do more detailed test on managed and monitor mode as able this week and I plan to test AP mode and I plan to rework the first message in this thread to provide instructions to those who can test/report as most will not be used to the instructions for getting this driver going, I am still looking for someone with a rtl8821au based adapter and someone with an old laptop with a rtl8821ce chip in it so we can test bluetooth. |
@morrownr rtw_8812au is not ready yet. I can see some RTL8821AE on Aliexpress, both M.2 and mini PCIe. |
Give me a chance to round up some testers that already have the chips. We can always go get one if we have to do so. This repo gets over 100 hits per day so there are a lot of users of this chip. I just need to work on getting them in here now that we have something for them to test. I'll work it. I'm impressed with this driver so far. We'll find problems but so far it is working well. My opinion after a few years of supporting out-of-kernel drivers for both the rtl8821au and rtl8821cu is that the au is simply a more reliable chip that causes users far fewer problems. |
I have a TP-Link Archer T2U PLUS [RTL8821AU]. I removed this kernel module using So far everything is working good. I am willing to help, but I don't have a lot of experience in this field. Are there any instructions to run the required tests? Just let me know. |
Hi @gmsanchez Thanks for testing.
Do you have any experience using any modes in addition to managed (client) mode? Please document your distro and version here and post the results of the following: $ uname -r Do you know of a way to test your speed? If so, do it. Post the results of: $ sudo dmesg | grep rtw Since you have an adapter with the version of the chip that has bluetooth support, can you verify that bluetooth is working correctly? Post the results of: $ lsusb If your adapter has an LED, does it blink? Lastly, just use it. See if anything goes wrong over the next few days. Keep us posted. |
I don't know how to test my speed.
I don't have any bluetooth device on my system.
I'll move the adapter to the front and check the LED status. In the meantime, the requested output of the commands is below:
|
rtw88 master - rtw_8821au I am seeing the below during compilation. This is with Debian 12 and kernels 6.1 LTS and 6.6 LTS plus gcc 12.2. This not fatal but...
|
The problem is that the code used max(a,b), whereas it should have been max_t(u32,a,b). It now compiles cleanly on openSUSE Tumbleweed and Debian 12. |
You can give the following site a try for basic speed testing: Most of us use iperf3 on our local lans for speed testing. Do you have a RasPi on your local lan or a wifi router that runs OpenWRT?
It looked like you might have a version of the chipset that includes bluetooth support so I was looking to see if the bluetooth in your adapter was working. Maybe you have a chip that is wifi only.
Let me think out loud here for a moment. I am trying to sort out why the above line is needed. What is it doing for us? Thanks for the info and we'll be waiting for additional reports. |
Awesome! Clean compile here. FYI: I'll be moving to AP mode testing soon. So far, managed and monitor modes look really good but my AP mode testing will take me to another distro and ARM64. |
Here is a very minor nitpick: When I run iperf3, I am seeing Like I said, nitpick. I am having a difficult time finding any problems with managed and monitor modes. I am off to test AP mode. |
Do you see any WARNINGS in your logs like this "WARNING: CPU: 3 PID: 36 at net/mac80211/rx.c"? Your CPU and PID will be different. That may be the source of your drops. I have a patch to silence the WARNINGS, but the drops are not fixed as the packets are malformed. What is the utility that produced the screenshot? I am not familiar with anything like it. |
@morrownr I'm using a Debian-based custom arm64/armhf distribution, and as such I can't build the rtw88 driver via @lwfinger's process (I didn't bother to try to address this further). Instead, I simply removed the original mainline (6.9-rc7) rtw88 driver source and replaced it completely with @lwfinger's version from his github. Now, when building this new version of rtw88 I am getting errors relating to the PCI driver module support or something (see errors below). My kernel configuration does not enable CONFIG_PCI, just in case this might be related. I haven't debugged the new in-kernel rtw88 build process any further. I'm pointing this out just in case there is an oversight in this new rtw88 code for non-CONFIG_PCI and/or ARM builds (or something). As a comparison, the mainline 6.9-rc7 rtw88 driver builds completely fine - without any errors - so there does appear to be a regression in this new version of the driver source. In my kernel config I am only enabling the the 8821CU module, so it is kind of odd that the build is erroring out for driver sources that aren't even enabled:
Build errors:
|
@Darin755 You should post the output of dmesg, or no one knows what happened. |
@a5a5aa555oo I posted the oops already but here is the entire dmesg in case it helps. |
It looks like you installed Fedora in a VM, is it the same with real hardware? |
I don't have a way of testing on real hardware. (I'm not quite ready to run a unstable kernel on my main system) I run almost everything I do in either a container of VM anyway so ideally it should work in a VM. Is this outside of the expected use case? |
I don't know, just tested with my RTL8822BU and it didn't work in a VM neither. |
*either Anyway it sounds like a bug. I am more than happy to help out anyway I can although I lack kernel experience. |
USB WiFi Adapter in a VM Guide https://github.com/morrownr/USB-WiFi/blob/main/home/Using_USB_Adapter_in_VirtualBox.md It says for USB3 but if your adapter is USB2 then select USB2. If you forget where the guide is, go to the Main Menu of my site: |
I am using libvirtd with virtual manager since Virtualbox has poor performance generally and isn't designed to run as a daemon. However, the guide is well written and seems pretty good. |
The basic principles in the guide should help. The most basic principle is that VM's generally do not automatically setup USB WiFi adapters. There are reasons for that so users must tell the VM what to do. |
These days that's not really true. Linux either supports hardware or it doesn't. If it is detected the settings menus automatically populate. Even on Windows there isn't a lot of reason to manually install drivers. Windows update automatically pulls down and sets up new hardware. |
Look at what I said. VM's generally do not automatically setup USB WiFi adapters. I'll stick by that statement. |
Greetings. This driver from your repo works just fine here. I just downloaded the source files for the new kernel 6.13 on my Gentoo box, downloaded the relevant firmware files and tried compiling the new in-kernel drivers both as modules and builtin. I tried enabling support only for 8821au chipsets and then for all rtw88 USB chipsets. It just doesn't load the module and loading them manually with modprobe has no effect.
This is the device info on dmesg. On the new kernel, I don't find any related error message. I could try pasting it here later if needed. |
The rtl8821/11au rtw88 driver in kernel 6.13 only has one device ID. The additional device ID's are going into kernel 6.14. It is likely that this is your problem. Until 6.14 is available, you might try going to the downstream rtw88 that is used to test: https://github.com/lwfinger/rtw88 It can be installed and bug reports left in that repo. |
Today after upgrading linux 6.13.1.arch1-1 the build failed for me:
My device is USB dongle, 0bda:a811 and new rtw88 driver failed to recognize it, so I had to switch to linux-lts 6.12.12-1 temporarily. Is there any chance to make rtw88 recognize it so I can test my USB dongle? |
Hi @fuzzysloth
Yes, there are a couple of things I need to do for 6.13. I just haven't gotten around to it with this driver yet.
Yes. The basic driver went into 6.13 but not all needed files made it into 6.13 so some are being added for 6.14. One of the files that will show up in 6.14 is the file that contains all of the device IDs. So the driver is there but currently it can only recognize one device ID. I want the author of that file. What you can do is install from the repo we used to build and test the driver: https://github.com/lwfinger/rtw88 The installation will automatically blacklist the in-kernel driver and remove the blacklist when you uninstall. |
tested successfully rtw_8821au from 6.14-rc1 :D, working out of the box and better than the module from this repo(not sure why, the module couldn't connect with connection that my network card in my laptop already connected, but the kernel driver work as expected), the antenna couldn't connect with 5ghz wifi tho, not sure if that is a driver issue edit: nevermind i think it's just quirk from KDE networks or network-manager, disabling the internal card with ifconfig made the kde networks show the possibility to connect to the 5ghz using the antenna and it's working, tested with fedora 41 kernel 6.14-rc1 |
Hi i'm new to linux using fedora which got updated to 6.14 kernel build wifi is not working anymore how to get inbuilt driver working which is mentioned in Readme An in-kernel driver for the rtl8821/11au chipsets has been merged into kernels 6.13 and 6.14 I did removed the old one with cd ~/src/8821au-20210708 & sudo ./remove-driver.sh |
Hi @lowkeylif3 6.14 has not been released yet. Does fedora make releases with test kernels? What we can do is check 2 things and if we find a problem, you can report it to fedora so that things are working well when 6.14 is released. Post the results of the following commands (we are looking to see if the firmware and driver files are where they should be): $ ls -l /lib/firmware/rtw88 $ ls -l /usr/lib/modules/$(uname -r)/kernel/drivers/net/wireless/realtek/rtw88 |
Sorry my bad kernel version is Linux 6.13.4-200.fc41.x86_64 Output of above two commands
|
Good news
fedora has the firmware and driver files in place. That is good. However, the bad news is that not everything needed went into kernel 6.13. Some parts, including most of the VID/PID information did not go in until 6.14 so if the driver is not working for you with 6.13, then your vid/pid is not in 6.13. What you can do is install the repo where the work has been done and uninstall or not install it once you are up to kernel 6.14: https://github.com/lwfinger/rtw88 Give us a report on how the driver is working for you. |
Installed the driver from lwfinger repo driver is slow in searching network & also fails to connect. For now i'll switch back to windows & wait for kernel 6.14 to be released. |
I'm on Arch Linux and just updated my system. got the new 6.14 kernel but the in-kernel driver doesn't seem to work properly with my TP-Link Archer T2U Nano (RTL8811AU) as the one from here. enabling and disabling took so long to the point it freezes my KDE desktop entirely. desktop worked fine after I unplugged the adapter. I also tried installing for now, I guess I'll just downgrade my kernel back to 6.13 and see if it's working again. |
Did you uninstall the driver from this repo that we are in now? If so, removal is as such: $ sudo sh remove-driver.sh
It is based on the driver in this repo. You did not explain the details of what behavior you are seeing. Can you elaborate? Once cleaned up, if there are still problems with kernel 6.14, I suggest that you report problems to the downstream working repo for the new in-kernel driver: |
yes, I did uninstall the driver from here
sorry for not being clear enough. the issue I'm getting is my desktop become so unresponsive with the in-kernel driver. enabling/disabling wifi takes way too much time and seems to fail doing so. it also doesn't seem to scan for any network. when I unplugged the adapter, the freezing issue goes away. I assume the driver is trying to communicate with the adapter but can't, causing my desktop to be unresponsive. I've downgraded my kernel back to 6.13.8 and reinstalled the driver from here and it worked as how it was previously. |
Okay. It would be good if you report this to the repo where the in-kernel work is taking place: https://github.com/lwfinger/rtw88 It could be an issue with your distro and if we figure it out, you could report it to your distro so that they can fix. Of course, it could be a problem with the driver. The in-kernel driver is really good. I use it here. It is a better driver than the one here in this repo. If you could look in the log for evidence of what is going on, that could help: $ sudo dmesg Just copy and post the lines that seem to be related to the driver. |
I can confirm problems on 6.14.2.arch1-1 |
Thanks for jumping in. I'm busy right now but it looks like I need to retest. When last I tested, if was when the new Ubuntu 25.04 was early in testing with kernel 6.14, I did not see this. If one of you could go over to https://github.com/lwfinger/rtw88 and report this, then the other could say |
I just stopped what I was doing and tested. I tested with Ubuntu 25.04 with kernel 6.14. It tested good. It looks like both of you are on Arch. I recommend that you report to the repo as I recommended above so that there is input. @dubhater is also an Arch user so he may be more help in figuring this out. This could be an Arch specific issue. |
Looks like Raspbian is affected too. Same behavior as the Arch Linux system. |
Greetings to anyone that reads this message.
This Issue is where we coordinated the new 8821au in-kernel driver.
The driver is available for testing at the following repo:
https://github.com/lwfinger/rtw88
Once you are at the rtw88 repo, please post bug reports at that repo.
The new driver went into Linux kernel 6.13. Some enhancements will go into kernel 6.14.
Remember, before installing the rtw88 driver, first remove the out-of-kernel driver in this repo or whatever repo you may have installed. You can run the following to remove it if using this repo:
$ sudo sh remove-driver.sh
It is important to follow the instructions in the README at the repo with the new test driver. You may not be familiar with rtw88 in the kernel but even if you are, there are some necessary mods that you need to know about. The rtw88 that has this new driver is more advanced than the rtw88 in stable kernels as it follows wireless-next and is used to work on and develop new drivers.
We welcome you to test and report on this new driver. Your testing will help us get this new driver in the Linux kernel sooner and in better shape. We do have specific needs. The most immediate need is to find users that have adapters that have bluetooth support (rtl8821au chip). The current developers only have adapters that have rtl8811au chips so we need help. We also need testers with old laptps that have the rtl8821ae chip.
If you are aware of anyone who is familiar with mac80211 drivers, please invite them as more eyes on the code is a good thing. Your ideas are most welcome. We can do this.
@morrownr
Status report:
The text was updated successfully, but these errors were encountered: