mirror of
https://github.com/openwrt/openwrt.git
synced 2025-01-04 04:54:18 +00:00
36f6d6ddcd
Backport support for RTL8812AU/RTL8821AU USB adapters Manually backported patch: 045-v6.13-wifi-rtw88-Enable-the-new-RTL8821AU-RTL8812AU-driver Patches from 046 to 051 are pending. Signed-off-by: Marty Jones <mj8263788@gmail.com> Link: https://github.com/openwrt/openwrt/pull/17079 [Move BPAUTO_WANT_DEV_COREDUMP to original patch] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
71 lines
3.2 KiB
Diff
71 lines
3.2 KiB
Diff
From 4aefde403da7af30757915e0462d88398c9388c5 Mon Sep 17 00:00:00 2001
|
|
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
|
Date: Tue, 8 Oct 2024 21:44:02 +0300
|
|
Subject: [PATCH] wifi: rtw88: Fix the RX aggregation in USB 3 mode
|
|
|
|
RTL8822CU, RTL8822BU, and RTL8821CU don't need BIT_EN_PRE_CALC.
|
|
In fact, RTL8822BU in USB 3 mode doesn't pass all the frames to the
|
|
driver, resulting in much lower download speed than normal:
|
|
|
|
$ iperf3 -c 192.168.0.1 -R
|
|
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 43062 connected to 192.168.0.1 port 5201
|
|
[ ID] Interval Transfer Bitrate
|
|
[ 5] 0.00-1.00 sec 26.9 MBytes 225 Mbits/sec
|
|
[ 5] 1.00-2.00 sec 7.50 MBytes 62.9 Mbits/sec
|
|
[ 5] 2.00-3.00 sec 8.50 MBytes 71.3 Mbits/sec
|
|
[ 5] 3.00-4.00 sec 8.38 MBytes 70.3 Mbits/sec
|
|
[ 5] 4.00-5.00 sec 7.75 MBytes 65.0 Mbits/sec
|
|
[ 5] 5.00-6.00 sec 8.00 MBytes 67.1 Mbits/sec
|
|
[ 5] 6.00-7.00 sec 8.00 MBytes 67.1 Mbits/sec
|
|
[ 5] 7.00-8.00 sec 7.75 MBytes 65.0 Mbits/sec
|
|
[ 5] 8.00-9.00 sec 7.88 MBytes 66.1 Mbits/sec
|
|
[ 5] 9.00-10.00 sec 7.88 MBytes 66.1 Mbits/sec
|
|
- - - - - - - - - - - - - - - - - - - - - - - - -
|
|
[ ID] Interval Transfer Bitrate Retr
|
|
[ 5] 0.00-10.02 sec 102 MBytes 85.1 Mbits/sec 224 sender
|
|
[ 5] 0.00-10.00 sec 98.6 MBytes 82.7 Mbits/sec receiver
|
|
|
|
Don't set BIT_EN_PRE_CALC. Then the speed is much better:
|
|
|
|
% iperf3 -c 192.168.0.1 -R
|
|
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 39000 connected to 192.168.0.1 port 5201
|
|
[ ID] Interval Transfer Bitrate
|
|
[ 5] 0.00-1.00 sec 52.8 MBytes 442 Mbits/sec
|
|
[ 5] 1.00-2.00 sec 71.9 MBytes 603 Mbits/sec
|
|
[ 5] 2.00-3.00 sec 74.8 MBytes 627 Mbits/sec
|
|
[ 5] 3.00-4.00 sec 75.9 MBytes 636 Mbits/sec
|
|
[ 5] 4.00-5.00 sec 76.0 MBytes 638 Mbits/sec
|
|
[ 5] 5.00-6.00 sec 74.1 MBytes 622 Mbits/sec
|
|
[ 5] 6.00-7.00 sec 74.0 MBytes 621 Mbits/sec
|
|
[ 5] 7.00-8.00 sec 76.0 MBytes 638 Mbits/sec
|
|
[ 5] 8.00-9.00 sec 74.4 MBytes 624 Mbits/sec
|
|
[ 5] 9.00-10.00 sec 63.9 MBytes 536 Mbits/sec
|
|
- - - - - - - - - - - - - - - - - - - - - - - - -
|
|
[ ID] Interval Transfer Bitrate Retr
|
|
[ 5] 0.00-10.00 sec 717 MBytes 601 Mbits/sec 24 sender
|
|
[ 5] 0.00-10.00 sec 714 MBytes 599 Mbits/sec receiver
|
|
|
|
Fixes: 002a5db9a52a ("wifi: rtw88: Enable USB RX aggregation for 8822c/8822b/8821c")
|
|
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
|
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
|
|
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
|
Link: https://patch.msgid.link/afb94a82-3d18-459e-97fc-1a217608cdf0@gmail.com
|
|
---
|
|
drivers/net/wireless/realtek/rtw88/usb.c | 1 -
|
|
1 file changed, 1 deletion(-)
|
|
|
|
--- a/drivers/net/wireless/realtek/rtw88/usb.c
|
|
+++ b/drivers/net/wireless/realtek/rtw88/usb.c
|
|
@@ -771,7 +771,6 @@ static void rtw_usb_dynamic_rx_agg_v1(st
|
|
u8 size, timeout;
|
|
u16 val16;
|
|
|
|
- rtw_write32_set(rtwdev, REG_RXDMA_AGG_PG_TH, BIT_EN_PRE_CALC);
|
|
rtw_write8_set(rtwdev, REG_TXDMA_PQ_MAP, BIT_RXDMA_AGG_EN);
|
|
rtw_write8_clr(rtwdev, REG_RXDMA_AGG_PG_TH + 3, BIT(7));
|
|
|