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

Development Discussion (Pinned) #251

Open
morrownr opened this issue Nov 13, 2024 · 24 comments
Open

Development Discussion (Pinned) #251

morrownr opened this issue Nov 13, 2024 · 24 comments

Comments

@morrownr
Copy link
Collaborator

morrownr commented Nov 13, 2024

This issue is being established as a location for developers to discuss issues related to the future direction of this repo.

A milestone was recently reached as the new rtl8812au and rtl8821/11au drivers were accepted for inclusion in kernel 6.13. A lot of progress has been made and upstreamed over the last year due to this repo and some outstanding talent that has taking on the job of improving and expanding rtw88. One more new driver is on the agenda: rtl8814au.

Hopefully this issue can serve as a fixed location to discuss development issues of interest.

@morrownr

@morrownr morrownr pinned this issue Nov 13, 2024
@dubhater
Copy link
Collaborator

Getting there:

Nov 29 03:05:16 ideapad2 kernel: rtw_8814au 1-2:1.0: Firmware version 33.6.0, H2C version 6

@morrownr
Copy link
Collaborator Author

@dubhater

Glad to see you making progress. So that you know, the vendor driver for rtl8814au that I have up here is the latest that I am aware of yes it is more than 5 years old. It is not clear to me what happened but here is what I think happened:

Realtek released the rtl8814au chip. It did not sell well and Linux support was dropped. I think for it to be considered a commercial success by Reaktek, it would have needed to sell well in the USB Module form for industrial use. One of the problems with this chip is that it gets hot. I've measure power use and seen upwards of 900 mA use when used at full speed.

The chip has, however, been used a lot for USB Adapters and many Linux users have adapters with this chip. It will be a great thing to have good in-kernel support. When you are ready for testing, let me know and I will establish an issue in my vendor driver and start channeling testers to this repo. Keep us posted.

@morrownr

@dubhater
Copy link
Collaborator

dubhater commented Dec 9, 2024

A carefully selected speed test:

Connecting to host 192.168.0.1, port 5201
Reverse mode, remote host 192.168.0.1 is sending
[  5] local 192.168.0.50 port 52502 connected to 192.168.0.1 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  73.0 MBytes   612 Mbits/sec                  
[  5]   1.00-2.00   sec  98.2 MBytes   824 Mbits/sec                  
[  5]   2.00-3.00   sec  99.4 MBytes   834 Mbits/sec                  
[  5]   3.00-4.00   sec   100 MBytes   841 Mbits/sec                  
[  5]   4.00-5.00   sec  99.1 MBytes   832 Mbits/sec                  
[  5]   5.00-6.00   sec  99.8 MBytes   837 Mbits/sec                  
[  5]   6.00-7.00   sec   100 MBytes   841 Mbits/sec                  
[  5]   7.00-8.00   sec  99.2 MBytes   833 Mbits/sec                  
[  5]   8.00-9.00   sec  99.2 MBytes   833 Mbits/sec                  
[  5]   9.00-10.00  sec  99.8 MBytes   837 Mbits/sec                  
[  5]  10.00-11.00  sec  99.4 MBytes   834 Mbits/sec                  
[  5]  11.00-12.00  sec  98.2 MBytes   824 Mbits/sec                  
[  5]  12.00-13.00  sec  97.0 MBytes   814 Mbits/sec                  

@a5a5aa555oo
Copy link
Contributor

Screenshot_2024-12-10_01-22-08

@morrownr
Copy link
Collaborator Author

morrownr commented Dec 9, 2024

A carefully selected speed test:

Is this the new 8814au driver?

On a separate subject: I was testing kernel 6.13 this weekend. The rtl8822bu driver was not going into USB3 mode. I know you sent in a patch to get the USB3 adapters switching modes and it is here in this repo but I lost track of where the upstream patch is. Do have any idea what the status is?

@dubhater
Copy link
Collaborator

dubhater commented Dec 9, 2024

Yes, it's the new driver.

The switching code for RTL8822BU and RTL8822CU is in 6.13-rc2.

The switching code for RTL8812AU will be in 6.14.

@morrownr
Copy link
Collaborator Author

morrownr commented Dec 9, 2024

@a5a5aa555oo

Do you mean this one?

That is it. I was testing 6.13 rc1 so I'll test rc2 sometime this week. Glad to see the USB3 patch for 8812au going into 6.14... just in time for Ubuntu 25.04 and all the little Buntu's. Gotta get all these distros to start compiling it and installing the firmware and cleaning out the various versions of the vendor drivers that they have hacked in.

@morrownr
Copy link
Collaborator Author

morrownr commented Dec 9, 2024

@dubhater

Right now I have the latest versions of the rtl8852bu and rtl8852cu vendor drivers in private repos trying to get them in good enough shape to go public. They are better than the earlier WiFi 6 drivers but,.. and I won't repeat what Larry used to say. I have a compilation problem with the rtl8852bu with kernel 6.12 that I am having a hard time figuring out. You don't have to have an adapter, just kernel 6.12. Do you want to take a crack at it?

@a5a5aa555oo

You are invited to the party also if interested.

@dubhater
Copy link
Collaborator

dubhater commented Dec 9, 2024

I can have a look.

@morrownr
Copy link
Collaborator Author

morrownr commented Dec 9, 2024

I can have a look.

Invite is on the way. I am in no hurry.

The compilation works fine through kernel 6.11 and then blows up with 6.12. I can usually sort out the problem but it is not obvious to me what the problem is.

@a5a5aa555oo
Copy link
Contributor

@morrownr
Thanks for the invitation! As you know I am not a skilled programmer, so there is nothing I can do...i think...

@morrownr morrownr changed the title Development Discussion Development Discussion (Pinned) Dec 10, 2024
@morrownr
Copy link
Collaborator Author

morrownr commented Dec 10, 2024

@a5a5aa555oo

I am not a skilled programmer...

I'm not a skilled wifi programmer but I can often figure things out given time and it is fun to learn. If you are interested, you could get an adapter with the rtl8832cu chip and I could put you in that repo so you could test. That chip is interesting in that it has 160 MHz channel width as well as 6 Ghz capability. I can easily do over 1 Gbps with iperf3 on 5 GHz.

The only single-state adapter with that chip is the Edup 1671 as far as I know. Do not get the Edup 1671S as it has onboard storage and multi-state adapters that have this chip are proving to be really problematic.

morrownr/USB-WiFi#299

My reason for bringing the Realtek WiFi 6 vendor drivers up for public release is to lay the groundwork in case dubhater is still interested in continuing on after the rtl8814au. It would be a big challenge as rtw89 has no usb support as far as I know but if we don't prepare then it will be more difficult.

@morrownr
Copy link
Collaborator Author

@a5a5aa555oo

Nevermind on the patch. I was able to send it in this morning.

@briansune
Copy link

@dubhater
@a5a5aa555oo
@morrownr

I am planning on all unique USB and SDIO devices testing on ARM 32bit and ARM 64bit CPU.
I will create an additional GitHub repository on the result.

Enjoy~

@dubhater
Copy link
Collaborator

rtw_8814au is ready for testing.

You will see "failed to get tx report from firmware" right after connecting. This is normal for this chip, at least for now.

I am planning on all unique USB and SDIO devices testing on ARM 32bit and ARM 64bit CPU.

@briansune That will come in handy.

@briansune
Copy link

@dubhater

Will added to the test list. The previous module still pending on test.
Shipping and logistic take time.
Hardware modification also take time.

@morrownr
Copy link
Collaborator Author

@dubhater

rtw_8814au is ready for testing

Great! I'll start posting information in places that 8814au users hang out.

@briansune
Copy link

briansune commented Dec 21, 2024

@dubhater

Glad to see you making progress. So that you know, the vendor driver for rtl8814au that I have up here is the latest that I am aware of yes it is more than 5 years old. It is not clear to me what happened but here is what I think happened:

Realtek released the rtl8814au chip. It did not sell well and Linux support was dropped. I think for it to be considered a commercial success by Reaktek, it would have needed to sell well in the USB Module form for industrial use. One of the problems with this chip is that it gets hot. I've measure power use and seen upwards of 900 mA use when used at full speed.

The chip has, however, been used a lot for USB Adapters and many Linux users have adapters with this chip. It will be a great thing to have good in-kernel support. When you are ready for testing, let me know and I will establish an issue in my vendor driver and start channeling testers to this repo. Keep us posted.

@morrownr

@morrownr

You had pointed out 900mA, do the dongle have any external LNA implemented? This sounds like wrong configuration on LDO or DCDC. 4.5W is a lot !!!!!

A full dual-core ARM A35 only uses less than 4W on full run with DDR3 high-speed configuration.

I guess you are measuring the entire system power or it is just the port power itself?

@dubhater
Copy link
Collaborator

According to the driver, all RTL8814AU have external LNA and PA for the 5 GHz band.

@briansune
Copy link

briansune commented Dec 21, 2024

@dubhater

Then this explain why it consume so much power.
But this doesn't means hardware design would necessary need LNA and PA implemented.
Because LNA and PA are to enhance the signal strength and have nothing to do with the inherent chip maximum speed etc.
So some low cost design might still remove it from beginning.

BTW if LNA and PA is used it is suppose to reduce the chip power itself because it do not need to push the PA and LNA to the maximum. So this is against the observation as external PA and LNA should reduce the over all thermal profile by splitting the junction temperature evenly all around the board.

No wonder RTL8814AU product is not common at all and module it self is also not common to find.

@morrownr
Copy link
Collaborator Author

@briansune

No wonder RTL8814AU product is not common at all and module it self is also not common to find.

I suspect the rtl8814au never sold in the module format very well at all. I was never able to find many sources of modules. That might account for Realtek dropping support for their vendor driver around 6 years ago. It is a bad driver. It can't even do WPA3. I think my repo has been the only rtl8814au repo that has been actively maintained for a long time.

There were a lot of Linux users that bought adapters with this chipset as my repo still gets over 100 views per day.

@morrownr
Copy link
Collaborator Author

@dubhater

I have added notices about the new 8814au driver being available for testing in several locations that should get attention. It is the holiday season so we may not see much of a pickup in testing until after the first of the year. Of note, unlike what I did for previous drivers, this time I am pushing users to post reports in this repo. It might be a good idea if I post a notice close to the top of the README. Is there anything specific you want in the notice? Also, do you have in mind any specific timeline for upstreaming this driver?

@briansune
Copy link

briansune commented Dec 22, 2024

@briansune

No wonder RTL8814AU product is not common at all and module it self is also not common to find.

I suspect the rtl8814au never sold in the module format very well at all. I was never able to find many sources of modules. That might account for Realtek dropping support for their vendor driver around 6 years ago. It is a bad driver. It can't even do WPA3. I think my repo has been the only rtl8814au repo that has been actively maintained for a long time.

There were a lot of Linux users that bought adapters with this chipset as my repo still gets over 100 views per day.

@morrownr

According to my research why people view the repo is because USB dongle is common but PCBA and PCB-Module is completely dead.

You have zero chance to find it like stamp PCBA nor a PCBA with connector.

The one I can find closest is a TV replacement parts in my area (Shipping phase).

So from hardware point of view the driver as you also described in the README said that it is expect to use on standalone ARM, RISC based platform etc. as there are still lot of people play with mini-PC these days to build projects.

But do HW designer really can do custom board design, the answer is NO and BIG NO.

So small-scale to large scale productions are completely dead.

Just like RTL8723DS most HW designer can transfer design w/o any major issues.

So support this driver is just like a bonus but do it necessary need on PC-based LINUX I guess you already answer (NO) as there are default general driver to support dongle like RTL8814-series.

@dubhater
Copy link
Collaborator

dubhater commented Dec 23, 2024

I have added notices about the new 8814au driver being available for testing in several locations that should get attention. It is the holiday season so we may not see much of a pickup in testing until after the first of the year. Of note, unlike what I did for previous drivers, this time I am pushing users to post reports in this repo. It might be a good idea if I post a notice close to the top of the README. Is there anything specific you want in the notice?

@morrownr Thanks for letting everyone know. Whatever you can think of is fine.

Also, do you have in mind any specific timeline for upstreaming this driver?

I was thinking to let people test it for a month, so around the end of January.

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

4 participants