All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Lippers-Hollmann <s.l-h@gmx.de>
To: Bitterblue Smith <rtl8821cerfe2@gmail.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Ping-Ke Shih <pkshih@realtek.com>,
	Larry Finger <Larry.Finger@lwfinger.net>,
	Christian Hewitt <chewitt@libreelec.tv>
Subject: Re: [PATCH v4 02/14] wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE
Date: Wed, 10 Apr 2024 06:53:08 +0200	[thread overview]
Message-ID: <20240410065308.57328623@mir> (raw)
In-Reply-To: <ed12ec17-ae6e-45fa-a72f-23e0a34654da@gmail.com>

Hi

On 2024-04-09, Bitterblue Smith wrote:
> Some (all?) management frames are incorrectly reported to mac80211 as
> decrypted when actually the hardware did not decrypt them. This results
> in speeds 3-5 times lower than expected, 20-30 Mbps instead of 100
> Mbps.
>
> Fix this by checking the encryption type field of the RX descriptor.
> rtw88 does the same thing.
>
> This fix was tested only with rtl8192du, which will use the same code.
>
> Cc: stable@vger.kernel.org
> Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
> ---
> v4:
>  - Patch is new in v4.

This patch indeed provides a nice speedup with WPA3/ SAE on my
rtl8192du:

v3 of the patch series:

$ iperf3 -c <remote_server_ipv6>
Connecting to host <remote_server_ipv6>, port 5201
[  5] local <local_client_ipv6> port 45806 connected to <remote_server_ipv6> port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  3.75 MBytes  31.4 Mbits/sec    0    241 KBytes
[  5]   1.00-2.00   sec  3.88 MBytes  32.5 Mbits/sec    0    411 KBytes
[  5]   2.00-3.00   sec  3.88 MBytes  32.5 Mbits/sec    0    580 KBytes
[  5]   3.00-4.00   sec  3.88 MBytes  32.5 Mbits/sec    0    720 KBytes
[  5]   4.00-5.00   sec  2.62 MBytes  22.0 Mbits/sec    0    846 KBytes
[  5]   5.00-6.00   sec  2.75 MBytes  23.1 Mbits/sec    0   1004 KBytes
[  5]   6.00-7.00   sec  2.62 MBytes  22.0 Mbits/sec    0   1.14 MBytes
[  5]   7.00-8.00   sec  2.75 MBytes  23.1 Mbits/sec    0   1.27 MBytes
[  5]   8.00-9.00   sec  2.62 MBytes  22.0 Mbits/sec    0   1.41 MBytes
[  5]   9.00-10.00  sec  2.75 MBytes  23.1 Mbits/sec    0   1.55 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  31.5 MBytes  26.4 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  30.4 MBytes  25.5 Mbits/sec                  receiver

iperf Done.

$ iperf3 -c <remote_server_ipv6> --reverse
Connecting to host <remote_server_ipv6>, port 5201
Reverse mode, remote host <remote_server_ipv6> is sending
[  5] local <local_client_ipv6> port 57564 connected to <remote_server_ipv6> port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  3.25 MBytes  27.2 Mbits/sec
[  5]   1.00-2.00   sec  2.50 MBytes  21.0 Mbits/sec
[  5]   2.00-3.00   sec  2.25 MBytes  18.9 Mbits/sec
[  5]   3.00-4.00   sec  2.25 MBytes  18.9 Mbits/sec
[  5]   4.00-5.00   sec  2.88 MBytes  24.1 Mbits/sec
[  5]   5.00-6.00   sec  2.88 MBytes  24.1 Mbits/sec
[  5]   6.00-7.00   sec  2.38 MBytes  19.9 Mbits/sec
[  5]   7.00-8.00   sec  2.62 MBytes  22.0 Mbits/sec
[  5]   8.00-9.00   sec  3.00 MBytes  25.2 Mbits/sec
[  5]   9.00-10.00  sec  3.00 MBytes  25.2 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  29.9 MBytes  25.0 Mbits/sec    0             sender
[  5]   0.00-10.00  sec  27.0 MBytes  22.6 Mbits/sec                  receiver

iperf Done.

$ iperf3 -c <remote_server_ipv6> --bidir
Connecting to host <remote_server_ipv6>, port 5201
[  5] local <local_client_ipv6> port 44242 connected to <remote_server_ipv6> port 5201
[  7] local <local_client_ipv6> port 44252 connected to <remote_server_ipv6> port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  2.00 MBytes  16.8 Mbits/sec    0    109 KBytes
[  7][RX-C]   0.00-1.00   sec  1.00 MBytes  8.38 Mbits/sec
[  5][TX-C]   1.00-2.00   sec  2.75 MBytes  23.1 Mbits/sec    0    212 KBytes
[  7][RX-C]   1.00-2.00   sec   640 KBytes  5.24 Mbits/sec
[  5][TX-C]   2.00-3.00   sec  2.25 MBytes  18.9 Mbits/sec    0    315 KBytes
[  7][RX-C]   2.00-3.00   sec   640 KBytes  5.24 Mbits/sec
[  5][TX-C]   3.00-4.00   sec  3.12 MBytes  26.2 Mbits/sec    0    421 KBytes
[  7][RX-C]   3.00-4.00   sec   512 KBytes  4.19 Mbits/sec
[  5][TX-C]   4.00-5.00   sec  4.00 MBytes  33.6 Mbits/sec    0    551 KBytes
[  7][RX-C]   4.00-5.00   sec   640 KBytes  5.24 Mbits/sec
[  5][TX-C]   5.00-6.00   sec  2.50 MBytes  21.0 Mbits/sec    0    676 KBytes
[  7][RX-C]   5.00-6.00   sec   384 KBytes  3.15 Mbits/sec
[  5][TX-C]   6.00-7.00   sec  2.75 MBytes  23.1 Mbits/sec    0    802 KBytes
[  7][RX-C]   6.00-7.00   sec   384 KBytes  3.15 Mbits/sec
[  5][TX-C]   7.00-8.00   sec  2.62 MBytes  22.0 Mbits/sec    0    925 KBytes
[  7][RX-C]   7.00-8.00   sec   256 KBytes  2.10 Mbits/sec
[  5][TX-C]   8.00-9.00   sec  2.75 MBytes  23.1 Mbits/sec    0   1.05 MBytes
[  7][RX-C]   8.00-9.00   sec   512 KBytes  4.19 Mbits/sec
[  5][TX-C]   9.00-10.00  sec  2.62 MBytes  22.0 Mbits/sec    0   1.19 MBytes
[  7][RX-C]   9.00-10.00  sec   256 KBytes  2.10 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec  27.4 MBytes  23.0 Mbits/sec    0             sender
[  5][TX-C]   0.00-10.00  sec  25.4 MBytes  21.3 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  6.12 MBytes  5.14 Mbits/sec    1             sender
[  7][RX-C]   0.00-10.00  sec  5.12 MBytes  4.30 Mbits/sec                  receiver

iperf Done.

***********************************************************************

v4 of the patch series:

$ iperf3 -c <remote_server_ipv6>
Connecting to host <remote_server_ipv6>, port 5201
[  5] local <local_client_ipv6> port 60528 connected to <remote_server_ipv6> port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  13.1 MBytes   110 Mbits/sec    0    445 KBytes
[  5]   1.00-2.00   sec  13.2 MBytes   111 Mbits/sec    0    644 KBytes
[  5]   2.00-3.00   sec  11.9 MBytes  99.6 Mbits/sec    0    768 KBytes
[  5]   3.00-4.00   sec  11.5 MBytes  96.5 Mbits/sec    0    855 KBytes
[  5]   4.00-5.00   sec  12.0 MBytes   101 Mbits/sec    0    945 KBytes
[  5]   5.00-6.00   sec  11.4 MBytes  95.5 Mbits/sec    0    945 KBytes
[  5]   6.00-7.00   sec  11.6 MBytes  97.5 Mbits/sec    0    945 KBytes
[  5]   7.00-8.00   sec  11.2 MBytes  94.4 Mbits/sec    0    945 KBytes
[  5]   8.00-9.00   sec  13.0 MBytes   109 Mbits/sec    0    945 KBytes
[  5]   9.00-10.00  sec  12.0 MBytes   101 Mbits/sec    0   1000 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   121 MBytes   101 Mbits/sec    0             sender
[  5]   0.00-10.03  sec   118 MBytes  98.3 Mbits/sec                  receiver

iperf Done.

$ iperf3 -c <remote_server_ipv6> --reverse
Connecting to host <remote_server_ipv6>, port 5201
Reverse mode, remote host <remote_server_ipv6> is sending
[  5] local <local_client_ipv6> port 59562 connected to <remote_server_ipv6> port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  16.0 MBytes   134 Mbits/sec
[  5]   1.00-2.00   sec  14.9 MBytes   125 Mbits/sec
[  5]   2.00-3.00   sec  19.2 MBytes   162 Mbits/sec
[  5]   3.00-4.00   sec  14.9 MBytes   125 Mbits/sec
[  5]   4.00-5.00   sec  18.2 MBytes   153 Mbits/sec
[  5]   5.00-6.00   sec  18.9 MBytes   158 Mbits/sec
[  5]   6.00-7.00   sec  17.8 MBytes   149 Mbits/sec
[  5]   7.00-8.00   sec  17.5 MBytes   147 Mbits/sec
[  5]   8.00-9.00   sec  15.1 MBytes   127 Mbits/sec
[  5]   9.00-10.00  sec  14.8 MBytes   124 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec   171 MBytes   144 Mbits/sec    1             sender
[  5]   0.00-10.00  sec   167 MBytes   140 Mbits/sec                  receiver

iperf Done

$ iperf3 -c <remote_server_ipv6> --bidir
Connecting to host <remote_server_ipv6>, port 5201
[  5] local <local_client_ipv6> port 34312 connected to <remote_server_ipv6> port 5201
[  7] local <local_client_ipv6> port 34318 connected to <remote_server_ipv6> port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  8.25 MBytes  69.1 Mbits/sec    0    395 KBytes
[  7][RX-C]   0.00-1.00   sec  7.00 MBytes  58.7 Mbits/sec
[  5][TX-C]   1.00-2.00   sec  3.38 MBytes  28.3 Mbits/sec    0    420 KBytes
[  7][RX-C]   1.00-2.00   sec  14.6 MBytes   123 Mbits/sec
[  5][TX-C]   2.00-3.00   sec  2.88 MBytes  24.1 Mbits/sec    0    473 KBytes
[  7][RX-C]   2.00-3.00   sec  15.4 MBytes   129 Mbits/sec
[  5][TX-C]   3.00-4.00   sec  1.12 MBytes  9.44 Mbits/sec    0    531 KBytes
[  7][RX-C]   3.00-4.00   sec  10.9 MBytes  91.2 Mbits/sec
[  5][TX-C]   4.00-5.00   sec  1.12 MBytes  9.44 Mbits/sec    0    558 KBytes
[  7][RX-C]   4.00-5.00   sec  10.8 MBytes  90.2 Mbits/sec
[  5][TX-C]   5.00-6.00   sec  1.38 MBytes  11.5 Mbits/sec    0    600 KBytes
[  7][RX-C]   5.00-6.00   sec  3.62 MBytes  30.4 Mbits/sec
[  5][TX-C]   6.00-7.00   sec  2.75 MBytes  23.1 Mbits/sec    0    718 KBytes
[  7][RX-C]   6.00-7.00   sec  12.2 MBytes   103 Mbits/sec
[  5][TX-C]   7.00-8.00   sec  2.75 MBytes  23.1 Mbits/sec    0    853 KBytes
[  7][RX-C]   7.00-8.00   sec  11.1 MBytes  93.3 Mbits/sec
[  5][TX-C]   8.00-9.00   sec  2.75 MBytes  23.1 Mbits/sec    0   1.03 MBytes
[  7][RX-C]   8.00-9.00   sec  13.6 MBytes   114 Mbits/sec
[  5][TX-C]   9.00-10.00  sec  4.12 MBytes  34.6 Mbits/sec    0   1.12 MBytes
[  7][RX-C]   9.00-10.00  sec  16.6 MBytes   139 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec  30.5 MBytes  25.6 Mbits/sec    0             sender
[  5][TX-C]   0.00-10.04  sec  27.1 MBytes  22.7 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec   119 MBytes  99.7 Mbits/sec   10             sender
[  7][RX-C]   0.00-10.04  sec   116 MBytes  96.8 Mbits/sec                  receiver

iperf Done.


Regards
	Stefan Lippers-Hollmann

  reply	other threads:[~2024-04-10  4:53 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-09 19:39 [PATCH v4 00/14] wifi: rtlwifi: Add new rtl8192du driver Bitterblue Smith
2024-04-09 19:46 ` [PATCH v4 01/14] wifi: rtlwifi: rtl8192de: Fix 5 GHz TX power Bitterblue Smith
2024-04-12  2:58   ` Ping-Ke Shih
2024-04-09 19:52 ` [PATCH v4 02/14] wifi: rtlwifi: rtl8192de: Fix low speed with WPA3-SAE Bitterblue Smith
2024-04-10  4:53   ` Stefan Lippers-Hollmann [this message]
2024-04-12  6:14   ` Ping-Ke Shih
2024-04-09 19:53 ` [PATCH v4 03/14] wifi: rtlwifi: Move code from rtl8192de to rtl8192d-common Bitterblue Smith
2024-04-12  8:22   ` Ping-Ke Shih
2024-04-14 18:46     ` Bitterblue Smith
2024-04-15  1:29       ` Ping-Ke Shih
2024-04-09 19:54 ` [PATCH v4 04/14] wifi: rtlwifi: Adjust rtl8192d-common for USB Bitterblue Smith
2024-04-09 19:54 ` [PATCH v4 05/14] wifi: rtlwifi: Add rtl8192du/table.{c,h} Bitterblue Smith
2024-04-09 19:56 ` [PATCH v4 06/14] wifi: rtlwifi: Add rtl8192du/hw.{c,h} Bitterblue Smith
2024-04-09 19:57 ` [PATCH v4 07/14] wifi: rtlwifi: Add rtl8192du/phy.{c,h} Bitterblue Smith
2024-04-09 19:57 ` [PATCH v4 08/14] wifi: rtlwifi: Add rtl8192du/trx.{c,h} Bitterblue Smith
2024-04-09 19:58 ` [PATCH v4 09/14] wifi: rtlwifi: Add rtl8192du/rf.{c,h} Bitterblue Smith
2024-04-09 19:58 ` [PATCH v4 10/14] wifi: rtlwifi: Add rtl8192du/fw.{c,h} and rtl8192du/led.{c,h} Bitterblue Smith
2024-04-09 19:59 ` [PATCH v4 11/14] wifi: rtlwifi: Add rtl8192du/dm.{c,h} Bitterblue Smith
2024-04-09 20:00 ` [PATCH v4 12/14] wifi: rtlwifi: Constify rtl_hal_cfg.{ops,usb_interface_cfg} and rtl_priv.cfg Bitterblue Smith
2024-04-09 20:01 ` [PATCH v4 13/14] wifi: rtlwifi: Add rtl8192du/sw.{c,h} Bitterblue Smith
2024-04-09 20:02 ` [PATCH v4 14/14] wifi: rtlwifi: Enable the new rtl8192du driver Bitterblue Smith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240410065308.57328623@mir \
    --to=s.l-h@gmx.de \
    --cc=Larry.Finger@lwfinger.net \
    --cc=chewitt@libreelec.tv \
    --cc=linux-wireless@vger.kernel.org \
    --cc=pkshih@realtek.com \
    --cc=rtl8821cerfe2@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.