| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| toh:linksys:wrt_ac_series [2021/03/30 15:32] – updated community build section to be more current palebloodsky | toh:linksys:wrt_ac_series [2024/03/25 12:06] – [WPA3 Support] update section title palebloodsky |
|---|
| ===== Introduction ===== | ===== Introduction ===== |
| |
| The Linksys WRT AC series is a set of high performance, multi-core, 802.11ac capable devices, designed to be supported by OpenWrt out of the box, and the OEM firmwares are based off of OpenWrt. All of the devices use the mwlwifi driver, an open source driver with closed source firmware. Note that the development of the mwlwifi driver has been stopped in early 2020. The look and shape of the devices is a throwback to the Linksys 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}} |
| |
| ===== Supported Hardware ===== | ===== Supported Hardware ===== |
| |
| <wrap button>[[http://www.linksys.com/us/support-article?articleNum=114663|OEM Source Code]]</wrap> | This series uses Marvell Armada based SoCs from the Marvell Embedded Business Unit (mvebu). See specific devices below: |
| <WRAP lo> | |
| ---- 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 ===== |
| |
| This means that two separate firmware partitions are included on the device and are flashed in an alternating fashion. | This means that two separate firmware partitions are included on the device and are flashed in an alternating fashion. |
| |
| If booting from the **primary** partition, the **secondary** (or **alternate**) partition will be flashed on next sysupgrade, and the booting is toggled to happen from that partition. The same logic applies to seconday-->primary, if you currently run secondary partition. | If booting from the **primary** partition, the **secondary** (or **alternate**) partition will be flashed on next sysupgrade, and booting is toggled to happen from that partition. The same logic applies to secondary-->primary. Note that this means there is no permanent "OEM partition" and "OpenWrt partition". Both firmwares follow the same round-robin logic, where partition usage changes at each sysupgrade. The current firmware always remains as the fallback, and the new firmware is flashed to the other partition. |
| |
| See the Flash Layout section for more details. | See the Flash Layout section on each device page for more details, or options to switch between partitions below. |
| |
| Note that this means that there is no permanent "OEM partition" and "OpenWrt partition". Both OEM and OpeWrt firmwares follow the same round-robin logic, when partition usage changes at each sysupgrade. The current firmware always remains as the fallback, and the new firmware is flashed to the other partition. | It is recommended to install the LuCI package developed for managing dual firmware [[:packages:pkgdata:luci-app-advanced-reboot]]. |
| |
| A Luci plugin has been developed for managing dual firmware flash devices called [[:packages:pkgdata:luci-app-advanced-reboot]]. | ==== Flashing Firmware ==== |
| |
| |
| ==== Flashing Firmware ==== | |
| === OEM install === | === OEM install === |
| - **Login to Linksys WebUI** (Default IP: [[http://192.168.1.1|192.168.1.1]]; Password: **admin**) | - **Login to Linksys WebUI** (Default IP: [[http://192.168.1.1|192.168.1.1]]; Password: **admin**) |
| - [[docs:guide-quick-start:sshadministration|Login with SSH]] | - [[docs:guide-quick-start:sshadministration|Login with SSH]] |
| - **Linux/BSD:** //SSH client built in// | - **Linux/BSD:** //SSH client built in// |
| - **Windows:** //Download PuTTY// | - **Windows:** //[[https://docs.microsoft.com/en-us/windows/terminal/tutorials/ssh|SSH client built in]]// |
| - [[docs:guide-user:luci:luci.essentials|Installing LuCI on uHTTPd]]\\ | - [[docs:guide-user:luci:luci.essentials|Installing LuCI on uHTTPd]]\\ |
| - [[docs:guide-user:luci:luci.secure|Login to WebUI]] | - [[docs:guide-user:luci:luci.secure|Login to WebUI]] |
| |
| <color #508CAA>**CLI**</color> | <color #508CAA>**CLI**</color> |
| - **Login to OpenWrt via SSH** ([[docs:guide-user:base-system:ssh_configuration|DropBear]] / [[docs:guide-user:services:ssh:openssh.server|OpenSSH]]) | - **Login to OpenWrt via SSH** |
| - **Linux/BSD:** //SSH client built in// | - **Linux/BSD:** //SSH client built in// |
| - **Windows:** //Download PuTTY// | - **Windows:** //[[https://docs.microsoft.com/en-us/windows/terminal/tutorials/ssh|SSH client built in]]// |
| - **Download/Upload firmware image to router** | - **Download/Upload [[:toh:linksys:wrt_ac_series#oem_firmware_images|firmware image]] to router** |
| - **Download via SSH Terminal:**\\ <WRAP lo><code bash>cd /tmp && opkg update && opkg install wget && wget <Image-Link></code></WRAP> <color #646464>**--// OR //--**</color>\\ | - **Download via SSH terminal:**\\ <WRAP lo><code bash>cd /tmp && opkg update && opkg install wget && wget <Image-Link></code></WRAP> <color #646464>**--// OR //--**</color>\\ |
| - **Upload via Client Machine Terminal:** <WRAP lo><code powershell>scp -r -i "C:\OpenWrt.ppk" -2 -scp -P 22 "D:\Path\To\Firmware.img" root@192.168.1.1:/tmp</code></WRAP> | - **Upload via Client Machine Terminal:** <WRAP lo><code powershell>scp -r -i "C:\OpenWrt.ppk" -2 -scp -P 22 "D:\Path\To\Firmware.img" root@192.168.1.1:/tmp</code></WRAP> |
| - For PuTTY, change: **'' scp ''** to **'' pscp -scp ''**\\ \\ | - For PuTTY, change: **'' scp ''** to **'' pscp -scp ''**\\ \\ |
| * **//''-p ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>connect to specified port</color>\\ \\ | * **//''-p ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>connect to specified port</color>\\ \\ |
| - **Flash image** | - **Flash image** |
| - **SSH Terminal:**\\ <WRAP lo><code bash>cd /tmp && sysupgrade -n -v <image-name></code></WRAP> | - **SSH terminal:**\\ <WRAP lo><code bash>cd /tmp && sysupgrade -n -v <image-name></code></WRAP> |
| * **//''-n ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>do not save configuration over reflash</color> | * **//''-n ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>do not save configuration over reflash</color> |
| * **//''-v ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>more verbose</color> | * **//''-v ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>more verbose</color> |
| |
| <color #508CAA>**CLI**</color> | <color #508CAA>**CLI**</color> |
| - **Login to OpenWrt via SSH** ([[docs:guide-user:base-system:ssh_configuration|DropBear]] / [[docs:guide-user:services:ssh:openssh.server|OpenSSH]]) | - **Login to OpenWrt via SSH** |
| - **Linux/BSD:** //SSH client built in// | - **Linux/BSD:** //SSH client built in// |
| - **Windows:** //Download PuTTY// | - **Windows:** //[[https://docs.microsoft.com/en-us/windows/terminal/tutorials/ssh|SSH client built in]]// |
| - **Download/Upload firmware image to router** | - **Download/Upload [[:toh:linksys:wrt_ac_series#oem_firmware_images|firmware image]] to router** |
| - **Download via SSH Terminal:**\\ <WRAP lo><code bash>cd /tmp && opkg update && opkg install wget && wget <Image-Link></code></WRAP> <color #646464>**--// OR //--**</color>\\ | - **Download via SSH terminal:**\\ <WRAP lo><code bash>cd /tmp && opkg update && opkg install wget && wget <Image-Link></code></WRAP> <color #646464>**--// OR //--**</color>\\ |
| - **Upload via Client Machine Terminal:** <WRAP lo><code powershell>scp -r -i "C:\OpenWrt.ppk" -2 -scp -P 22 "D:\Path\To\Firmware.img" root@192.168.1.1:/tmp</code></WRAP> | - **Upload via Client Machine Terminal:** <WRAP lo><code powershell>scp -r -i "C:\OpenWrt.ppk" -2 -scp -P 22 "D:\Path\To\Firmware.img" root@192.168.1.1:/tmp</code></WRAP> |
| - For PuTTY, change: **'' scp ''** to **'' pscp -scp ''**\\ \\ | - For PuTTY, change: **'' scp ''** to **'' pscp -scp ''**\\ \\ |
| * **//''-p ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>connect to specified port</color>\\ \\ | * **//''-p ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>connect to specified port</color>\\ \\ |
| - **Flash image** | - **Flash image** |
| - **SSH Terminal:**\\ <WRAP lo><code bash>cd /tmp && sysupgrade -F -n -v <image-name></code></WRAP> | - **SSH terminal:**\\ <WRAP lo><code bash>cd /tmp && sysupgrade -F -n -v <image-name></code></WRAP> |
| * **//''-F ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>force write, required to bypass metadata check</color> | * **//''-F ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>force write, required to bypass metadata check</color> |
| * **//''-n ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>do not save configuration over reflash</color> | * **//''-n ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>do not save configuration over reflash</color> |
| * **//''-v ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>more verbose</color> | * **//''-v ''//** <wrap indent><wrap indent em>=</wrap></wrap> <color #646464>more verbose</color> |
| | |
| | |
| ===== Firmware Recovery ===== | ===== Firmware Recovery ===== |
| |
| <WRAP indent 55em> | <WRAP indent 55em> |
| If the firmware has become unresponsive and won't boot, chances are you can recover it easily due to the Dual Firmware partition layout, by switching to the alternate firmware.\\ | If the firmware has an issue, chances are you can recover it easily due to the Dual Firmware partition layout, by switching to the alternate firmware. For this reason, it is recommended to always keep a known working firmware on the other partition (either OEM or OpenWrt). |
| For this reason, it is recommended to always keep at least one known good version of the firmware on either partition. | |
| |
| Switch router from primary to alternate partition or vice versa using any of the 4 below methods:\\ | Switch router from primary to alternate partition or vice versa using any of the methods below: |
| |
| ==== LuCI ==== | ==== LuCI ==== |
| ==== Power Switch ==== | ==== Power Switch ==== |
| - **Power off router with power switch.**\\ \\ | - **Power off router with power switch.**\\ \\ |
| - **Turn power back on and Power LED will light.** | - **Turn power back on and power LED will light.** |
| - //As soon as all LEDs turn off (~2s), power off router with power switch//\\ \\ | - //As soon as all LEDs turn off (~2s), power off router with power switch//\\ \\ |
| - **Turn power back on and Power LED will light.** | - **Turn power back on and power LED will light.** |
| - //As soon as all LEDs turn off (~2s), power off router with power switch//\\ \\ | - //As soon as all LEDs turn off (~2s), power off router with power switch//\\ \\ |
| - **Turn power back on and Power LED will light.** | - **Turn power back on and power LED will light.** |
| - //As soon as all LEDs turn off (~2s), power off router with power switch//\\ \\ | - //As soon as all LEDs turn off (~2s), power off router with power switch//\\ \\ |
| - **Turn power back on and allow router to fully boot.** | - **Turn power back on and allow router to fully boot.** |
| * //It should now be booted to the alternate firmware partition// <sup>(//[[wrt_ac_series#flash_layout|partitions]]//)</sup> | * //It should now be booted to the alternate firmware partition// |
| |
| Explanation: | Explanation: |
| There is a counter of boot attempts. The counter is increased early at the start of each boot process. And the the counter is reset to 0 at the end of a successful boot. If the counter reaches 3, the boot is considered permant-failure and the boot partition marker is switched to the other partition (A-->B or B-->A). | There is a counter for boot attempts. The counter is increased by 1 at the start of each boot process, then is reset to 0 after a successful boot. If the counter reaches 3, the boot is considered a failure and the boot partition is switched to the other partition (A-->B or B-->A). |
| |
| Thus, if you interrupt the boot process three times, the router thinks that the current firmware is faulty and falls back to to the "known good" in the other partition. Note that there is no guarantee that the other partition works. It has the contents and settings that were there when the boot was switched last time, usually at the last sysupgrade. That boot marker switch (A-->B or B-->A) happens at every sysupgrade, so likely you just have the previously used firmware there (either OEM or OpenWrt). But the marker may have been manually toggled, or auto-toggled after three failures. | Thus, if you interrupt the boot process three times, the router thinks that the current firmware is faulty and switches to the other partition. Note that there is no guarantee that the other partition works. It has the contents and settings that were there when the boot was switched last time, usually at the last sysupgrade. That boot marker switch (A-->B or B-->A) happens at every sysupgrade, so likely you just have the previously used firmware there (either OEM or OpenWrt). But the marker may have been manually toggled, or auto-toggled after three failures. |
| |
| </WRAP> | </WRAP> |
| | |
| ===== Serial Port ===== | ===== Serial Port ===== |
| |
| ^ <color #508CAA>Pins</color> ^ <color #508CAA>1</color> ^ <color #508CAA>2</color> ^ <color #7d7d7d>//3//</color> ^ <color #508CAA>4</color> ^ <color #7d7d7d>//5//</color> ^ <color #7d7d7d>//6//</color> ^ | ^ <color #508CAA>Pins</color> ^ <color #508CAA>1</color> ^ <color #508CAA>2</color> ^ <color #7d7d7d>//3//</color> ^ <color #508CAA>4</color> ^ <color #7d7d7d>//5//</color> ^ <color #7d7d7d>//6//</color> ^ |
| ^ <color #508CAA>Function</color> | Gnd | Tx | <color #7d7d7d>//n/a//</color> | Rx | <color #7d7d7d>//n/a//</color> | <color #7d7d7d>//n/a//</color> | | ^ <color #508CAA>Function</color> | Gnd | Tx | <color #7d7d7d>//n/a//</color> | Rx | <color #7d7d7d>//n/a//</color> | <color #7d7d7d>//n/a//</color> | |
| | </WRAP> |
| | </WRAP> |
| |
| |
| - //Power Off Router <wrap em>-></wrap> Disconnect USB-TTL Cable <wrap em>-></wrap> Power Back On// | - //Power Off Router <wrap em>-></wrap> Disconnect USB-TTL Cable <wrap em>-></wrap> Power Back On// |
| |
| </WRAP> | |
| |
| ===== Marvell WiFi ===== | ===== Marvell WiFi ===== |
| |
| <wrap button>[[https://github.com/kaloz/mwlwifi/issues|WiFi Bug Reports]]</wrap>\\ | 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]]. |
| |
| If experiencing instability, see [[wrt_ac_series#wifi_stability_issues|WiFi Stability Issues]] | To query installed driver version: <code bash>opkg list-installed | grep mwlwifi</code> |
| |
| <WRAP indent> | ==== Recommendations ==== |
| |
| | These settings are recommended for general stability and reliability: |
| |
| ==== mwlwifi 88W8864 / 88W8964 ==== | - Radio settings: |
| | * radio0: 5GHz, mwlwifi driver, set channel to 36 or auto, WPA2, 80MHz width, 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. |
| | - 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. |
| | - 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]]. |
| |
| <WRAP 55em> | ==== Latency with 88W8864 ==== |
| <color #508CAA>**Query Installed Version**</color> <WRAP lo><code bash>opkg list-installed | grep mwlwifi</code></WRAP> | |
| |
| **Source Code** : [[https://github.com/kaloz/mwlwifi|Repo]] | 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 release, where the fix below should be no longer needed. |
| </WRAP> | <code> |
| | # turn off A-MSDU frame aggregation |
| | echo "0" >> /sys/kernel/debug/ieee80211/phy0/mwlwifi/tx_amsdu |
| | echo "0" >> /sys/kernel/debug/ieee80211/phy1/mwlwifi/tx_amsdu |
| | </code> |
| |
| ==== WiFi Stability Issues ==== | ==== WPA3 support ==== |
| |
| === WPA3/802.11w won't work / hangs kernel === | 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]]. |
| |
| <WRAP indent 55em> | 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. |
| See [[https://github.com/kaloz/mwlwifi/issues/389#issuecomment-686220324]]. Blame Linksys for incomplete driver. | |
| </WRAP> | ==== ESP chip devices won't connect ==== |
| | |
| | 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]] |
| |
| === Missing Drop Down Values === | Workarounds:\\ |
| | - 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 connectivity as per https://github.com/kaloz/mwlwifi/issues/278#issuecomment-697433463. |
| | - Optional: disable WMM on the interface (note: this would also disable 802.11n/ac capability tremendously slowing throughput). |
| |
| <WRAP indent 55em> | ==== DFS channels not working ==== |
| To accommodate a wider variety of kernels for compatibility with the series, ''path'' values were modified.\\ | |
| | 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 === |
| | * There is an issue with DFS on UK channels [[https://github.com/openwrt/openwrt/issues/9956|described here]]. |
| | * Original mwlwifi bug [[https://github.com/kaloz/mwlwifi/issues/173|described it here]] but is now closed. |
| | * Removing mwifiex may workaround the issue: ''opkg remove kmod-mwifiex-sdio'' |
| | * 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 using older kernels ==== |
| | |
| | To accommodate a wide variety of kernels compatible 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> | |
| |
| === Slow Throughput w/ Intel WiFi === | |
| |
| <WRAP indent 55em> | |
| In the Windows Creators Update, Intel enabled Receive Side Coalescing (RSC) in their 18.x drivers, which has reportedly slowed down some wifi adapters.\\ | |
| A possible solution can be found here: [[https://appuals.com/slow-wifi-issues-after-installing-creators-update-fix/|Step by Step Fix]] | |
| </WRAP> | |
| |
| |
| === ESP chip devices won't connect === | |
| |
| <WRAP indent 55em> | |
| This is a known issue [[flyspray>2709]] with this driver. Please see the ongoing bug report here: [[https://github.com/kaloz/mwlwifi/issues/278|ESP8266/Embedded devices unable to connect to 2.4Ghz Radio]] | |
| |
| Solutions that are reported to workaround the issue:\\ | |
| - Disable WMM on the interface (note: this will also disable 802.11n/ac capability)\\ | |
| - Setup radio2 with the mwifiex driver, which does not appear to have this problem | |
| </WRAP> | |
| |
| |
| === 88W8964 VAP SSID broadcasts but clients can't connect === | ==== 88W8964 VAP SSID broadcasts but clients can't connect ==== |
| |
| <WRAP indent 55em> | <WRAP indent 55em> |
| |
| </WRAP> | </WRAP> |
| |
| </WRAP> | |
| |
| |
| |
| ===== OEM Firmware Images ===== | ===== OEM Firmware Images ===== |
| |
| ^ <color #007DFA>Linksys OEM Firmware</color> ^^^^^^ | ^ <color #007DFA>Linksys OEM Firmware</color> |||||| |
| ^ <color #646464>Device</color> ^ <color #646464>Version</color> ^^ <color #646464>Repository</color> ^ <color #646464>Changelog</color> ^ <color #646464>Build Date</color> ^ | ^ Device ^ Version |^ Repository ^ Changelog ^ Date ^ |
| ^ <color #007DFA>WRT1200AC</color> | **//v1//** | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1200AC_1.0.5.187766_prod.img|1.0.5.187766]] | [[https://www.linksys.com/us/support-article?articleNum=156197|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT1200AC_Customer_Release_Notes_1.0.5.187766.txt|txt]] | 2018.05.01 | | ^ WRT1200AC | v1 | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1200AC_1.0.5.187766_prod.img|1.0.5.187766]] | [[https://www.linksys.com/us/support-article?articleNum=156197|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT1200AC_Customer_Release_Notes_1.0.5.187766.txt|txt]] | 2018.05.01 | |
| ^:::| **//v2//** | [[https://downloads.linksys.com/downloads/firmware/FW_WRT1200ACV2_2.0.6.191786_prod.img|2.0.6.191786]] |:::| [[https://downloads.linksys.com/downloads/releasenotes/WRT1200ACv2_Customer_Release_Notes_2.0.6.191786.txt|txt]] | 2018.12.10 | | | ::: | v2 | [[https://downloads.linksys.com/downloads/firmware/FW_WRT1200ACV2_2.0.6.191786_prod.img|2.0.6.191786]] | ::: | [[https://downloads.linksys.com/downloads/releasenotes/WRT1200ACv2_Customer_Release_Notes_2.0.6.191786.txt|txt]] | 2018.12.10 | |
| ^ <color #007DFA>WRT1900AC</color> | **//v1//** | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1900AC_1.1.10.187766_prod.img|1.1.10.187766]] | [[https://www.linksys.com/us/support-article?articleNum=148550|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT1900AC_Customer_Release_Notes_1.1.10.187766.txt|txt]] | 2018.04.12 | | ^ WRT1900AC | v1 | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1900AC_1.1.10.187766_prod.img|1.1.10.187766]] | [[https://www.linksys.com/us/support-article?articleNum=148550|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT1900AC_Customer_Release_Notes_1.1.10.187766.txt|txt]] | 2018.04.12 | |
| ^:::| **//v2//** | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1900ACv2_2.0.8.187766_prod.img|2.0.8.187766]] |:::| [[http://downloads.linksys.com/downloads/releasenotes/WRT1900ACv2_Customer_Release_Notes_2.0.8.187766.txt|txt]] | 2018.04.26 | | | ::: | v2 | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1900ACv2_2.0.8.187766_prod.img|2.0.8.187766]] | ::: | [[http://downloads.linksys.com/downloads/releasenotes/WRT1900ACv2_Customer_Release_Notes_2.0.8.187766.txt|txt]] | 2018.04.26 | |
| ^ <color #007DFA>WRT1900ACS</color> | **//v1//** | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1900ACS_1.0.3.187766_prod.img|1.0.3.187766]] | [[https://www.linksys.com/us/support-article?articleNum=165487|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT1900ACS_Customer_Release_Notes_1.0.3.187766.txt|txt]] | 2018.04.20 | | ^ WRT1900ACS | v1 | [[http://downloads.linksys.com/downloads/firmware/FW_WRT1900ACS_1.0.3.187766_prod.img|1.0.3.187766]] | [[https://www.linksys.com/us/support-article?articleNum=165487|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT1900ACS_Customer_Release_Notes_1.0.3.187766.txt|txt]] | 2018.04.20 | |
| ^:::| **//v2//** | [[https://downloads.linksys.com/support/assets/firmware/FW_WRT1900ACSV2_2.0.3.201002_prod.img|2.0.3.201002]] |:::| [[https://downloads.linksys.com/support/assets/releasenotes/WRT1900ACSv2_Customer_Release_Notes_2.0.3.201002.txt|txt]] | 2020.05.01 | | | ::: | v2 | [[https://downloads.linksys.com/support/assets/firmware/FW_WRT1900ACSV2_2.0.3.201002_prod.img|2.0.3.201002]] | ::: | [[https://downloads.linksys.com/support/assets/releasenotes/WRT1900ACSv2_Customer_Release_Notes_2.0.3.201002.txt|txt]] | 2020.05.01 | |
| ^ <color #007DFA>WRT3200ACM</color> | **//v1//** | [[https://downloads.linksys.com/support/assets/firmware/FW_WRT3200ACM_1.0.8.199531_prod.img|1.0.8.199531]] | [[https://www.linksys.com/us/support-article?articleNum=207552|Repo]] | [[https://downloads.linksys.com/support/assets/releasenotes/WRT3200ACM_Customer_Release_Notes_1.0.8.199531.txt|txt]] | 2020.02.13 | | ^ WRT3200ACM | v1 | [[https://downloads.linksys.com/support/assets/firmware/FW_WRT3200ACM_1.0.8.199531_prod.img|1.0.8.199531]] | [[https://www.linksys.com/us/support-article?articleNum=207552|Repo]] | [[https://downloads.linksys.com/support/assets/releasenotes/WRT3200ACM_Customer_Release_Notes_1.0.8.199531.txt|txt]] | 2020.02.13 | |
| ^ <color #007DFA>WRT32X</color> | **//v1//** | [[https://downloads.linksys.com/downloads/firmware/FW_WRT32X_1.0.180404.58.img|1.0.180404.58]] | [[https://www.linksys.com/us/support-article?articleNum=226203|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT32X_Customer_Release_Notes_1.0.180404.58.txt|txt]] | 2018.04.23 | | ^ WRT32X | v1 | [[https://downloads.linksys.com/downloads/firmware/FW_WRT32X_1.0.180404.58.img|1.0.180404.58]] | [[https://www.linksys.com/us/support-article?articleNum=226203|Repo]] | [[http://downloads.linksys.com/downloads/releasenotes/WRT32X_Customer_Release_Notes_1.0.180404.58.txt|txt]] | 2018.04.23 | |
| |
| Linksys GPL source code for the devices listed above: https://www.linksys.com/us/support-article?articleNum=114663 | Linksys GPL source code for the devices listed above: https://www.linksys.com/us/support-article?articleNum=114663 |
| | |
| |
| ===== Hardware Mods ===== | ===== Hardware Mods ===== |
| | |
| ==== USB-TTL Audio Jack Install ==== | ==== USB-TTL Audio Jack Install ==== |
| |
| ++++ </WRAP> | ++++ </WRAP> |
| </WRAP> | </WRAP> |
| | |
| |
| ===== 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> | |
| |
| |
| |
| <WRAP indent> | <WRAP indent> |
| |
| |
| |
| |
| |
| |
| | ===== Community Builds ===== |
| |
| | === Divested === |
| | Divested builds are updated frequently and include security focused patches and settings. |
| | Web: [[https://divested.dev/unofficial-openwrt-builds/mvebu-linksys/|divested.dev]]. |
| | Forum: [[https://forum.openwrt.org/t/divested-wrt-no-nonsense-linksys-wrt-builds/80522|OpenWrt Forum - divested builds]]. |
| |
| ---- | === PureFusion === |
| | Discontinued in 2022. PureFusion builds included a lot of common packages. |
| ===== Historical ===== | Github: [[https://github.com/DevOpenWRT-Router/Action_OpenWRT_AutoBuild_Linksys_Devices/releases|Releases page]]. |
| | Forum: [[https://forum.openwrt.org/t/purefusion-wrt3200acm-wrt32x-wrt1200ac-wrt1900acs-wrt1900acv1-wrt1900acv2-builds/100399|OpenWrt Forum - PureFusion]]. |
| <WRAP 66.5em lo> | |
| <wrap indent lo>//The following information has been superceded by current builds and is included only for historical interest.//</wrap> | |
| | |
| <WRAP box> | |
| <tabbox Drivers> | |
| * <sup>On Christmas Eve 2014, Marvell released an updated driver for the 88W8864 WiFi chip as found in the WRT1900AC to the OpenWrt developers mailing list</sup> | |
| * <sup>[[https://lists.openwrt.org/pipermail/openwrt-devel/2014-December/030229.html|Announcement of mac80211 driver support for Marvell 88W8864]]</sup> | |
| * <sup>Wireless driver was [[https://forum.openwrt.org/viewtopic.php?pid=242104#p242104|announced to stay closed source]] on 30th of July. It'll likely consist of pre-built closed source part (so called "library") and probably some open source file calling kernel APIs.</sup> | |
| * <sup>Oddly, the wireless driver [[https://github.com/TheDgtl/mrvl_wlan_v7drv|source]] was later distributed as part of the GPL release of the stock Linksys firmware. This driver requires significant refactoring before it can be included in OpenWrt.</sup> | |
| | |
| <tabbox Firmware> | |
| * <sup>Chadster's McWRT release, based on Attitude Adjustment [AA], which is obsolete, and not supported: [[https://github.com/Chadster766/McWRT|McWRT]]</sup> | |
| * <sup>Kaloz's evolving snapshots of the Development Branch [[https://downloads.openwrt.org/people/kaloz/|Kaloz's Build]] (incorporating latest bug fixes/features, LuCI, & other packages).</sup> | |
| * <sup>Lifehacksback evolving snapshots of the Development Branch (both 3.18 and 4.0 kernel builds) [[http://tinyurl.com/Lifehacksback-Testing-CC|Lifehacksback Testing CC]]</sup> | |
| * <sup>At this time it is now possible to compile an image off the Development Branch with this new driver. A prebuilt image can be found here: [[https://downloads.openwrt.org/snapshots/trunk/mvebu/|Development Branch]]</sup> | |
| | |
| <tabbox Hardware> | |
| * <sup>Linksys started shipping on 10th of April, 2014.</sup> | |
| * <sup>Official statement [[https://forum.openwrt.org/viewtopic.php?pid=230686|OpenWrt support for Linksys WRT1900AC]]</sup> | |
| | |
| <tabbox News> | |
| * <sup>WRT1900AC was announced on 6th of January 2014 as a router developed to be used with OpenWrt.</sup> | |
| * <sup>Despite Linksys' announcement of working with OpenWrt community, no patches and no info were shared for the next several months</sup> | |
| * <sup>You can read the Official statement re: OpenWrt support for Linksys WRT1900AC at https://forum.openwrt.org/viewtopic.php?pid=230686</sup> | |
| * <sup>At this point, it is not possible to compile a fully working (including WiFi) customized OpenWrt build for WRT1900AC.</sup> | |
| * <sup>[[https://lists.openwrt.org/pipermail/openwrt-devel/2014-December/030229.html|Announcement of mac80211 driver support for Marvell 88W8864]]</sup> | |
| | |
| <tabbox Patches> | |
| * <sup>On the 3rd of April 2014, Belkin posted a link to ftp server containing patches, adding WRT1900AC support. They couldn't be applied because of being incorrectly posted, not signed off, and adding binary wireless driver //''ap8x.ko''//.</sup> | |
| * <sup>5 days later a patchset in the form of single e-mail was posted to the openwrt-devel. It was malformed and not signed off, so still couldn't be applied. Release of wireless driver has been postponed.</sup> | |
| | |
| <tabbox Troubleshooting> | |
| <sup>**LuCI** | |
| </sup> | |
| * <sup>**Chrome & HTTPS**</sup> | |
| * <sup>**Problem:** LuCI will not load when utilizing Chrome [due to PolarSSL]</sup> | |
| * <sup>Chrome[v51+] requires ''AES-GCM'' and ''CAMELLIA-GCM'' ciphersuites to handshake with a server utilizing the ustream-polarssl backend.</sup> | |
| * <sup>If ''CONFIG_GCM'' is disabled, ''ssl_ciphersuite_from_id()'' returns ''NULL'' when cipher ''0x9d'' is queried <sup> TLS_RSA_WITH_AES_256_GCM_SHA384</sup> | |
| * <sup>This results with the call ''ssl_ciphersuite_match()'' to fail with ''POLARSSL_ERR_SSL_INTERNAL_ERROR'' ([[https://tools.ietf.org/html/rfc5288|RFC 5288]])</sup> | |
| * <sup>**Solution:**</sup> | |
| * <sup>Utilize this [[https://git.OpenWrt-project.org/?p=source.git;a=commit;h=9e45f9d63c797baab2b3bd2574990ee94d3f80cb|backport]], enabling ''AES-GM'' and ''CAMELLIA-GCM'' ciphersuites in PolarSSL;</sup>\\ <sup>**OR**</sup> | |
| * <sup>Completely remove //all// PolarSSL related components from your build environment, switching to OpenSSL</sup> | |
| * <sup>Certain packages default to PolarSSL[''libustream-polarssl''] and will require edited makefiles</sup> | |
| * <sup>In the case of //cshark//, it is not compatible with OpenSSL (unsure about other SSL platforms)</sup>\\ \\ | |
| | |
| * <sup>**DHCP & DNS**</sup> | |
| * <sup>**Problem:** Active DHCP Leases list enumerates all statically assigned IPs as active, listing all with a netmask of /32.</sup> | |
| * <sup>If utilizing Kernels 4.1.x or 4.4.x, there appears to be an issue with how //odhcpd// interacts with //dnsmasq//, resulting in the aforementioned</sup> | |
| * <sup>**Solution:**</sup> | |
| * <sup>Uninstall ''odhcpd'' & ''odhcpd6'' and install ''dnsmasq-full'' in lieu of;</sup>\\ <sup>**OR**</sup>\\ | |
| * <sup>Comment it out of **''/etc/config/dhcp''**</sup> | |
| | |
| * <sup>Corrupt Bootloader Recovery</sup> | |
| * <sup><color #5a5a5a>**contributed by:** //nitroshift & Stefan Roese//</color></sup>\\ | |
| <wrap lo><sup><wrap button>[[https://github.com/JW0914/Wikis/blob/master/WRT-AC-Series/U-boot%20Recovery/u-Boot%20Recovery.pdf|PDF]]</wrap> <wrap button>[[https://github.com/nitroshift/wrt1900ac/wiki/|Nitroshift's GitHub]]</wrap> <wrap button>[[https://github.com/JW0914/Wikis/blob/master/WRT-AC-Series/U-boot%20Recovery/u-Boot%20Recovery.docx|DOCx]]</wrap> </sup></wrap> | |
| * <sup>**Prerequisites:**</sup> | |
| * <sup>**Hardware:**</sup> | |
| * <sup>PC running Linux</sup> | |
| * <sup>//x86 libraries if x64//</sup> | |
| * <sup>**USB – TTL Cable**</sup> | |
| | |
| * <sup>**Armada XP**</sup> | |
| * <sup>[[https://github.com/nitroshift/wrt1900ac/|kwboot files]]</sup> | |
| * <sup>''kwboot.tar''</sup> | |
| * <sup>''u-boot-nand.kwb''</sup> | |
| * <sup>//For transferring to router and writing to NAND//</sup> | |
| * <sup>''u-boot-uart.kwb''</sup> | |
| * <sup>//For booting from UART//</sup> | |
| | |
| * <sup>**Armada 385**</sup> | |
| * <sup>[[https://github.com/nitroshift/armada-38x-bootloader-recovery-files|kwboot files]]</sup> | |
| * <sup>''u-boot-a38x-spi-uart.bin''</sup> | |
| * <sup>//For booting from UART//</sup> | |
| * <sup>''u-boot-a38x-spi.bin''</sup> | |
| * <sup>//For booting from NAND//</sup> | |
| | |
| * <sup>**Information:**</sup> | |
| * <sup>This wouldn't have been possible without the help of Stefan Roese</sup> | |
| * <sup>//Authors of [[http://www.denx.de|U-boot]]//</sup> | |
| * <sup>If utilized, please send a thank you to:</sup> | |
| * <sup>//nitroshift//</sup> | |
| * <sup>[[https://github.com/nitroshift|GitHub]]</sup> | |
| * <sup>[[https://forum.openwrt.org/profile.php?id=134581|OpenWrt]]</sup> | |
| * <sup>//Stefan Roese//</sup> | |
| * <sup>[[https://webchat.freenode.net/|IRC:]]</sup> | |
| * <sup>//#u-boot @ irc.freenode.net//</sup> | |
| | |
| <tabbox Armada XP> | |
| <color #508CAA>**Armada XP**</color> | |
| - **Terminal root access:** <code bash>sudo -i</code> | |
| - **Install //kwboot//:** <code bash>cd /home/kwboot</code> | |
| - <color #4b4b4b>Unzip the archive, then:</color> <code bash>tar –xvf kwboot.tar</code> | |
| * <color #646464>Actual compilation of kwboot:</color> <code bash>gcc kwboot.c</code> | |
| - <color #4b4b4b>Save **''u-boot-nand.kwb''** //and// **''u-boot-uart.kwb''** in **''/home/kwboot''**</color>\\ \\ | |
| - **Set //kwboot// as executable:** <code bash>Chmod 755 kwboot</code> | |
| - **Connect USB-TTL to router and PC** <color #960000>**//(don’t power on router)//**</color> **& issue:** <code bash>dmesg | grep USB</code> | |
| - <color #4b4b4b>Make note of the number after //''/dev/ttyUSB''// (it’s usually 0), then:</color> <code bash>chmod 666 /dev/ttyUSB0</code> | |
| - **Boot router using UART image and power on router:** <code bash>./kwboot –a –t /dev/ttyUSB0 –b u-boot-uart.kwb</code> | |
| * <color #4b4b4b>**//''-a ''//** <wrap em>=</wrap> use Armada XP timings</color> | |
| * <color #4b4b4b>**//''-t ''//** <wrap em>=</wrap> open terminal in same window after transfer</color> | |
| * <color #4b4b4b>**//''-b ''//** <wrap em>=</wrap> boot file</color>\\ \\ | |
| - **After transfer finishes, you should be at the //''Marvell >>''// prompt:** | |
| - <color #960000>**If you are not:**</color> | |
| - <color #646464>**//Power Off Router -> Disconnect USB-TTL Cable from PC -> Go Back to Step 3//**</color> | |
| - <color #789600>**If you are:**</color> | |
| - <color #646464>Set up TFTP server on PC //(such as Ubuntu’s //''tftpd''// package)//</color> | |
| - <color #646464>Put **''u-boot-nand.kwb''** in it’s **''tftpboot/''** directory</color>\\ \\ | |
| - **Connect PC to router //(ethernet)//, set PC IP Address //''192.168.1.254''//, and issue the following at the //''Marvell >>''// prompt:** <code bash>setenv ipaddr 192.168.1.1 | |
| setenv serverip 192.168.1.254 | |
| tftp 2000000 u-boot-nand.kwb | |
| nand erase 0 e0000 | |
| nand write 2000000 0 e0000 | |
| </code> | |
| - **If the above commands complete successfully, reboot router via:** <code bash>reset</code> | |
| * <color #4b4b4b>Router should boot and stop at the //''Marvell >>''// prompt</color>\\ \\ | |
| - **Download firmware image for [[wrt_ac_series#firmware_images|WRT1900AC v1]] and save it to ''tftpboot/'':** | |
| - <color #4b4b4b>Issue the following at the //''Marvell >>''// prompt:</color> <code bash>tftp 192.168.1.254 | |
| get <firmware_image_name></code> | |
| - <wrap danger em>IMPORTANT:</wrap> | |
| * <color #4b4b4b>After transfer completes successfully,</color> <color #960000>**//DO NOT issue//**</color>: | |
| * //'' run flash_pri_image ''// <color #960000>**or**</color> //'' run flash_alt_image ''// <color #960000>**or**</color> //'' run update_both_images ''// | |
| * <color #960000>//These will <wrap em><color #af0000>brick</color></wrap> the router again sending you back to Step 3//</color>\\ \\ | |
| - <color #789600>**//Instead://**</color> <WRAP group> | |
| <WRAP third column 40% center><code bash>run_linksysnandboot</code></WRAP> | |
| <WRAP third column 10% center><color #960000>**IF FAILS:**</color></WRAP> | |
| <WRAP third column 40% center><code bash>run_linksysaltnandboot</code></WRAP> | |
| </WRAP> | |
| - **Allow router to fully boot:** | |
| - <color #4b4b4b>Verify it’s up and running correctly via the WebUI</color> | |
| - <color #646464>**//Power Off Router -> Disconnect USB-TTL Cable -> Power Back On//**</color> | |
| | |
| <tabbox Armada 385> | |
| <color #508CAA>**Armada 385**</color> | |
| - **Terminal root access:** <code bash>sudo -i</code> | |
| - **Install //kwboot//:** <code bash>cd /home/kwboot</code> | |
| - <color #4b4b4b>Unzip the archive, then:</color> <code bash>tar –xvf kwboot.tar</code> | |
| * <color #646464>Actual compilation of kwboot:</color> <code bash>gcc kwboot.c</code> | |
| - <color #4b4b4b>Save **''u-boot-a38x-spi-uart.bin''** //and// **''u-boot-a38x-spi.bin''** in **''/home/kwboot''**</color>\\ \\ | |
| - **Set //kwboot// as executable:** <code bash>Chmod 755 kwboot</code> | |
| - **Connect USB-TTL to router and PC** <color #960000>**//(don’t power on router)//**</color> **& issue:** <code bash>dmesg | grep USB</code> | |
| - <color #4b4b4b>Make note of the number after //''/dev/ttyUSB''// (usually 0), then:</color> <code bash>chmod 666 /dev/ttyUSB0</code> | |
| - **Boot router using UART image and power on router:** <code bash>./kwboot -t /dev/ttyUSB0 -b u-boot-a38x-spi-uart.bin</code> | |
| * <color #4b4b4b>**//''-t ''//** <wrap em>=</wrap> open terminal in same window after transfer</color> | |
| * <color #4b4b4b>**//''-b ''//** <wrap em>=</wrap> boot file</color>\\ \\ | |
| - **After transfer finishes, you should be at the //''Marvell >>''// prompt:** | |
| - <color #960000>**If you are not:**</color> | |
| - <color #646464>**//Power Off Router -> Disconnect USB-TTL Cable from PC -> Go Back to Step 3//**</color> | |
| - <color #789600>**If you are:**</color> | |
| - <color #646464>Set up TFTP server on PC //(such as Ubuntu’s //''tftpd''// package)//</color> | |
| - <color #646464>Put **''u-boot-a38x-spi.bin''** in it’s **''tftpboot/''** directory</color>\\ \\ | |
| - **Connect PC to router //(ethernet)//, set PC IP Address //''192.168.1.254''//, and issue the following at the //''Marvell >>''// prompt:** <code bash>setenv ipaddr 192.168.1.1 | |
| setenv serverip 192.168.1.254 | |
| bubt u-boot-a38x-spi.bin | |
| </code> | |
| - **If the above commands complete successfully, reboot router via:** <code bash>reset</code> | |
| * <color #4b4b4b>Router should boot and stop at the //''Marvell >>''// prompt</color>\\ \\ | |
| - **Download firmware image for [[wrt_ac_series#firmware_images|your Armada 38x based device]] and save it to ''tftpboot/'':** | |
| - <color #4b4b4b>Issue the following at the //''Marvell >>''// prompt:</color> <code bash>tftp 192.168.1.254 | |
| get <firmware_image_name></code> | |
| - <wrap danger em lo><color #FFFFFF>IMPORTANT:</color></wrap> | |
| * <color #4b4b4b>After transfer completes successfully,</color> <color #960000>**//DO NOT issue//**</color>: | |
| * //'' run flash_pri_image ''// <color #960000>**or**</color> //'' run flash_alt_image ''// <color #960000>**or**</color> //'' run update_both_images ''// | |
| * <color #960000>//These will <wrap em><color #af0000>brick</color></wrap> the router again sending you back to Step 3//</color>\\ \\ | |
| - <color #789600>**//Instead://**</color> <WRAP group> | |
| <WRAP third column 40% center><code bash>run_linksysnandboot</code></WRAP> | |
| <WRAP third column 10% center><color #960000>**IF FAILS:**</color></WRAP> | |
| <WRAP third column 40% center><code bash>run_linksysaltnandboot</code></WRAP> | |
| </WRAP> | |
| - **Allow router to fully boot:** | |
| - <color #4b4b4b>Verify it’s up and running correctly via the WebUI</color> | |
| - <color #646464>**//Power Off Router -> Disconnect USB-TTL Cable -> Power Back On//**</color> | |
| </tabbox> | |
| </WRAP> | |
| </WRAP> | |
| | |
| ---- | |
| | |
| ===== Community Firmware Builds ===== | |
| |
| === Davidc502 === | === Davidc502 === |
| | Discontinued in 2020. Davidc builds were used by a large proportion of the mvebu community. |
| David's community builds for this series of routers are well regarded and used by a large proportion of the community. | Forum: [[https://forum.openwrt.org/t/davidc502-wrt1200ac-wrt1900acx-wrt3200acm-wrt32x-builds|OpenWrt Forum - davidc502 builds]]. |
| | |
| Web Page: [[https://dc502wrt.org/|dc502wrt.org]] | |
| | |
| Forum Thread: [[https://forum.openwrt.org/t/davidc502-wrt1200ac-wrt1900acx-wrt3200acm-wrt32x-builds|OpenWrt Forum - davidc502-wrt1200ac-wrt1900acx-wrt3200acm-wrt32x-builds]] | |
| | |
| === Divested === | |
| | |
| Divested community builds for this series of routers are streamlined, security focused, and released periodically. | |
| | |
| Web Page: [[https://divested.dev/unofficial-openwrt-builds/mvebu-linksys/|divested.de]] | |
| | |
| Forum Thread: [[https://forum.openwrt.org/t/divested-wrt-no-nonsense-linksys-wrt-builds/80522|OpenWrt Forum - divested-wrt-no-nonsense-linksys-wrt-builds]] | |
| |
| ===== Tags ===== | ===== Tags ===== |
| [[meta:tags|How to add tags]] | [[meta:tags|How to add tags]] |
| {{tag>mvebu mwlwifi U-boot 128flash 256flash 256ram 512ram U-boot 2NIC 2WNIC 5Port 2core ARMv7 GigabitEthernet FastEthernet JumboFrames VLAN wlan MiniPCIexpress 802.11ac 802.11abgn mu-mimo DetachableAntenna 2Ant 4Ant USB 2USB USB2.0 USB3.0 sata2 crypto JTAG Serial esata 1button 12v_powered}} | {{tag>mvebu mwlwifi U-boot 128flash 256flash 256ram 512ram U-boot dual_firmware 2NIC 2WNIC 5Port 2core ARMv7 GigabitEthernet JumboFrames VLAN MiniPCIexpress wlan 802.11ac 802.11abgn mu-mimo DetachableAntenna 2Ant 4Ant USB 2USB USB2.0 USB3.0 sata2 esata crypto JTAG Serial 1button 12v_powered}} |
| |