Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revisionBoth sides next revision
toh:linksys:wrt_ac_series [2023/11/27 13:57] – [Latency with 88W8864] add info for mwlwifi 10.4.10 driver palebloodskytoh:linksys:wrt_ac_series [2024/03/25 12:06] – [WPA3 Support] update section title palebloodsky
Line 4: Line 4:
 ===== Introduction ===== ===== Introduction =====
  
-The Linksys WRT AC series routers are high performance, multi-core, dual-partition, 802.11ac, with OEM firmware based on OpenWrt. The overall look of the devices is a throwback to the venerable WRT54G.+The Linksys WRT AC series routers are high performance, dual-core, dual-partition, 802.11ac, with OEM firmware based on OpenWrt. The overall look of the devices is a throwback to the venerable WRT54G.
  
 {{media:linksys:wrt3200acm:wrt3200acm.jpg?250|WRT3200ACM}} {{media:linksys:wrt3200acm:wrt3200acm.jpg?250|WRT3200ACM}}
Line 10: Line 10:
 ===== Supported Hardware ===== ===== Supported Hardware =====
  
-<WRAP lo> +This series uses Marvell Armada based SoCs from the Marvell Embedded Business Unit (mvebu). See specific devices below:
----- datatable ---- +
-cols    Model, Versions, Supported Since Commit_git, Supported Since Rel_releasesince, Package architecture_pkg-arch, CPU MHz, CPU Cores_numcores_, Flash MB, RAM MB, Switch, WLAN Hardwares, Power Supply, Device Techdata_pageid, Comments_ +
-align   : c,c,c,c,c,c,c,c,c,c,c,c,c,c,+
-filter  : Model=WRT1200AC +
-filteror : Model=WRT1900AC +
-filteror : Model=WRT1900ACS +
-filteror : Model=WRT3200ACM +
-filteror : Model=WRT32X +
-sort    : Model +
----- +
-</WRAP> +
  
 +[[:toh:hwdata:linksys:linksys_wrt1200ac|WRT1200AC v1/v2]], [[:toh:hwdata:linksys:linksys_wrt1900ac_v1|WRT1900AC v1]], [[:toh:hwdata:linksys:linksys_wrt1900ac_v2|WRT1900AC v2]], [[:toh:hwdata:linksys:linksys_wrt1900acs_v1|WRT1900ACS v1/v2]], [[:toh:hwdata:linksys:linksys_wrt3200acm|WRT3200ACM]], [[:toh:hwdata:linksys:linksys_wrt32x_v1_venom|WRT32X]]
 ===== Dual Firmware Flashing ===== ===== Dual Firmware Flashing =====
  
Line 33: Line 22:
 See the Flash Layout section on each device page for more details, or options to switch between partitions below. See the Flash Layout section on each device page for more details, or options to switch between partitions below.
  
-LuCI plugin has been developed for managing dual firmware devices called [[:packages:pkgdata:luci-app-advanced-reboot]].+It is recommended to install the LuCI package developed for managing dual firmware [[:packages:pkgdata:luci-app-advanced-reboot]].
  
 ==== Flashing Firmware ==== ==== Flashing Firmware ====
Line 288: Line 277:
 ===== Marvell WiFi ===== ===== Marvell WiFi =====
  
-Depending on the model described in Supported Hardware it has either the 88W8864 or 88W8964 wifi SoC. Both use mwlwifi, a mac80211 driver that is open source with a closed source firmware. Although the driver is stable for basic use of 802.11ac (2.4GHz and 5GHz), some features were not implemented. There is no MU-MIMO, 802.11s for Mesh, or 802.11w for WPA3 supported by the driver. Workarounds for common issues are described below. See also [[https://github.com/kaloz/mwlwifi|mwlwifi github]].+Depending on the model described in Supported Hardware it has either the 88W8864 or 88W8964 wifi chip. Both use mwlwifi, a mac80211 driver that is open source with a closed source firmware. Although the driver is stable for use of 802.11ac (2.4GHz and 5GHz), some features were not implemented: there is no MU-MIMO, 802.11s for Mesh, or 802.11w supported by the driver. Workarounds for common issues are described below. See also [[https://github.com/kaloz/mwlwifi|mwlwifi github]].
  
-To query installed version: <code bash>opkg list-installed | grep mwlwifi</code>+To query installed driver version: <code bash>opkg list-installed | grep mwlwifi</code>
  
 ==== Recommendations ==== ==== Recommendations ====
Line 300: Line 289:
     * radio1: 2.4GHz, mwlwifi driver, WPA2, remaining settings leave default.     * radio1: 2.4GHz, mwlwifi driver, WPA2, remaining settings leave default.
     * radio2: disabled. If you have IoT devices using an ESP chip see below.     * radio2: disabled. If you have IoT devices using an ESP chip see below.
-  - For 88W8864 wlan chip devices consider disabling amsdu as described below.+  - For 88W8864 wlan devices consider disabling amsdu as described below.
   - Enable packet steering per this [[commit>?p=openwrt/openwrt.git;a=commit;h=d3868f15f876507db54afacdef22a7059011a54e|discussion]]: In LuCI this is under Network > Interfaces > Global Network Options > packet steering.   - Enable packet steering per this [[commit>?p=openwrt/openwrt.git;a=commit;h=d3868f15f876507db54afacdef22a7059011a54e|discussion]]: In LuCI this is under Network > Interfaces > Global Network Options > packet steering.
-  - Enabling irqbalance will move mwlwifi from cpu0 to cpu1. However this may increase wifi latency. This package is not always viable on 2core devices beyond benchmarking. Irqbalance is more viable on 4core and up, per this [[:docs:guide-user:services:irqbalance#caution]].+  - Enabling irqbalance will move mwlwifi from CPU0 to CPU1, however this may slightly increase wifi latency. Irqbalance is more viable on 4core or more, per this [[:docs:guide-user:services:irqbalance#caution]].
  
 ==== Latency with 88W8864 ==== ==== Latency with 88W8864 ====
  
-Models with wlan 88W8864 (WRT1200 and WRT1900 series only) have higher [[https://github.com/kaloz/mwlwifi/issues/313#issuecomment-409482862|wifi latency]]. Disabling amsdu in ''/etc/rc.local'' has been shown to reduce wifi latency by 20-30ms, albeit with a drop in peak throughput. Note this has been resolved with the [[https://github.com/openwrt/openwrt/commit/2ed358180ef0f87532cdedefec09d5d605625beb|mwlwifi 10.4.10]] driver in main snapshots and to be included in 24.0x release where the fix below is no longer needed.+Models with wlan 88W8864 (WRT1200/1900) have higher [[https://github.com/kaloz/mwlwifi/issues/313#issuecomment-409482862|wifi latency]]. Disabling amsdu in ''/etc/rc.local'' has been shown to reduce wifi latency by 30-50ms, albeit with a drop to peak throughput. Note this has been resolved with the [[https://github.com/openwrt/openwrt/commit/2ed358180ef0f87532cdedefec09d5d605625beb|mwlwifi 10.4.10]] driver in Main snapshots to be included in 24.0x releasewhere the fix below should be no longer needed.
 <code> <code>
 # turn off A-MSDU frame aggregation # turn off A-MSDU frame aggregation
Line 313: Line 302:
 </code> </code>
  
-==== WPA3/802.11w may hang kernel ====+==== WPA3 support ====
  
-<WRAP indent 55em> +With OpenWrt 23.05.3 onward WPA3 support was added for the 8864 and 8897 (includes WRT1200 and WRT1900) via [[https://github.com/openwrt/openwrt/commit/2ed358180ef0f87532cdedefec09d5d605625beb|mwlwifi driver 10.4.10]]
-WPA3 will not work reliably due to a bug in mwlwifi with 802.11wUse WPA2 and blame Linksys for the incomplete driver. + 
-See [[https://github.com/kaloz/mwlwifi/issues/389#issuecomment-686220324]]. +For 8964 chip models (WRT3200ACM and WRT32X) WPA3 support is still not available as per the driver [[https://github.com/kaloz/mwlwifi/commit/f92043d1a85f61b379c3d6dcb5bdb6e849f6b791|commit notes]]. Blame Marvell for an incomplete Wi-Fi driver.
-</WRAP>+
  
 ==== ESP chip devices won't connect ==== ==== ESP chip devices won't connect ====
  
-<WRAP indent 55em> 
 There is an issue [[flyspray>2709]] with the mwlwifi driver connecting to some IoT devices. See bug report here: [[https://github.com/kaloz/mwlwifi/issues/278|ESP8266/Embedded devices unable to connect to 2.4Ghz Radio]] There is an issue [[flyspray>2709]] with the mwlwifi driver connecting to some IoT devices. See bug report here: [[https://github.com/kaloz/mwlwifi/issues/278|ESP8266/Embedded devices unable to connect to 2.4Ghz Radio]]
  
-Workaround options:\\ +Workarounds:\\ 
-  - Enable radio2 and select the mwifiex driver. Connecting ESP chip devices to this reportedly does not have the problem+  - Enable radio2 with the mwifiex driver (install kmod-mwifiex-sdio). Connecting ESP chip devices here may improve connectivity, however could result in other conflicts
-  - Optional: disable LDPC on radio1 (2.4GHz) may improve this functionality as per https://github.com/kaloz/mwlwifi/issues/278#issuecomment-697433463. +  - Optional: disable LDPC on radio1 (2.4GHz) may improve connectivity as per https://github.com/kaloz/mwlwifi/issues/278#issuecomment-697433463. 
-  - Optional: disable WMM on the interface (note: this will also disable 802.11n/ac capability). +  - Optional: disable WMM on the interface (note: this would also disable 802.11n/ac capability tremendously slowing throughput).
- +
-</WRAP>+
  
 ==== DFS channels not working ==== ==== DFS channels not working ====
  
-**Symptom**: When setting certain channels for the interface of the APthe interface comes up briefly and then is disabled. This only happens for DFS channels. DFS channels are listed in the output of ''iw list'' on the 5GHz radio in the frequencies section. DFS channels will have the text ''(radar detection)'' at the end of the line. Try using one of the non-DFS channels.+When setting certain channels for the AP the interface comes up briefly and then is disabled. This only happens for DFS channels. DFS channels are listed in the output of ''iw list'' on the 5GHz radio in the frequencies section. DFS channels will have the text ''(radar detection)'' at the end of the line. Try using one of the non-DFS channels.
  
 === Information and potential un-official work-arounds === === Information and potential un-official work-arounds ===
Line 342: Line 327:
   * There were also [[https://github.com/openwrt/openwrt/pull/2397|changes]] to not lock the regulatory domain to avoid undesired effects like messed up system reg domain when another adapter is present or broadcasting incorrect country code in many countries. An alternate implementation can be [[https://github.com/httpstorm/openwrt/commits/14d361a699e819a6c6a7ac6e57a54caed3638cad|found here]] and another [[https://github.com/openwrt/openwrt/issues/9956#issuecomment-1140467600|here]].   * There were also [[https://github.com/openwrt/openwrt/pull/2397|changes]] to not lock the regulatory domain to avoid undesired effects like messed up system reg domain when another adapter is present or broadcasting incorrect country code in many countries. An alternate implementation can be [[https://github.com/httpstorm/openwrt/commits/14d361a699e819a6c6a7ac6e57a54caed3638cad|found here]] and another [[https://github.com/openwrt/openwrt/issues/9956#issuecomment-1140467600|here]].
  
-==== Missing Drop Down Values ====+==== Missing drop down values using older kernels ====
  
-<WRAP indent 55em> +To accommodate a wide variety of kernels compatible with the series, ''path'' values were modified.\\
-To accommodate a wider variety of kernels for compatibility with the series, ''path'' values were modified.\\+
 If experiencing missing drop down values, add //''platform''// back to //''path''// in **''/etc/config/wireless''**. If experiencing missing drop down values, add //''platform''// back to //''path''// in **''/etc/config/wireless''**.
  
-<WRAP 64.5em lo> 
 == Armada XP == == Armada XP ==
 **radio0** 2.4GHz **radio0** 2.4GHz
Line 360: Line 343:
 **radio1** 5GHz **radio1** 5GHz
 <code bash>option  path    'platform/soc/soc:pcie-controller/pci0000:00/0000:00:02.0/0000:02:00.0'</code> <code bash>option  path    'platform/soc/soc:pcie-controller/pci0000:00/0000:00:02.0/0000:02:00.0'</code>
-</WRAP> 
-</WRAP> 
  
 ==== 88W8964 VAP SSID broadcasts but clients can't connect ==== ==== 88W8964 VAP SSID broadcasts but clients can't connect ====
Line 466: Line 447:
  
 ===== Troubleshooting ===== ===== Troubleshooting =====
- 
- 
-==== Dependency Errors ==== 
- 
-<WRAP indent 55em> 
-<wrap em>Problem:</wrap> Dependency errors are received when installing pkgs\\ 
- 
-<color #009600>**Solution:**</color> This is an either / or occurrence\\ 
-  - **''/etc/opkg.conf''** is pointing to the wrong repository\\ <WRAP lo><code bash>rm /etc/opkg.conf && cp /rom/etc/opkg.conf /etc/opkg.conf && opkg update</code></WRAP> 
-  - Package repository has been updated to comply with an updated kernel version\\ 
-      * <wrap lo>Flash, or build, a new image with the updated kernel version</wrap> 
-</WRAP> 
  
  
  • Last modified: 2024/04/09 13:38
  • by palebloodsky