This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
en:users:wi-fi-alliance-certification [2021/08/12 14:29] Reto Schneider [rtl8xxxu on RTL8188CUS on GARDENA smart gateway] |
en:users:wi-fi-alliance-certification [2021/10/14 07:59] Reto Schneider [Driver development] Weird errors are probably due to broken HW |
||
---|---|---|---|
Line 41: | Line 41: | ||
== Chris == | == Chris == | ||
- | * AP: ? | + | * AP: Dlink DIR-612 (2x2) SSID: CHT57196 with BSSID: 18:0f:76:c5:0a:ea |
* STA: rtl8xxxu running on Edimax EW-7811UN (amd64) | * STA: rtl8xxxu running on Edimax EW-7811UN (amd64) | ||
- | * Distance: ? | + | * Distance: fixed to 3m and 6m for experiment |
- | * Environment: ? | + | * Environment: use less-noisy channel 9 in a 8x9 square meters area which only have 1 router. |
=== Baseline === | === Baseline === | ||
Line 116: | Line 116: | ||
</code> | </code> | ||
- | Unsure if this is a common issue. | + | <del>Unsure if this is a common issue.</del> Seems hardware specific - USB dongle probably broken. |
== RX IQK failed == | == RX IQK failed == | ||
Line 149: | Line 149: | ||
</code> | </code> | ||
- | Unsure if this is a common issue. | + | <del>Unsure if this is a common issue.</del> Seems hardware specific - USB dongle probably broken. |
=== Patches === | === Patches === | ||
- | | **Number** | **Description** | **Link** | **Testing results (Reto)** | **Upstream State** | | + | | **Number** | **Description** | **Link** | **Testing results (Reto)** | **Upstream State** | |
- | | 1 | Handle BSS_CHANGED_TXPOWER/IEEE80211_CONF_CHANGE_POWER | https://github.com/husqvarnagroup/linux/commit/798796ff5070255a7cccc7529c272b629da79d7b | | | | + | | 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 | | | | + | | 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 | | | | + | | 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 | | | | + | | 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 | | | | + | | 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 | | | | + | | 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 | | + | | 7 | Fix the handling of TX A-MPDU aggregation | https://lore.kernel.org/linux-wireless/20210804151325.86600-1-chris.chiu@canonical.com/ | GARDENA gateway: Improves TX throughput, but worsens retry percentage; Reverse issue for RX. | Merged | |
- | | 8 | Improve the retransmission rate with HW_RTS enable | https://github.com/husqvarnagroup/linux/commit/31a00cbf0245877e9a98cdec6903758a928482e5 | GARDENA gateway: Neither troughput nor retry percentage improved | | | + | | 8 | Improve the retransmission rate with HW_RTS enable | https://github.com/husqvarnagroup/linux/commit/31a00cbf0245877e9a98cdec6903758a928482e5 | GARDENA gateway: Neither throughput 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 | | | + | | 9 | Set RTS rate to 24M for AMPDU | https://github.com/husqvarnagroup/linux/commit/b35338e600b003f830c4533c162a53c57d9d34d2 | GARDENA gateway: No positive effects 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 | | + | | 10 | Reduce number of USB interrupts | https://lore.kernel.org/linux-wireless/d32690a6-f679-c676-1461-10b47ae3428b@gmail.com/ | GARDENA gateway: Clearly improves throughput and retries | Merged | |
+ | | 11 | Use lower tx rates for the ack packet | https://lore.kernel.org/linux-wireless/20211001040044.1028708-1-chris.chiu@canonical.com/ | GARDENA gateway: Neither throughput nor retry percentage improved | Merged | | ||
==== Driver Testing ==== | ==== Driver Testing ==== | ||
Line 218: | Line 219: | ||
=== Chris === | === Chris === | ||
+ | |||
+ | == Setup == | ||
+ | - Blacklist all drivers (rlt8xxxu, 8192cu, rtl8192cu) | ||
+ | - Ensure no drivers are loaded | ||
+ | - Load driver to be tested (rlt8xxxu, 8192cu) with insmod | ||
+ | - Start 802.11 capture | ||
+ | - Once IP address got assigned, measure the performance using iperf3: | ||
+ | * TCP TX Throughput: <code>iperf3 -c 192.168.0.11 -t 30 -i 1</code> | ||
+ | * TCP RX Throughput: <code>iperf3 -c --reverse 192.168.0.11 -t 30 -i 1</code> | ||
+ | |||
+ | == Repos == | ||
+ | * Linux: https://github.com/mschiu77/linux/tree/chris/ampdu_action | ||
+ | * 8192cu: https://github.com/mschiu77/rtl8188cus_vendor | ||
+ | |||
+ | == 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 == | == TCP TX Throughput == | ||
Line 229: | Line 248: | ||
== TCP RX Throughput == | == TCP RX Throughput == | ||
- | | **DUT** | **AP** | **Driver** | **Throughput [Mbits/sec]; retries [%]** | **AP <-> DUT** | **Notes** | **PCAP** | | + | | **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 | 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 | 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 | Linux v5.12, 8192cu | 35 Mbits/s; 10% | 3m, direct line of sight | performance is stable high | https://mega.nz/folder/KIsmCBRR#rN9X9sXrdLo7It8qj8PQgQ | | ||
+ | | amd64, Edimax | DLink | Linux v5.12, 8192cu | 20 Mbits/s; 11% | 6m, direct line of sight | performance and retry are better than rtl8xxxu | https://mega.nz/folder/2Q1WBJqS#6dU1pQ9OXbveETqlfQcZ2w | |