User Tools

Site Tools


en:users:wi-fi-alliance-certification

This is an old revision of the document!


Certified by Wi-Fi Alliance

Date Vendor Certificate Hardware Driver (version) Certified
September 11, 2019 Aeon Matrix Inc. Yardian Pro PRO1902 (link dead) ? mt76 (pre mainline) 2,4 GHz, 1 Spatial Stream 2.4 GHz, STA, b/g/n, WMM, WPA2/WPA Personal, Short Guard Interval, TX A-MPDU, STBC Receive, 40 MHz operation in 2.4 GHz with coexistence mechanisms
January 14, 2019 GARDENA GmbH GARDENA smart Gateway (Art. 19005) MT7688 mt76 (pre mainline) 2,4 GHz, 1 Spatial Stream 2.4 GHz, STA, b/g/n, WMM, WPA2/WPA Personal, Short Guard Interval, TX A-MPDU, STBC Receive, 40 MHz operation in 2.4 GHz with coexistence mechanisms, Greenfield Preamble, STAUT Power Management

Work In Progress

rtl8xxxu on RTL8188CUS on GARDENA smart gateway

RealTek provides a GPLed Linux driver named “8192cu” for its RTL8188CUS hardware. While it has worked well enough to pass the Wi-Fi Alliance certification, the last release is from 2017, its code does not work well with modern kernels (FullMAC, and notoriously unstable) and does no longer receive any security updates. Luckily, it has been superseded by TWO mainlined kernel drivers:

  • rtl8192cu: Based on the RealTek driver, shoehorned into mainline Linux. Suffers from various stability issues and code is close to unreadable.
  • rtl8xxxu: Written from scratch, will replace rtl8192cu. It has been shown to to be stable during long-term testing. Code is readable. Not (yet) feature equivalent to the 8192cu or even the rtl8192cu.

Both, rtl8192cu and rtl8xxxu are worse than 8192cu when it comes to features and performance.

Given the code quality and stability, it is the goal of GARDENA to develop the rtl8xxxu driver as far as needed to pass the Wi-Fi Alliance certification.

A big hurdle is the lack of sources as well as documentation for the firmware. Therefore, digging in the (hard to read) sources of the vendor driver is needed.

Hardware

  • End product: ARMv5, Atmel SAM9G25 based GARDENA smart gateway (sources)
  • For development: x86_amd64, Edimax EW-7811UN

Progress: Hardware is already on the market, nothing left to do or could be changed for that matter.

Firmware

All driver development and the verification is getting done with firmware version 88.2, which is part of linux-wireless since release 20201118.

Before linux-wireless release 20201118, the provided firmware was version 80.0, which is known to hang on the GARDENA smart gateway as long-term tests have shown (and on other machines too - Google knows). Only a cold reset resolved the problem, which is easy to do for an USB WLAN stick but problematic (human intervention needed) on a embedded device that has no hardware reset capabilities for the USB device.

Driver development

Setup

Reto
  • AP: various (mainly Linksys WRT3200ACM with TA 00:60:6e:00:07:7d, BS 24:f5:a2:c0:4e:b1, SSID “customer-wifi”)
  • STAs:
    • Thinkpad T420/Edimax EW-7811UN (08:be:ac:0b:14:c4; amd64)
    • GARDENA smart gateways (various MAC addresses; ARMv5)
  • Capturing device: Asus PCE-AX58BT (Intel AX200)
  • iperf3 host: Workstation with IPv4 address 10.42.0.1
  • Distance: Variable, but generally close (1-3m distance)
  • Environment: Residual area; not clean/standardized, but using a (seemingly) non-crowded channel (12)
Chris
  • AP: Dlink DIR-612 (2×2) SSID: CHT57196 with BSSID: 18:0f:76:c5:0a:ea
  • STA: rtl8xxxu running on Edimax EW-7811UN (amd64)
  • Distance: fixed to 3m and 6m for experiment
  • Environment: use less-noisy channel 9 in a 8×9 square meters area which only have 1 router.

Baseline

The rtl8xxxu driver performance (throughput) gets compared to the latest vendor driver release (8192cu), which has been patched to work on recent Linux versions (5.10+): https://github.com/husqvarnagroup/8192cu_rtl8188cus

Progress

Priority Task Wi-Fi Alliance Test Case State Optional
1 ACK #1: Fix Block ACKs to include (ack) recently sent frames n/a (but a prerequisite) WIP n
2 ACK #2: Fix regular ACKs to work also with non-MCS2 packets n/a (but a prerequisite) WIP n
unknown Allow setting TX power limit via iw none, but needed for EMC implemented, needs to be verified by GARDENA n
unknown TX Power: power by rate. none, but maybe required for EMC not yet implemented n
unknown A-MSDU (RX support) 5.2.38 not yet implemented n
unknown WMM: Wi-Fi Multimedia many not yet implemented n (but ASD?)
unknown 802.11n: STBC Receive 5.2.46 implemented, needs to be verified n
unknown A-MPDU: #1. Handle ampdu_action properly on TX. Ex.ADDBA, DELBA, BAR 5.2.47 implemented, needs to be verified n
unknown A-MPDU: #2. Make sure BAR to be handled correctly on RX 5.2.47 not yet implemented n
unknown iw station dump: “tx bitrate: (unknown)” (n/a) n/a fixed y
unknown iw output: “Available Antennas: TX 0 RX 0” (n/a) n/a fixed y
unknown Reach MCS5 ~ MCS7 rate under rate control n/a not yet implemented y
unknown Protected Management Frames (For WPA3 support) unknown not yet implemented, HW support unknown (RTL8188CUS) y
unknown CRDA + RegDB support: Static TX power limit, global unknown not yet implemented y
unknown CRDA + RegDB support: Country support (implement regd_notifier()) unknown not yet implemented y
none Greenfield mode 5.2.41 (no longer existing) not yet implemented y
unknown Regulatory domain: Hook the TX power set/get of the cfg80211 to the driver none not yet implemented y
none Firmware upload failure n/a not yet fixed y
none RX IQK failed n/a not yet fixed y
ACK #1: Fix Block ACKs to include (ack) recently sent frames

rtl8xxxu: During block ACK sessions, the STA does not ACK frames sent by the AP in time, causing the AP to resend them. It is unknown whether the frames have not been properly received by the STA or if the STA is “just” too slow to ACK them in time.

This results in retransmission percentages of 10-50%. While still yielding usable performance (10-40 MBit/s), this percentage is too high for passing the Wi-Fi Alliance certification.

8192cu: ACK-ing all sent frames in time, resulting in only 1-2% retransmitted frames and great performance (35+ MBit/s).

Firmware upload failure

The following error happens frequently on Reto's machine, but does not happen on the GARDENA smart gateway:

kernel: usb 1-1.5.4: new high-speed USB device number 8 using ehci-pci
kernel: usb 1-1.5.4: New USB device found, idVendor=7392, idProduct=7811, bcdDevice= 2.00
kernel: usb 1-1.5.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
kernel: usb 1-1.5.4: Product: 802.11n WLAN Adapter
kernel: usb 1-1.5.4: Manufacturer: Realtek
kernel: usb 1-1.5.4: SerialNumber: 00e04c000001
kernel: usb 1-1.5.4: Vendor: Realtek
kernel: usb 1-1.5.4: Product: 802.11n WLAN Adapter
kernel: usb 1-1.5.4: rtl8192cu_parse_efuse: dumping efuse (0x80 bytes):
kernel: usb 1-1.5.4: 00: 29 81 00 74 cd 00 00 00
kernel: usb 1-1.5.4: 08: ff 00 92 73 11 78 03 41
kernel: usb 1-1.5.4: 10: 32 00 85 62 9e ad 08 be
kernel: usb 1-1.5.4: 18: ac 0b 14 c4 0a 03 52 65
kernel: usb 1-1.5.4: 20: 61 6c 74 65 6b 00 16 03
kernel: usb 1-1.5.4: 28: 38 30 32 2e 31 31 6e 20
kernel: usb 1-1.5.4: 30: 57 4c 41 4e 20 41 64 61
kernel: usb 1-1.5.4: 38: 70 74 65 72 00 00 00 00
kernel: usb 1-1.5.4: 40: 00 00 00 00 00 00 00 00
kernel: usb 1-1.5.4: 48: 00 00 00 00 00 00 00 00
kernel: usb 1-1.5.4: 50: 00 00 00 00 00 00 00 00
kernel: usb 1-1.5.4: 58: 06 00 27 27 27 00 00 00
kernel: usb 1-1.5.4: 60: 29 29 29 00 00 00 00 00
kernel: usb 1-1.5.4: 68: 00 00 00 00 11 11 33 00
kernel: usb 1-1.5.4: 70: 00 00 00 00 00 02 00 00
kernel: usb 1-1.5.4: 78: 0f 00 00 00 36 00 00 00
kernel: usb 1-1.5.4: RTL8188CU rev A (TSMC) 1T1R, TX queues 2, WiFi=1, BT=0, GPS=0, HI PA=0
kernel: usb 1-1.5.4: RTL8188CU MAC: 08:be:ac:0b:14:c4
kernel: usb 1-1.5.4: rtl8xxxu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
kernel: usb 1-1.5.4: Firmware revision 88.2 (signature 0x88c1)
kernel: usb 1-1.5.4: rtl8xxxu_writeN: Failed to write block at addr: 1c00 size: 0080
kernel: rtl8xxxu: probe of 1-1.5.4:1.0 failed with error -11

Unsure if this is a common issue.

RX IQK failed

The following error happens frequently on Reto's machine, but does not happen on the GARDENA smart gateway:

kernel: usb 1-1.5.4: Vendor: Realtek
kernel: usb 1-1.5.4: Product: 802.11n WLAN Adapter
kernel: usb 1-1.5.4: rtl8192cu_parse_efuse: dumping efuse (0x80 bytes):
kernel: usb 1-1.5.4: 00: 29 81 00 74 cd 00 00 00
kernel: usb 1-1.5.4: 08: ff 00 92 73 11 78 03 41
kernel: usb 1-1.5.4: 10: 32 00 85 62 9e ad 08 be
kernel: usb 1-1.5.4: 18: ac 0b 14 c4 0a 03 52 65
kernel: usb 1-1.5.4: 20: 61 6c 74 65 6b 00 16 03
kernel: usb 1-1.5.4: 28: 38 30 32 2e 31 31 6e 20
kernel: usb 1-1.5.4: 30: 57 4c 41 4e 20 41 64 61
kernel: usb 1-1.5.4: 38: 70 74 65 72 00 00 00 00
kernel: usb 1-1.5.4: 40: 00 00 00 00 00 00 00 00
kernel: usb 1-1.5.4: 48: 00 00 00 00 00 00 00 00
kernel: usb 1-1.5.4: 50: 00 00 00 00 00 00 00 00
kernel: usb 1-1.5.4: 58: 06 00 27 27 27 00 00 00
kernel: usb 1-1.5.4: 60: 29 29 29 00 00 00 00 00
kernel: usb 1-1.5.4: 68: 00 00 00 00 11 11 33 00
kernel: usb 1-1.5.4: 70: 00 00 00 00 00 02 00 00
kernel: usb 1-1.5.4: 78: 0f 00 00 00 36 00 00 00
kernel: usb 1-1.5.4: RTL8188CU rev A (TSMC) 1T1R, TX queues 2, WiFi=1, BT=0, GPS=0, HI PA=0
kernel: usb 1-1.5.4: RTL8188CU MAC: 08:be:ac:0b:14:c4
kernel: usb 1-1.5.4: rtl8xxxu: Loading firmware rtlwifi/rtl8192cufw_TMSC.bin
kernel: usb 1-1.5.4: Firmware revision 88.2 (signature 0x88c1)
kernel: usb 1-1.5.4: rtl8xxxu_iqk_path_a: Path A RX IQK failed!
kernel: usb 1-1.5.4: rtl8xxxu_iqk_path_a: Path A RX IQK failed!
kernel: usbcore: registered new interface driver rtl8xxxu

Unsure if this is a common issue.

Patches

Number Description Link Testing results (Reto) Upstream State
1 Handle BSS_CHANGED_TXPOWER/IEEE80211_CONF_CHANGE_POWER https://github.com/husqvarnagroup/linux/commit/798796ff5070255a7cccc7529c272b629da79d7b
2 Handle for mac80211 get_txpower https://github.com/husqvarnagroup/linux/commit/5df123ce78422b76603eedf799fc50f5e3303011
3 Enable RX STBC by default https://github.com/husqvarnagroup/linux/commit/4efe4bf653a14b61ff9b3969050bc696976415eb
4 Feed antenna information for mac80211 https://github.com/husqvarnagroup/linux/commit/070d0eca2dbe8086a215c33f6d3ee10cfe9a17cc
5 Fill up txrate info for all chips https://github.com/husqvarnagroup/linux/commit/fa14d07da5566c8abebccd68473ddc17e908be45
6 Fix the reported rx signal strength https://github.com/husqvarnagroup/linux/commit/95f19fff95a62ab67ecc50d75e8c59669f936bd2
7 Fix the handling of TX A-MPDU aggregation https://lore.kernel.org/linux-wireless/20210630160151.28227-1-chris.chiu@canonical.com/#t GARDENA gateway: Improves TX throughtput, but worsens retry percentage; Reverse issue for RX. WIP
8 Improve the retransmission rate with HW_RTS enable https://github.com/husqvarnagroup/linux/commit/31a00cbf0245877e9a98cdec6903758a928482e5 GARDENA gateway: Neither troughput nor retry percentage improved
9 Set RTS rate to 24M for AMPDU https://github.com/husqvarnagroup/linux/commit/b35338e600b003f830c4533c162a53c57d9d34d2 GARDENA gateway: no positive effectes observable
10 Reduce number of USB interrupts https://lore.kernel.org/linux-wireless/d32690a6-f679-c676-1461-10b47ae3428b@gmail.com/T/#t Clearly improves throughput and retries ACKed by maintainer

Driver Testing

Reto

Setup
  1. Blacklist all drivers (rlt8xxxu, 8192cu, rtl8192cu)
  2. Ensure no drivers are loaded
  3. Load driver to be tested (rlt8xxxu, 8192cu, rtl8192cu) with insmod
  4. Start 802.11 capture
  5. Start wpa_supplicant on DUT
  6. Once IP address got assigned, measure the performance using iperf3:
    • TCP TX Throughput:
      iperf3 -c 10.42.0.1
    • TCP RX Throughput:
      iperf3 -c --reverse 10.42.0.1
Repos
Analysis
  • The throughput values are the ones reported by iperf3 (the lower value if server/client values differ)
  • The retry values are taken from Wireshark in menu “Wireless” → “WLAN Traffic”
TCP TX Throughput
DUT AP Driver Throughput [Mbits/sec]; retries [%] AP ↔ DUT Notes PCAP
amd64, Edimax Linksys Linux v5.10.51, rtl8xxxu (vanilla) 30.6 Mbits/s; 12% 2m, two monitors in line of sight Many “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-1-Linux-5.10.51-2021-07-22-vanilla-rtl8xxxu-edimax-08:be:ac:0b:14:c4-iperf-tx-tcp-12%25-retries-at-30.6MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, rtl8xxxu (vanilla) 13.1 Mbits/s; 3% 2m, two monitors in line of sight Many “ghost MAC addresses”; unexplained performance/retry drop https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-3-Linux-5.10.51-2021-07-22-vanilla-rtl8xxxu-edimax-08:be:ac:0b:14:c4-iperf-tx-tcp-3%25-retries-at-13.1MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, 8192cu (tag rs/2021-07-23) 4.02 Mbits/s; 17.2% 2m, two monitors in line of sight No “ghost MAC addresses”; Surprisingly bad performance https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-5-Linux-5.10.51-2021-07-22-8192cu-edimax-08:be:ac:0b:14:c4-iperf-tx-tcp-16%25-retries-at-4.02MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, 8192cu (tag rs/2021-07-23) 3.91 Mbits/s; 18.8% 2m, two monitors in line of sight No “ghost MAC addresses”; Surprisingly bad performance https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-6-Linux-5.10.51-2021-07-22-8192cu-edimax-08:be:ac:0b:14:c4-iperf-tx-tcp-18%25-retries-at-3.91MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, 8192cu (tag rs/2021-07-23) 49.7 Mbits/s; 4.8% 1m, direct line of sight Some “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-8-Linux-5.10.51-2021-07-22-8192cu-edimax-08:be:ac:0b:14:c4-iperf-tx-tcp-4.8%25-retries-at-49.7MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, rtl8xxxu (vanilla) 45.7 Mbits/s; 9.4% 1m, direct line of sigh No “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-10-Linux-5.10.51-2021-07-22-vanilla-rtl8xxxu-edimax-08:be:ac:0b:14:c4-iperf-tx-tcp-9.4%25-retries-at-45.7MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, 8192cu (tag rs/2021-07-23) 30.6 Mbits/s; 0.9% 1m, direct line of sigh Some “ghost MAC addresses”; This is the kind of performance wanted https://files.reto-schneider.ch/rtl8xxxu/2021-07-24-Testing/2021-07-24-3-Linux-5.10.52-8192cu-gateway-00:1d:43:c0:19:8a-iperf-tx-tcp-0.9%-retries-at-30.6MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, 8192cu (tag rs/2021-07-23) 42.5 Mbits/s; 2.4% 1m, direct line of sigh Some “ghost MAC addresses”; This is the kind of performance wanted https://files.reto-schneider.ch/rtl8xxxu/2021-07-24-Testing/2021-07-24-4-Linux-5.10.52-8192cu-gateway-00:1d:43:c0:19:8a-iperf-tx-tcp-2.4%-retries-at-42.5MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (vanilla) 12.5 Mbits/s; 17% 1m, direct line of sigh Many “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-24-Testing/2021-07-24-1-Linux-5.10.52-vanilla-rtl8xxxu-gateway-00:1d:43:c0:19:8a-iperf-tx-tcp-17%-retries-at-12.5MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patch 10; tag gardena/rs/v5.10.52-rtl8xxxu-writeup-1-reduce-usb-interrupt-v1) 20.6 Mbits/s; 12% 1m, direct line of sigh Few(er) “ghost MAC addresses”; Clear improvement over vanilla https://files.reto-schneider.ch/rtl8xxxu/2021-07-24-Testing/2021-07-24-9-Linux-5.10.52-rtl8xxxu-1-usb-interrupt-reduction-gateway-00:1d:43:c0:19:8a-iperf-tx-tcp-12.0%-retries-at-20.6MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patches 10, 7; gardena/rs/v5.10.52-rtl8xxxu-writeup-3-tx-apdu-aggregation-v1) 24.3 Mbits/s; 39.9% 1m, direct line of sigh Tons of “ghost MAC addresses”; Performance improved, but *terrible* retry rate https://files.reto-schneider.ch/rtl8xxxu/2021-07-27-Testing/2021-07-27-1-Linux-5.10.52-rtl8xxxu-3-tx-apdu-aggregation-gateway-00:1d:43:c0:19:8a-iperf-tx-tcp-39.9%25-retries-at-24.3MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patches 10, 8; tag gardena/rs/v5.10.52-rtl8xxxu-writeup-4-hw-rts-v1) 15.2 Mbits/s; 17.7% 1m, direct line of sigh Few “ghost MAC addresses”; Throughout and retry percentage worsened https://files.reto-schneider.ch/rtl8xxxu/2021-07-27-Testing/2021-07-27-3-Linux-5.10.52-rtl8xxxu-writeup-4-hw-rts-gateway-00:1d:43:c0:19:8a-iperf-tx-tcp-17.7%25-retries-at-15.2MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patches 10, 8, 7; tag gardena/rs/v5.10.52-rtl8xxxu-writeup-5-ampdu-v1) 20.8 Mbits/s; 46.5% 1m, direct line of sigh Many “ghost MAC addresses”; Terrible retry performance; Patch 9 does not change this. https://files.reto-schneider.ch/rtl8xxxu/2021-07-27-Testing/2021-07-27-5-Linux-5.10.52-rtl8xxxu-writeup-5-ampdu-v1-gateway-00:1d:43:c0:19:8a-iperf-tx-tcp-46.5%25-retries-at-20.8MBps.pcapng.gz
TCP RX Throughput
DUT AP Driver Throughput [Mbits/sec]; retries [%] AP ↔ DUT Notes PCAP
amd64, Edimax Linksys Linux v5.10.51, rtl8xxxu (vanilla) 38.9 Mbits/s; 16% 2m, two monitors in line of sight Many “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-2-Linux-5.10.51-2021-07-22-vanilla-rtl8xxxu-edimax-08:be:ac:0b:14:c4-iperf-rx-tcp-16%25-retries-at-37.2MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, rtl8xxxu (vanilla) 41.7 Mbits/s; 15.6% 2m, two monitors in line of sight Many “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-4-Linux-5.10.51-2021-07-22-vanilla-rtl8xxxu-edimax-08:be:ac:0b:14:c4-iperf-rx-tcp-15.6%25-retries-at-41.7MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, 8192cu (tag rs/2021-07-23) 41.8 Mbits/s; 10% 2m, two monitors in line of sight Many “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-7-Linux-5.10.51-2021-07-22-8192cu-edimax-08:be:ac:0b:14:c4-iperf-rx-tcp-10%25-retries-at-41.4MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, 8192cu (tag rs/2021-07-23) 49.7 Mbits/s; 9.9% 1m, direct line of sight Many “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-9-Linux-5.10.51-2021-07-22-8192cu-edimax-08:be:ac:0b:14:c4-iperf-rx-tcp-4.8%25-retries-at-49.7MBps.pcapng.gz
amd64, Edimax Linksys Linux v5.10.51, rtl8xxxu (vanilla) 47.5 Mbits/s; 10.8% 1m, direct line of sight Many “ghost MAC addresses” https://files.reto-schneider.ch/rtl8xxxu/2021-07-23-Testing/2021-07-23-11-Linux-5.10.51-2021-07-22-vanilla-rtl8xxxu-edimax-08:be:ac:0b:14:c4-iperf-rx-tcp-10.9%25-retries-at-47.5MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, 8192cu (tag rs/2021-07-23) 47.3 Mbits/s; 0.2% 1m, direct line of sigh Zero “ghost MAC addresses”; This is the kind of performance wanted. https://files.reto-schneider.ch/rtl8xxxu/2021-07-24-Testing/2021-07-24-5-Linux-5.10.52-8192cu-gateway-00:1d:43:c0:19:8a-iperf-rx-tcp-0.2%-retries-at-47.3MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (vanilla) 24.4 Mbits/s; 28.2% 1m, direct line of sigh Many “ghost MAC addresses”; This performance needs to be optimized https://files.reto-schneider.ch/rtl8xxxu/2021-07-24-Testing/2021-07-24-7-Linux-5.10.52-vanilla-rtl8xxxu-gateway-00:1d:43:c0:19:8a-iperf-rx-tcp-28.2%25-retries-at-24.4MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patch 10) 33.1 Mbits/s; 27% 1m, direct line of sigh Many “ghost MAC addresses”; Slight improvement thanks to patch #10 https://files.reto-schneider.ch/rtl8xxxu/2021-07-24-Testing/2021-07-24-10-Linux-5.10.52-rtl8xxxu-1-usb-interrupt-reduction-gateway-00:1d:43:c0:19:8a-iperf-rx-tcp-27%-retries-at-33.1MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patches 10, 7) 12.4 Mbits/s; 22.3% 1m, direct line of sigh Very few “ghost MAC addresses”; Slightly improved retry rate, but terrible throughput https://files.reto-schneider.ch/rtl8xxxu/2021-07-27-Testing/2021-07-27-2-Linux-5.10.52-rtl8xxxu-3-tx-apdu-aggregation-gateway-00:1d:43:c0:19:8a-iperf-rx-tcp-22.3%25-retries-at-12.4MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patches 10, 8) 32.8 Mbits/s; 25.9% 1m, direct line of sigh No “ghost MAC addresses”; Retry percentage slightly improved https://files.reto-schneider.ch/rtl8xxxu/2021-07-27-Testing/2021-07-27-4-Linux-5.10.52-rtl8xxxu-writeup-4-hw-rts-gateway-00:1d:43:c0:19:8a-iperf-rx-tcp-25.9%25-retries-at-32.8MBps.pcapng.gz
ARMv5, GARDENA smart Gateway (00:1d:43:c0:19:8a) Linksys Linux v5.10.52, rtl8xxxu (patches 10, 8, 7) 8.29 Mbits/s; 26.5% 1m, direct line of sigh Terrible overall performance. Patch 9 does not change this. https://files.reto-schneider.ch/rtl8xxxu/2021-07-27-Testing/2021-07-27-6-Linux-5.10.52-rtl8xxxu-writeup-5-ampdu-v1-gateway-00:1d:43:c0:19:8a-iperf-rx-tcp-26.5%25-retries-at-8.29MBps.pcapng.gz

Chris

Setup
  1. Blacklist all drivers (rlt8xxxu, 8192cu, rtl8192cu)
  2. Ensure no drivers are loaded
  3. Load driver to be tested (rlt8xxxu, 8192cu) with insmod
  4. Start 802.11 capture
  5. Once IP address got assigned, measure the performance using iperf3:
    • TCP TX Throughput:
      iperf3 -c 192.168.0.11 -t 30 -i 1
    • TCP RX Throughput:
      iperf3 -c --reverse 192.168.0.11 -t 30 -i 1
Repos
Analysis
  • The throughput values are the ones reported by iperf3 (the lower value if server/client values differ)
  • The retry values are taken from Wireshark in menu “Wireless” → “WLAN Traffic”
TCP TX Throughput
DUT AP Driver Throughput [Mbits/sec]; retries [%] AP ↔ DUT Notes PCAP
amd64, Edimax DLink Linux v5.13.1 rtl8xxxu 23~27 Mbits/s; 12~14% 3m, direct line of sight performance drop for a few seconds https://mega.nz/folder/LI0ATTAK#0E2J5DHksD1jQi1oJCOJWg
amd64, Edimax DLink Linux v5.13.1 rtl8xxxu 7-14 Mbits/s; 16~20% 6m, direct line of sight performance drop to 0 sometimes https://mega.nz/folder/vMdgADRD#XHljNHbzzlp63qqFsT-rkQ
amd64, Edimax DLink Linux v5.12, 8192cu (https://github.com/mschiu77/rtl8188cus_vendor.git master) 40~42 Mbits/s; 9% 3m, direct line of sight steady performance https://mega.nz/folder/GAcwnDjY#Xf9lVMriWcPpIUACjuZiqg
amd64, Edimax DLink Linux v5.12, 8192cu ((https://github.com/mschiu77/rtl8188cus_vendor.git master) 13-16 Mbits/s; 20~23% 6m, direct line of sight steady throughput w/o sudden drop https://mega.nz/folder/HZ8iQRqY#2ss6WW9u6oxInJvT2R6iCw
TCP RX Throughput
DUT AP Driver Throughput [Mbits/sec]; retries [%] AP ↔ DUT Notes PCAP
amd64, Edimax DLink Linux v5.13.1 rtl8xxxu 36 Mbits/s; 12% 3m, direct line of sight performance is stable high https://mega.nz/folder/3Zs0nDrK#i1fnW6Bp5E_jeC3dcPlWaw
amd64, Edimax DLink Linux v5.13.1 rtl8xxxu 16 Mbits/s; 30% 6m, direct line of sight performance is stably low https://mega.nz/folder/TcsQAZoI#VbQiPZF1B7EJK1_82x2kOg
amd64, Edimax DLink
en/users/wi-fi-alliance-certification.1629690053.txt.gz · Last modified: 2021/08/23 03:40 by Ming Shuo Chiu