On Thu, Nov 24, 2022 at 09:21:58AM +0100, Sascha Hauer wrote: > On Thu, Nov 24, 2022 at 06:48:23AM +0000, Ping-Ke Shih wrote: > > > > > -----Original Message----- > > > From: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> > > > Sent: Tuesday, November 22, 2022 10:55 PM > > > To: Bernie Huang <phhuang@xxxxxxxxxxx> > > > Cc: linux-wireless@xxxxxxxxxxxxxxx; Ping-Ke Shih <pkshih@xxxxxxxxxxx>; Hans Ulli Kroll > > > <linux@xxxxxxxxxxxxx>; Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>; netdev@xxxxxxxxxxxxxxx; > > > Kalle Valo <kvalo@xxxxxxxxxx>; Yan-Hsuan Chuang <tony0620emma@xxxxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx; > > > Viktor Petrenko <g0000ga@xxxxxxxxx>; Neo Jou <neojou@xxxxxxxxx>; Bernie Huang <phhuang@xxxxxxxxxxx>; > > > kernel@xxxxxxxxxxxxxx; Johannes Berg <johannes@xxxxxxxxxxxxxxxx>; Alexander Hochbaum <alex@xxxxxxxxxx>; > > > Da Xue <da@libre.computer> > > > Subject: Re: [PATCH v3 00/11] RTW88: Add support for USB variants > > > > > > On Tue, Nov 22, 2022 at 03:52:15PM +0100, Sascha Hauer wrote: > > > > This is the third round of adding support for the USB variants to the > > > > RTW88 driver. There are a few changes to the last version which make it > > > > worth looking at this version. > > > > > > > > First of all RTL8723du and RTL8821cu are tested working now. The issue > > > > here was that the txdesc checksum calculation was wrong. I found the > > > > correct calculation in various downstream drivers found on github. > > > > > > > > The second big issue was that TX packet aggregation was wrong. When > > > > aggregating packets each packet start has to be aligned to eight bytes. > > > > The necessary alignment was added to the total URB length before > > > > checking if there is another packet to aggregate, so the URB length > > > > included that padding after the last packet, which is wrong. Fixing > > > > this makes the driver work much more reliably. > > > > > > > > I added all people to Cc: who showed interest in this driver and I want > > > > to welcome you for testing and reviewing. > > > > > > There still is a problem with the RTL8822cu chipset I have here. When > > > using NetworkManager I immediately lose the connection to the AP after > > > it has been connected: > > > > > > [ 376.213846] wlan0: authenticate with 76:83:c2:ce:81:b1 > > > [ 380.085463] wlan0: send auth to 76:83:c2:ce:81:b1 (try 1/3) > > > [ 380.091446] wlan0: authenticated > > > [ 380.108864] wlan0: associate with 76:83:c2:ce:81:b1 (try 1/3) > > > [ 380.136448] wlan0: RX AssocResp from 76:83:c2:ce:81:b1 (capab=0x1411 status=0 aid=2) > > > [ 380.202955] wlan0: associated > > > [ 380.268140] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready > > > [ 380.275328] wlan0: Connection to AP 76:83:c2:ce:81:b1 lost > > > > > > That doesn't happen when using plain wpa_supplicant. This seems to go > > > down to cd96e22bc1da ("rtw88: add beacon filter support"). After being > > > connected I get a BCN_FILTER_CONNECTION_LOSS beacon. Plain > > > wpa_supplicant seems to go another code patch and doesn't activate > > > connection quality monitoring. > > > > > > The connection to the AP works fluently also with NetworkManager though > > > when I just ignore the BCN_FILTER_CONNECTION_LOSS beacon. > > > > > > Any idea what may be wrong here? > > > > > > > Please reference to below patch to see if it can work to you. > > > > https://lore.kernel.org/linux-wireless/20221124064442.28042-1-pkshih@xxxxxxxxxxx/T/#u > > Great! That solves this issue \o/ I am also happy to say that this patch is a real performance boost. Here are some numbers: RTL8723DU, no patch =================== tx [ 5] 0.00-10.00 sec 1.08 MBytes 903 Kbits/sec 1 sender rx [ 5] 0.00-10.26 sec 10.3 MBytes 8.41 Mbits/sec 0 sender RTL8723DU, with patch ===================== tx [ 5] 0.00-10.00 sec 34.7 MBytes 29.1 Mbits/sec 9 sender rx [ 5] 0.00-10.05 sec 34.4 MBytes 28.7 Mbits/sec 5 sender RTL8821CU, no patch =================== tx [ 5] 0.00-10.00 sec 6.01 MBytes 5.04 Mbits/sec 0 sender rx [ 5] 0.00-10.44 sec 53.4 MBytes 42.9 Mbits/sec 0 sender RTL8821CU, with patch =================== tx [ 5] 0.00-10.00 sec 57.9 MBytes 48.6 Mbits/sec 0 sender rx [ 5] 0.00-10.15 sec 66.3 MBytes 54.8 Mbits/sec 419 sender RTL8822CU, no patch =================== tx [ 5] 0.00-10.00 sec 11.8 MBytes 9.91 Mbits/sec 1 sender rx [ 5] 0.00-10.18 sec 105 MBytes 86.3 Mbits/sec 805 sender RTL8822CU, with patch =================== tx [ 5] 0.00-10.01 sec 80.0 MBytes 67.1 Mbits/sec 0 sender rx [ 5] 0.00-10.12 sec 117 MBytes 97.2 Mbits/sec 658 sender Tested with: tx: iperf3 -c 192.168.0.57 -i0 rx: iperf3 -c 192.168.0.57 -i0 -R Especially the RTL8723DU now starts being useful. Sascha -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |