-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Wifi: Switch to mainline driver for RTL8723CS, RTL8811CU, RTL8821C, RTL8192EU from 6.10 onwards #6703
base: main
Are you sure you want to change the base?
Conversation
Fixes commit aa2d469
Support for RTL8723cs has been added to mainline in kernel commit 64be03575f: torvalds/linux@64be035 Even though this has been added in 6.10, switch over only from 6.11 onwards to give the driver a little bit of time for potential improvements and fixes.
Support for RTL8821C (and RTL8811CU which is the same chip as RTL8821CU but without Bluetooth)has been supported by the RTW88 driver as seen in this commit for example: torvalds/linux@605d7c0 Switch over to this driver from 6.11 onwards to give the driver a little bit of time for potential improvements and fixes.
Support for RTL8192EU has been added via the RTL8XXXU a while back, as seen in the Linux kernel folder at "drivers/net/wireless/realtek/rtl8xxxu/Kconfig"
Also update RTW88 comment
Feel free to discuss if those drivers should better be tested in 6.10 already instead of 6.11 in case 6.11 will be a LTS release so these devices can be tested in the wild and if there are no complaints we can leave it enabled for the next |
I can only speak to the rtw88_8821cu. As of now, unless something has changed "I don't believe it has as of writing this" the BananaPi M4-ZERO has issues loading the driver. Although the problem sometimes arises using the github equivalent, it is far less frequent. I've yet to find the root cause. This happens on both BSP and Mainline. I know that @adeepn has issues with rtw88_8822cs on the Jethub lineup. I think that has something to do with AP? |
With that said; concerning |
When did you last test it? There was a lot of activity on this driver recently: https://github.com/lwfinger/rtw88/commits/master/rtw8821c.c The following commit lwfinger/rtw88@4c77cee from 3 weeks ago might have also fixed some stuff. If it does, we could include it as patch for RTW88.
|
Feel free to dive deep into lkml. https://lore.kernel.org/all/CAFBinCAsuCqEVJq-No-+D-T644mQ-qsez-Di-=s9gricOrk3wQ@mail.gmail.com/T/#t https://lore.kernel.org/all/[email protected]/ and more.
this patch not accepted in mainline at this time.
seems all sdio rtw88 card does not works with AP mode at all. and in my tests at least 8821cu, 8822cs works unstable with rtw88 drivers. |
I'll run some tests; https://lore.kernel.org/linux-wireless/[email protected]/ |
Which is why I proposed to add it as patch if it's useful :)
If it's mostly AP mode holding up progress, it's debatable if supporting AP mode for those cheap Realtek chips is even in-scope for the Armbian project, if even nobody on mainline wants to support it properly. These aren't router-class chips after all and Armbian also isn't OpenWRT.
Thanks a lot! |
you cannot make decisions for everyone, as at least two developers have already expressed their opposition. in our case, the ideal situation turned out to be keeping both drivers in the system and using the modules blacklist to select a specific driver for operation. we are, of course, monitoring the development of the rtw88 driver and will participate in its development where possible, but the situation is currently as described. |
I am not, I am merely describing my opinion and reasoning to discuss this topic. Apologies if there is a misunderstanding. PRs are open for discussing.
Which is why I explicitly asked for testing and discussion. Since this driver-collection constantly get improved, it's always worth revisiting periodically.
See above, this doesn't reduce, but increase maintenance. |
Yes, perhaps I got a bit hot-headed. I get a little nervous about anything that might affect the functionality of our equipment :)
And the issue with rtw88 is indeed very complex. Currently, we (at JetHome) are prepared to support rtl88x2cs as long as our equipment with these modules continues to be produced and supported. Soon, we might add 8821cu to this list. So, please do not touch that either :)
Regarding other drivers, I think it's worth looking at the list of SBCs in which they are used, and their support status. And if there's anyone to ask, ask them. |
https://paste.armbian.com/ocomoxuvom.yaml |
No worries! 😄 Armbian does have a pretty good testing phase before every release, so any unintentional breaking of functionality should be caught in the testing process at the latest :)
If you let me know, I can simply add an exception for Jethub devices. This way, most devices are using mainline while Jethub can keep using their inhouse drivers. Although to be honest if I was a board builder, I would probably build my own images to ensure that all the drivers are on board and working.
Yeah I tried to find information about this, but unfortunately there is no such list. I tried to search the forums, Jira and GitHub. Some boards even use different chips for different revisons. So I asked the whole community in this PR to test if they have a board that uses a chip with those drivers.
Agreed. It also would help the RTW88 developers if people report issues to find out where it failed and how it could to be improved. |
Thanks! Did you test the driver from the repo at https://github.com/lwfinger/rtw88/ ? Or did you apply the commit as a patch on to mainline 6.10 or Linux-next? If the latter, I believe folks at the mailing list would appreciate your input/bug report, especially if it's directly related to this commit/patch :) |
I applied it to 6.9.3. Personally I'm leaning towards this being an issue with maturity, as H618 is still under heavy development. I've been using a dongle that requires the driver on an old NanoPi M1 for a long time now and haven't experienced any real problems.
I use it as DIY bluetooth speaker, but I need to SSH in from time to time; hence the dongle. |
Ah I see. Maybe the patch doesn't work on its own or as you said it also may be a USB problem with the SoC. You could try installing the fully up-to-date driver with these instructions https://github.com/lwfinger/rtw88/?tab=readme-ov-file#installation-guide and see if anything changes or if there are still USB issues. Maybe you need to If you've got headers and build tools install, it's basically just
|
😄😄😄 (i've actually here since 2021)
Just don't touch anything around jethub without my approve/review. We already use our own infrastructure for building and deployment, while also supporting Armbian and other opensource projects as much as possible.
every supported board has maintainer/committer. |
I routinely check and download RTW88 patches. So when I say I applied this patch, it's in conjunction with the others available on lore. Those that have "and in some cases not" been accepted. I don't really see anything in Larry's repo that I'm not already using. Except the AU drivers they are working on. |
I'll try to exclude Jethub from any changes and revise this PR. I assume changes affecting Jethub is mostly wifi related stuff anyways. Do those devices have their own BOARDFAMILY or what's the best way to specifically address Jethub boards only?
Yes. Let me know if you know a list which details all boards using wifi chips and their respective chip name :) |
Ah, understood. Thanks for the clarification!
Is this correct? If so, yes I understand you leaning towards this being an issue with maturity of the Allwinner H618 👍 |
It is an onboard module over USB. Other than that, yes.
|
This has been discussed in the past: There's also some very intricate interactions with firmware here that we're not equipped to handle yet. Please no one take offense, but it's simply that JetHub's boards (that has shared the Armbian meson64 kernel with all other Amlogics since day 0, and has contributed enormously both to Armbian, u-boot and upstream Linux) needs to be kept working optimally. We could consider splitting off an Amlogic kernel (hell, we've some 5 or 6 rk3588 kernels) just for "classic" out-of-tree drivers, but doing so will reduce collaboration in the long run; and who wants to rebase twice, etc. So maybe we can work by identifying the chipsets that need to be kept, agreeing on a staggered release cycle for the kernels involved (meson64 only as far as I can see) so that out-of-tree can catch up (eg don't expect any out-of-tree to work against -rcX kernels before they get released). |
Heck, If I'm not mistaken, there's also interactions between those SDIO chipset and the clock phase issue. Taken together (AP-mode, performance, interactions with firmware, interactions with clock phase) this is as complex as it gets. |
- RockPi-S needs rtl8723DS 3rd party driver, so keep it for this board (see lwfinger/rtw88#157 (comment)) - Asus Tinkerboard Rev.2 also has a 8723DS chipset, keep rtl8723DS driver for this board as well to be safe - BananaPi M4 Zero needs 3rd party driver for RTL8821CU to work properly, suspected cause is the immaturity of the H618 (Link: armbian#6703 (comment)) - Use new drivers from 6.10 onwards instead of 6.11
I have updated the approach with a new commit. With this change, the following applies:
This way, maintainers of these specific boards can decide when it's time to switch to a mainline driver. Please have a look :) (rtl88x2cs is not touched by this PR) |
I should have been more clear. This should be:
Note for clarity |
Thanks for the clarification! I have updated the main post. |
If another board is found which needs one of those drivers in 6.10+, it can always be added. |
I would also like to add that there is no consequence when including both RTW88 and the github equivalent, other than the time spent making sure it compiles and functions.
If both drivers are present, RTW88 has priority and registers first. |
Yes, this is true. The goal of this PR is mostly to aid maintainability. This PR at least reduces this amount of fixing needed and gives the maintainers for the respective board or board family the time to bump, in some case fix and then test the new kernel version on their device. This way they can also take the chance to directly compare and see if the new kernel has improved the compatibility for their boards wifi chip. |
@ColorfulRhino
I was unaware that the RTW88 had difficulties with AP mode. Lots of embedded boxes that are not routers (or smartphones) function as WiFi APs.
|
I didn't check on how many cards this statement might apply, but I can imagine the experience may vary chip by chip. I can only make a guess, but I think AP mode is low priority for mainline since normal end-users (who don't develop a product) with these cheap chips usually use them in client mode to connect their device to the internet.
No worries, I have heard your problem. The vendor driver will be there for the RockPi-S for an indefinite period :)
Feel free to check back with the mainline driver from time to time, maybe you'll even be able to contribute to the code or tell the specific source of the issue and proposed solution to the devs 😄 I seems like a solution for the RockPi-S might not be too far off, if someone is willing to help. From the issue you sent earlier, lwfinger said:
|
on all with sdio at least https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ |
Description
In an effort to reduce wifi driver burdens AR-1745, I went through the 6.10 kernel to check if any third party wifi drivers can be removed.
The following drivers are part of the mainline kernel as of 6.10:
I went through the Armbian forums, Jira and GiHub issues to see if anyone had used those drivers for these chips in the past and had reported issues. But I haven't found anything yet.
This way, maintainers of these specific boards can decide when it's time to switch to a mainline driver.
Jira reference number AR-1745
How Has This Been Tested?
RTL8821CU:
LOOKING FOR TESTERS:
Drivers for RTL8811CU, RTL8821C and RTL8192EU are available also in 6.9, so if you have a device with those chips, it would be very nice if you could test them with their respective kernel driver (RTW88 or RTL8XXXU). You may have to enable them in your board's kernel config.
If you have a board with a RTL8723DS chip, especially Asus Tinkerboard Rev.2, please test the RTW88 driver. If RockPi-S is the only board which broken RTL8723DS driver, we could switch most other boards to RTW88 for this chip.
Installation instructions for the latest RTW88 driver (also for older kernels, you don't need 6.9 or 6.10 to test this): https://github.com/lwfinger/rtw88/?tab=readme-ov-file#installation-guide
Checklist: