| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| toh:linksys:wrt_ac_series [2023/12/01 12:47] – [Latency with 88W8864] language tweak palebloodsky | toh:linksys:wrt_ac_series [2024/03/25 12:06] – [WPA3 Support] update section title palebloodsky |
|---|
| ===== 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}} |
| ===== 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,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 ===== |
| |
| 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. |
| |
| A 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 ==== |
| ===== 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 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 ==== |
| * 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 ==== |
| </code> | </code> |
| |
| ==== WPA3/802.11w Support ==== | ==== WPA3 support ==== |
| |
| On release builds the mwlwifi driver [[https://github.com/kaloz/mwlwifi/issues/389#issuecomment-686220324|does not have WPA3 support]], use WPA2 and blame Linksys for the incomplete driver. | 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]]. |
| |
| For WRT1200/1900 (8864) models WPA3 support has been added by jbsky via [[https://github.com/openwrt/openwrt/commit/2ed358180ef0f87532cdedefec09d5d605625beb|mwlwifi driver 10.4.10]] which is included in Main snapshots. This will be in the 24.0x release. | 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. |
| |
| For WRT3200ACM/32X (8964) models WPA3 support has not been added, as per the driver notes. | |
| ==== 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 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. | 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 === |
| * 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 |
| **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 ==== |
| |
| ===== 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> | |
| |
| |