Linksys WRT3200ACM
The WRT3200ACM is part of the wrt_ac_series, with 4 detachable antennas, and a faster dual core processor. It is a dualband, 802.11ac wave 2 (160MHz, no 80+80) capable device.
While only 1 revision of the hardware is listed, silently (around Nov 2017) the flash chip was updated in production causing earlier firmwares to be incompatible with newer devices.
Supported Versions
Hardware Highlights
Installation
Wifi Driver bug and workaround
In the latest version of OpenWrt starting with 19.x there seems to be an issue with the 5Ghz Wifi driver and 3rd radio that causes issues and drops. To work around it a kernel module needs to be removed and the wifi setting reset so only 2 radios are used.
After a standard installation before setting up Wifi follow these steps, but see the link below to the issue in Github first:
opkg remove kmod-mwifiex-sdio wifi config > /etc/config/wireless reboot
Please read the “General” section at the bottom of this page, as it contains numerous other issues that affect this router.
Dual Firmware Flashing
The WRT AC series of routers uses a dual firmware flash layout. 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 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 on each device page for more details, or options to switch between partitions below.
It is recommended to install the LuCI package developed for managing dual firmware luci-app-advanced-reboot.
Flash Layout
If booting from primary partition, mtd6 will be named ubi
, with mtd8 as ubi
if booting from alternate partition
Layer 0 | raw flash 256 MiB |
||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Layer 1 | mtd0u-boot 2 MiB | mtd1u_env 128 KiB | mtd2s_env 256 KiB | mtd3devinfo 1920KB | mtd4sysdiag 256KB | firmware 160 MiB | mtd9syscfg 86 MiB | mtd10unused_area 5888 KiB |
|||
Layer 2 | mtd5kernel1 80 MiB | mtd7kernel2 80 MiB |
|||||||||
Layer 3 | primary kernel image 6 MiB | mtd6rootfs1 (ubi) 74 MiB | alternate kernel image 6 MiB | mtd8rootfs2 (ubi) 74 MiB |
OEM easy installation
OEM install
- Login to Linksys WebUI (Default IP: 192.168.1.1; Password: admin)
- Connectivity → Manual Update
- Select factory image [.img]
- Once flash completes, router will reboot
- If the image selected
- Has LuCI pre-installed:
- Does not have LuCI pre-installed:
-
- Linux/BSD: SSH client built in
- Windows: SSH client built in
-
Upgrading OpenWrt
Sysupgrade
LuCI
- System → Backup/Flash Firmware → Flash New Firmware Image → Choose File
- Select Sysupgrade bin file [.bin]
- Untick Keep Settings, then select Flash Image
CLI
- Login to OpenWrt via SSH
- Linux/BSD: SSH client built in
- Windows: SSH client built in
- Download/Upload firmware image to router
- Download via SSH terminal:
cd /tmp && opkg update && opkg install wget && wget <Image-Link>
-- OR --
- Upload via Client Machine Terminal:
scp -r -i "C:\OpenWrt.ppk" -2 -scp -P 22 "D:\Path\To\Firmware.img" root@192.168.1.1:/tmp
- For PuTTY, change:
scp
topscp -scp
-scp
= force use of SCP protocol-r
= copy directories recursively-i
= private key file for user authentication-2
= force use of particular SSH protocol version [2]-p
= connect to specified port
- Flash image
- SSH terminal:
cd /tmp && sysupgrade -n -v <image-name>
-n
= do not save configuration over reflash-v
= more verbose
Return to Stock Firmware
Return to OEM
LuCI
- Due to missing/incompatible metadata in OEM images, sysupgrade must be forced via the command line
CLI
- Login to OpenWrt via SSH
- Linux/BSD: SSH client built in
- Windows: SSH client built in
- Download/Upload firmware image to router
- Download via SSH terminal:
cd /tmp && opkg update && opkg install wget && wget <Image-Link>
-- OR --
- Upload via Client Machine Terminal:
scp -r -i "C:\OpenWrt.ppk" -2 -scp -P 22 "D:\Path\To\Firmware.img" root@192.168.1.1:/tmp
- For PuTTY, change:
scp
topscp -scp
-scp
= force use of SCP protocol-r
= copy directories recursively-i
= private key file for user authentication-2
= force use of particular SSH protocol version [2]-p
= connect to specified port
- Flash image
- SSH terminal:
cd /tmp && sysupgrade -F -n -v <image-name>
-F
= force write, required to bypass metadata check-n
= do not save configuration over reflash-v
= more verbose
Debricking
If the U-Boot bootloader environment becomes corrupted, it can be reset
Reset Bootloader Environment
If the U-Boot bootloader becomes corrupted, it can be recovered
Recover Bootloader
Firmware Recovery
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).
Switch router from primary to alternate partition or vice versa using any of the methods below:
LuCI
- Install
luci-app-advanced-reboot
:- SSH:
opkg update && opkg install luci-app-advanced-reboot
- WebUI:
- System → Software
- Actions → Update Lists
- Actions → Filter
luci-app-advanced-reboot
→ Find Package
- Status: Available packages
- Install
luci-app-advanced-reboot
- System → Advanced Reboot
Serial
- Connect via Serial:
reboot
- At 3 second autoboot interrupt delay, press any key
- Boot
- Primary Partition
- Armada XP
run linksysnandboot
- Armada 385
run nandboot
- Alternate Partition:
- Armada XP
run linksysaltnandboot
- Armada 385
run altnandboot
SSH
- Determine current partition:
/usr/sbin/fw_printenv -n boot_part
- Boot
- Primary Partition:
/usr/sbin/fw_setenv boot_part 1 && reboot
- Alternate Partition:
/usr/sbin/fw_setenv boot_part 2 && reboot
Power Switch
- Power off router with power switch.
- Turn power back on and power LED will light.
- As soon as all LEDs turn off (~2s), power off router with power switch
- Turn power back on and power LED will light.
- As soon as all LEDs turn off (~2s), power off router with power switch
- Turn power back on and power LED will light.
- As soon as all LEDs turn off (~2s), power off router with power switch
- Turn power back on and allow router to fully boot.
- It should now be booted to the alternate firmware partition
Explanation: 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 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.
Failsafe mode
Note: In failsafe mode, this router is only accessible through the LAN1 port.
Basic configuration
→ Basic configuration After flashing, proceed with this.
Set up your Internet connection, configure wireless, configure USB port, etc.
Switch Ports (for VLANs)
eth0/eth1: physical PCB connection LAN: physical LAN ports on router WAN: physical Internet port on router
Marvell 88E6352 (WRT3200ACM)
sw.port | 0 | 1 | 2 | 3 | 4 | 5 | 6 | vlan ID |
---|---|---|---|---|---|---|---|---|
LAN | 4 | 3 | 2 | 1 | -- | eth0 | -- | 1 |
WAN | -- | -- | -- | -- | Internet | -- | eth1 | 2 |
Buttons
→ hardware.button on howto use and configure the hardware button(s). Here, we merely name the buttons, so we can use them in the above Howto.
BUTTON | Event |
---|---|
Reset | reset |
WPS | wps |
Hardware
Info
Photos
Opening the case
Note: This will void your warranty!
- Remove front foot screws
- Pull front blue cover straight forward slowly, but firmly
- Remove rear foot screws
- Gently pry up rear, black top cover using plastic spudgers/opening tool
- There are two plastic guides, one per side, which slide into the rear feet
Serial
→ port.serial general information about the serial port, serial port cable, etc.
How to connect to the Serial Port of this specific device:
Serial connection parameters | 115200, 8N1 |
---|
Serial Port
Synopsis
Serial Port is labeled J1 on the board, utilizing a JST PH 6 pin connector with a 2.0mm pitch, operating at 3.3v
- The more common 2.54mm pitch will not fit properly.
- In a pinch, removing the plastic casing from 2.54mm female connectors allows for a stable enough connection.
- Ensure leads are insulated with electrical tape
- If flashing regularly, you may wish to invest in a USB-TTL AJ cable
- USB-TTL AJ cables require installation of a 3.5mm Jack (F) on the router
Serial Header
Pin Out | ||||||
---|---|---|---|---|---|---|
Pins | 1 | 2 | 3 | 4 | 5 | 6 |
Function | Gnd | Tx | n/a | Rx | n/a | n/a |
Marvell Wifi
This device uses the Marvell Wifi mwlwifi driver. You can read more about it here: Marvell Wifi
Third radio (radio2)
The consensus is that the third radio is unreliable. Many users leave it disabled.
Bootloader mods
Hardware mods
Bootlogs
OEM bootlog
BootROM - 1.73 Booting from NAND flash General initialization - Version: 1.0.0 AVS selection from EFUSE disabled (Skip reading EFUSE values) mvSysEnvIsFlavourReduced: TWSI Read of 'flavor' failed Detected Device ID 6820 High speed PHY - Version: 2.0 Init RD NAS topology Serdes Lane 3 is USB3 Serdes Lane 4 is SGMII board SerDes lanes topology details: | Lane # | Speed| Type | ------------------------------| | 0 | 6 | SATA0 | | 1 | 5 | PCIe0 | | 2 | 6 | SATA1 | | 3 | 5 | USB3 HOST1 | | 4 | 5 | PCIe1 | | 5 | 0 | SGMII2 | ------------------------------- :** Link is Gen1, check the EP capability PCIe, Idx 0: Link upgraded to Gen2 based on client cpabilities :** Link is Gen1, check the EP capability PCIe, Idx 1: remains Gen1 High speed PHY - Ended Successfully DDR3 Training Sequence - Ver TIP-1.46.0 mvSysEnvGetTopologyUpdateInfo: TWSI Read failed DDR3 Training Sequence - Switching XBAR Window to FastPath Window DDR3 Training Sequence - Ended Successfully Not detected suspend to RAM indication BootROM: Image checksum verification PASSED U-Boot 2013.01 (Sep 25 2017 - 11:42:52) Marvell version: 2015_T1.QA.0p16 Boot version : v1.0.0 Board: RD-NAS-88F6820-DDR3 SoC: MV88F6820 Rev A0 running 2 CPUs CPU: ARM Cortex A9 MPCore (Rev 1) LE CPU 0 CPU @ 1866 [MHz] L2 @ 933 [MHz] TClock @ 200 [MHz] DDR3 @ 933 [MHz] DDR3 32 Bit Width,FastPath Memory Access, DLB Enabled, ECC Disabled DRAM: 512 MiB NAND: 256 MiB MMC: mv_sdh: 0 #### auto_recovery #### [u_env] get auto_recovery == yes [u_env] get auto_recovery == yes [u_env] get boot_part == 1 [u_env] get boot_part_ready == 3 auto_recovery enabled:1, boot_part:1, boot_part_ready:3 [boot_count_read] block:0x220000, size:128KB, records:64 [boot_count_read_record] boot_count:0, next_record:24 [boot_count_write] erase:0, auto_recovery->block_offset:0x220000 offset=0x22C000 Updating boot_count ... [boot_count_write] offset:0x22C000 , length:2048 done PCI-e 0 (IF 0 - bus 0) Root Complex Interface, Detected Link X1, GEN 2.0 PCI-e 1 (IF 1 - bus 1) Root Complex Interface, Detected Link X1, GEN 1.1 USB2.0 0: Host Mode USB3.0 1: Host Mode USB3.0 0: Host Mode Map: Code: 0x1feab000:0x1ff75c30 BSS: 0x1ffef564 Stack: 0x1f9aaf20 Heap: 0x1f9ab000:0x1feab000 U-Boot Environment: 0x00200000:0x00220000 (NAND) Board configuration detected: mvEthE6171SwitchBasicInit init Net: | port | Interface | PHY address | |--------|-----------|--------------| | egiga0 | RGMII | 0x01 | | egiga1 | SGMII | 0x00 | | egiga2 | SGMII | In-Band | egiga0 [PRIME], egiga1, egiga2 auto_recovery_check changes bootcmd: run nandboot Hit any key to stop autoboot: 0 NAND read: device 0 offset 0xa00000, size 0x600000 6291456 bytes read: OK ## Booting kernel from Legacy Image at 02000000 ... Image Name: Linksys WRT3200 Router Created: 2018-01-11 5:42:22 UTC Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4640515 Bytes = 4.4 MiB Load Address: 00008000 Entry Point: 00008000 Verifying Checksum ... OK Loading Kernel Image ... OK OK Starting kernel ... Uncompressing Linux... done, booting the kernel. [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 3.10.70 (root@build-vm) (gcc version 4.6.4 (Linaro GCC branch-4.6.4. Marvell GCC Dev 201310-2126.3d181f66 64K MAXPAGESIZE ALIGN) ) #1 SMP Wed Jan 10 21:42:06 PST 2018 [ 0.000000] CPU: ARMv7 Processor [414fc091] revision 1 (ARMv7), cr=10c53c7d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache [ 0.000000] Machine: Marvell Armada 380/381/382/383/384/385/388 (Device Tree), model: Marvell Armada 385 Development Board [ 0.000000] bootconsole [earlycon0] enabled [ 0.000000] Memory policy: ECC disabled, Data cache writealloc [ 0.000000] PERCPU: Embedded 7 pages/cpu @c1151000 s7488 r8192 d12992 u32768 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 [ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mtdblock6 ro rootdelay=1 rootfstype=jffs2 earlyprintk mtdparts=armada-nand:2048K(uboot)ro,128K(u_env),256K(s_env),256K@8064K(devinfo),1920K@8320K(sysdiag),80m@10m(kernel),74m@16m(rootfs),80m@90m(alt_kernel),74m@96m(alt_rootfs),160m@10m(ubifs),-@170m(syscfg) [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] allocated 1048576 bytes of page_cgroup [ 0.000000] please try 'cgroup_disable=memory' option if you don't want memory cgroups [ 0.000000] Memory: 512MB = 512MB total [ 0.000000] Memory: 508768k/508768k available, 15520k reserved, 0K highmem [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB) [ 0.000000] vmalloc : 0xe0800000 - 0xfff00000 ( 503 MB) [ 0.000000] lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0008000 - 0xc08417c8 (8422 kB) [ 0.000000] .init : 0xc0842000 - 0xc0883d40 ( 264 kB) [ 0.000000] .data : 0xc0884000 - 0xc08d82a0 ( 337 kB) [ 0.000000] .bss : 0xc08d82a0 - 0xc099f14c ( 796 kB) [ 0.000000] Hierarchical RCU implementation. [ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] [ 0.000000] LSP version: linux-3.10.70-2015_T1.1p7 [ 0.000000] [ 0.000000] sched_clock: 32 bits at 25MHz, resolution 40ns, wraps every 171798ms [ 0.000000] L310 cache controller enabled [ 0.000000] l2x0: 16 ways, CACHE_ID 0x410054c9, AUX_CTRL 0x16070000, Cache size: 1048576 B [ 0.000000] Console: colour dummy device 80x30 [ 0.017251] Calibrating delay loop... 3726.54 BogoMIPS (lpj=18632704) [ 0.082983] pid_max: default: 32768 minimum: 301 [ 0.087708] Mount-cache hash table entries: 512 [ 0.092537] Initializing cgroup subsys memory [ 0.096974] CPU: Testing write buffer coherency: ok [ 0.102004] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.107718] Calibrating local timer... 933.34MHz. [ 0.171171] Setting up static identity map for 0xc0642ff8 - 0xc0643050 [ 0.177859] mvebu-pmsu: Initializing Power Management Service Unit [ 0.184119] Initializing CPU Reset module [ 0.188630] CPU1: Booted secondary processor [ 0.241174] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.241226] Brought up 2 CPUs [ 0.254307] SMP: Total of 2 processors activated (7453.08 BogoMIPS). [ 0.260711] CPU: All CPU(s) started in SVC mode. [ 0.265585] devtmpfs: initialized [ 0.270703] mvebu-soc-id: MVEBU SoC ID=0x6820, Rev=0x4 [ 0.276029] xor: measuring software checksum speed [ 0.371154] arm4regs : 3309.200 MB/sec [ 0.471155] 8regs : 2234.800 MB/sec [ 0.571156] 32regs : 1905.600 MB/sec [ 0.575402] xor: using function: arm4regs (3309.200 MB/sec) [ 0.581030] pinctrl core: initialized pinctrl subsystem [ 0.586482] regulator-dummy: no parameters [ 0.590745] NET: Registered protocol family 16 [ 0.595686] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.604154] irq: Cannot allocate irq_descs @ IRQ195, assuming pre-allocated [ 0.611428] irq: Cannot allocate irq_descs @ IRQ227, assuming pre-allocated [ 0.628282] bio: create slab <bio-0> at 0 [ 0.801253] raid6: int32x1 232 MB/s [ 0.971284] raid6: int32x2 344 MB/s [ 1.141198] raid6: int32x4 437 MB/s [ 1.311278] raid6: int32x8 444 MB/s [ 1.315091] raid6: using algorithm int32x8 (444 MB/s) [ 1.320199] raid6: using intx1 recovery algorithm [ 1.325171] mvebu-pcie pcie-controller.6: PCIe0.0: link up [ 1.330726] mvebu-pcie pcie-controller.6: PCIe1.0: link up [ 1.336352] mvebu-pcie pcie-controller.6: PCI host bridge to bus 0000:00 [ 1.343111] pci_bus 0000:00: root bus resource [io 0x1000-0xfffff] [ 1.349430] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xe7ffffff] [ 1.356386] pci_bus 0000:00: root bus resource [bus 00-ff] [ 1.362150] PCI: bus0: Fast back to back transfers disabled [ 1.367783] pci 0000:00:01.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 1.375843] pci 0000:00:02.0: bridge configuration invalid ([bus 00-00]), reconfiguring [ 1.384127] PCI: bus1: Fast back to back transfers disabled [ 1.390010] PCI: bus2: Fast back to back transfers disabled [ 1.395713] pci 0000:00:01.0: BAR 8: assigned [mem 0xe0000000-0xe02fffff] [ 1.402561] pci 0000:00:02.0: BAR 8: assigned [mem 0xe0400000-0xe06fffff] [ 1.409401] pci 0000:01:00.0: BAR 0: assigned [mem 0xe0000000-0xe01fffff 64bit pref] [ 1.417204] pci 0000:01:00.0: BAR 2: assigned [mem 0xe0200000-0xe02fffff 64bit pref] [ 1.425003] pci 0000:00:01.0: PCI bridge to [bus 01] [ 1.430027] pci 0000:00:01.0: bridge window [mem 0xe0000000-0xe02fffff] [ 1.436876] pci 0000:02:00.0: BAR 0: assigned [mem 0xe0400000-0xe05fffff 64bit pref] [ 1.444676] pci 0000:02:00.0: BAR 2: assigned [mem 0xe0600000-0xe06fffff 64bit pref] [ 1.452475] pci 0000:00:02.0: PCI bridge to [bus 02] [ 1.457498] pci 0000:00:02.0: bridge window [mem 0xe0400000-0xe06fffff] [ 1.464345] PCI: enabling device 0000:00:01.0 (0140 -> 0143) [ 1.470064] PCI: enabling device 0000:00:02.0 (0140 -> 0143) [ 1.476108] SCSI subsystem initialized [ 1.480228] usbcore: registered new interface driver usbfs [ 1.485815] usbcore: registered new interface driver hub [ 1.491233] usbcore: registered new device driver usb [ 1.496532] pps_core: LinuxPPS API ver. 1 registered [ 1.501559] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 1.510758] PTP clock support registered [ 1.515227] Bluetooth: Core ver 2.16 [ 1.518903] NET: Registered protocol family 31 [ 1.523414] Bluetooth: HCI device and connection manager initialized [ 1.529821] Bluetooth: HCI socket layer initialized [ 1.534763] Bluetooth: L2CAP socket layer initialized [ 1.539877] Bluetooth: SCO socket layer initialized [ 1.545027] Switching to clocksource armada_370_xp_clocksource [ 1.550929] cfg80211: Calling CRDA to update world regulatory domain [ 1.561235] NET: Registered protocol family 2 [ 1.565924] TCP established hash table entries: 4096 (order: 3, 32768 bytes) [ 1.573056] TCP bind hash table entries: 4096 (order: 3, 32768 bytes) [ 1.579577] TCP: Hash tables configured (established 4096 bind 4096) [ 1.586004] TCP: reno registered [ 1.589300] UDP hash table entries: 256 (order: 1, 8192 bytes) [ 1.595197] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) [ 1.601599] NET: Registered protocol family 1 [ 1.606107] RPC: Registered named UNIX socket transport module. [ 1.612093] RPC: Registered udp transport module. [ 1.616856] RPC: Registered tcp transport module. [ 1.621627] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 1.628986] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. [ 1.636146] fuse init (API version 7.22) [ 1.640237] msgmni has been set to 993 [ 1.644353] async_tx: api initialized (async) [ 1.648814] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250) [ 1.656264] io scheduler noop registered [ 1.660249] io scheduler deadline registered [ 1.664592] io scheduler cfq registered (default) [ 1.669734] armada-38x-pinctrl f1018000.pinctrl: registered pinctrl driver [ 1.676885] mv_xor f1060800.xor: Marvell shared XOR driver [ 1.721198] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr pq ) [ 1.751188] mv_xor f1060800.xor: freeing 1 in use descriptors! [ 1.757077] mv_xor f1060800.xor: Marvell XOR (Descriptor Mode): ( intr crc32c ) [ 1.765090] mv_xor f1060900.xor: Marvell shared XOR driver [ 1.811185] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( xor cpy intr pq ) [ 1.841190] mv_xor f1060900.xor: freeing 1 in use descriptors! [ 1.847079] mv_xor f1060900.xor: Marvell XOR (Descriptor Mode): ( intr crc32c ) [ 1.878323] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled [ 1.905535] f1012000.serial: ttyS0 at MMIO 0xf1012000 (irq = 44) is a 16550A [ 1.912688] console [ttyS0] enabled, bootconsole disabled [ 1.912688] console [ttyS0] enabled, bootconsole disabled [ 1.924063] ahci_mv f10a8000.sata: AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl platform mode [ 1.932903] ahci_mv f10a8000.sata: flags: 64bit ncq sntf led only pmp fbs pio slum part sxs [ 1.943216] scsi0 : ahci_mv_platform [ 1.946962] scsi1 : ahci_mv_platform [ 1.950659] ata1: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x100 irq 58 [ 1.958631] ata2: SATA max UDMA/133 mmio [mem 0xf10a8000-0xf10a9fff] port 0x180 irq 58 [ 1.967305] armada-nand f10d0000.nand: Initialize HAL based NFC in 8bit mode with DMA Disabled using BCH 4bit ECC [ 1.981682] NAND device: Manufacturer ID: 0xef, Chip ID: 0xda (Unknown NAND 256MiB 3,3V 8-bit), 256MiB, page size: 2048, OOB size: 64 [ 1.993944] Bad block table found at page 131008, version 0x01 [ 2.000178] Bad block table found at page 130944, version 0x01 [ 2.006263] 11 cmdlinepart partitions found on MTD device armada-nand [ 2.012762] Creating 11 MTD partitions on "armada-nand": [ 2.018094] 0x000000000000-0x000000200000 : "uboot" [ 2.023345] 0x000000200000-0x000000220000 : "u_env" [ 2.028534] 0x000000220000-0x000000260000 : "s_env" [ 2.033737] 0x0000007e0000-0x000000820000 : "devinfo" [ 2.039095] 0x000000820000-0x000000a00000 : "sysdiag" [ 2.044479] 0x000000a00000-0x000005a00000 : "kernel" [ 2.049786] 0x000001000000-0x000005a00000 : "rootfs" [ 2.055104] 0x000005a00000-0x00000aa00000 : "alt_kernel" [ 2.060768] 0x000006000000-0x00000aa00000 : "alt_rootfs" [ 2.066434] 0x000000a00000-0x00000aa00000 : "ubifs" [ 2.071737] 0x00000aa00000-0x000010000000 : "syscfg" [ 2.077394] bonding: Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) [ 2.086088] tun: Universal TUN/TAP device driver, 1.6 [ 2.091168] tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com> [ 2.097817] SoC: model = 0x6820, revision = 0x4 [ 2.102418] mvPncVirtBase = 0xe0c00000, pncTcamSize = 1024 [ 2.107924] o 3 Giga ports supported [ 2.111689] o SKB recycle supported for SWF (Disabled) [ 2.117020] o NETA acceleration mode 4 [ 2.120958] o BM supported for CPU: 4 BM pools [ 2.125591] o PnC supported (Enabled) [ 2.129439] o RX Queue support: 8 Queues * 2048 Descriptors [ 2.135209] o TX Queue support: 8 Queues * 532 Descriptors [ 2.140888] o GSO supported [ 2.143867] o GRO supported [ 2.146842] o Receive checksum offload supported [ 2.151652] o Transmit checksum offload supported [ 2.156546] o Driver ERROR statistics enabled [ 2.161094] o Driver INFO statistics enabled [ 2.165552] o Driver DEBUG statistics enabled [ 2.170097] [ 2.172478] port #0: is_sgmii=0, is_rgmii=1, phy_addr=0 [ 2.177746] o Loading network interface(s) for port #0: cpu_mask=0x3, tx_csum_limit=9800 [ 2.186065] [ 2.187560] o Port 0 is connected to Linux netdevice [ 2.193477] o eth0, ifindex = 3, GbE port = 0 [ 2.201630] giga p=0: mtu=1500, mac=30:23:03:dc:0f:f0 (hw config) [ 2.207835] [ 2.209410] port #2: is_sgmii=1, is_rgmii=0, phy_addr=1 [ 2.214702] o Loading network interface(s) for port #2: cpu_mask=0x3, tx_csum_limit=2048 [ 2.223017] [ 2.224511] o Port 2 is connected to Linux netdevice [ 2.230421] o eth1, ifindex = 4, GbE port = 2 [ 2.238576] giga p=2: mtu=1500, mac=30:23:03:dc:0f:f0 (hw config) [ 2.244787] [ 2.246553] (error) mv_switch_probe(5780) (rc=-22): read switch fdt file failed [ 2.253908] mv_soho_switch: probe of switch.3 failed with error 1 [ 2.260038] o Loading Switch QuarterDeck driver [ 2.268970] o Device ID : 0x352 [ 2.272824] o No. of Ports : 7 [ 2.276323] o CPU Port : 5 [ 2.282233] o Setting Switch Port #5 connected to GMAC port for 1000 Full with FC [ 2.292286] o Setting Switch Port #6 connected to GMAC port for 1000 Full with FC [ 2.310934] ata2: SATA link down (SStatus 0 SControl 300) [ 2.316375] ata1: SATA link down (SStatus 0 SControl 300) [ 2.327684] Switch driver init: [ 2.330835] o preset mode = Transparent [ 2.335035] o tag mode = No Tag [ 2.344749] port #0 establish switch connection [ 2.344749] [ 2.351434] libphy: orion_mdio_bus: probed [ 2.355693] mdio_bus f1072004.mdio-mi: cannot get PHY at address 0 [ 2.362064] mdio_bus f1072004.mdio-mi: cannot get PHY at address 1 [ 2.368452] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI [ 2.375536] e1000: Copyright (c) 1999-2006 Intel Corporation. [ 2.381353] e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k [ 2.387207] e1000e: Copyright(c) 1999 - 2013 Intel Corporation. [ 2.393200] PPP generic driver version 2.4.2 [ 2.397570] PPP BSD Compression module registered [ 2.402312] PPP Deflate Compression module registered [ 2.407383] NET: Registered protocol family 24 [ 2.411856] PPTP driver version 0.8.5 [ 2.415658] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 2.422220] ehci-pci: EHCI PCI platform driver [ 2.426730] ehci-orion: EHCI orion driver [ 2.430822] orion-ehci f1058000.usb: EHCI Host Controller [ 2.436266] orion-ehci f1058000.usb: new USB bus registered, assigned bus number 1 [ 2.443915] orion-ehci f1058000.usb: irq 50, io mem 0xf1058000 [ 2.460947] orion-ehci f1058000.usb: USB 2.0 started, EHCI 1.00 [ 2.467116] hub 1-0:1.0: USB hub found [ 2.470883] hub 1-0:1.0: 1 port detected [ 2.475032] xhci-hcd f10f0000.usb3: xHCI Host Controller [ 2.480372] xhci-hcd f10f0000.usb3: new USB bus registered, assigned bus number 2 [ 2.487986] xhci-hcd f10f0000.usb3: irq 48, io mem 0xf10f0000 [ 2.493988] hub 2-0:1.0: USB hub found [ 2.497755] hub 2-0:1.0: 1 port detected [ 2.501748] xhci-hcd f10f0000.usb3: xHCI Host Controller [ 2.507084] xhci-hcd f10f0000.usb3: new USB bus registered, assigned bus number 3 [ 2.514801] hub 3-0:1.0: USB hub found [ 2.518567] hub 3-0:1.0: 1 port detected [ 2.522576] xhci-hcd f10f8000.usb3: xHCI Host Controller [ 2.527912] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 4 [ 2.535520] xhci-hcd f10f8000.usb3: irq 49, io mem 0xf10f8000 [ 2.541496] hub 4-0:1.0: USB hub found [ 2.545262] hub 4-0:1.0: 1 port detected [ 2.549248] xhci-hcd f10f8000.usb3: xHCI Host Controller [ 2.554597] xhci-hcd f10f8000.usb3: new USB bus registered, assigned bus number 5 [ 2.562308] hub 5-0:1.0: USB hub found [ 2.566074] hub 5-0:1.0: 1 port detected [ 3.071230] mvebu-rtc f10a3800.rtc: rtc core: registered f10a3800.rtc as rtc0 [ 3.121015] i2c /dev entries driver [ 3.135167] armada_thermal f10e4078.thermal: Overheat threshold between 92..107 [ 3.142674] md: raid0 personality registered for level 0 [ 3.148006] md: raid1 personality registered for level 1 [ 3.153342] md: raid6 personality registered for level 6 [ 3.158673] md: raid5 personality registered for level 5 [ 3.164026] md: raid4 personality registered for level 4 [ 3.169438] device-mapper: ioctl: 4.24.0-ioctl (2013-01-15) initialised: dm-devel@redhat.com [ 3.177948] dm_crypt using the OCF package. [ 3.182152] Bluetooth: Virtual HCI driver ver 1.3 [ 3.186924] Bluetooth: HCI UART driver ver 2.2 [ 3.191452] usbcore: registered new interface driver bcm203x [ 3.197175] usbcore: registered new interface driver bpa10x [ 3.202815] usbcore: registered new interface driver bfusb [ 3.208364] usbcore: registered new interface driver btusb [ 3.213876] Bluetooth: Generic Bluetooth SDIO driver ver 0.1 [ 3.219622] cpuidle: using governor ladder [ 3.223775] sdhci: Secure Digital Host Controller Interface driver [ 3.229979] sdhci: Copyright(c) Pierre Ossman [ 3.234430] mmc0: no vqmmc regulator found [ 3.238541] mmc0: no vmmc regulator found [ 3.280929] mmc0: SDHCI controller on f10d8000.sdhci [f10d8000.sdhci] using ADMA [ 3.288520] sdhci-pltfm: SDHCI platform and OF driver helper [ 3.319345] mmc0: new high speed SDIO card at address 0001 [ 3.330834] armada-cesa-ocf f109d000.crypto: mv_get_cesa_resources: Total CESA HW channels supported 2 [ 3.340187] armada-cesa-ocf f109d000.crypto: mv_get_cesa_resources: CESA feature: int_coalescing(1) [ 3.349275] armada-cesa-ocf f109d000.crypto: mv_get_cesa_resources threshold 0x2, threshold_time 0xfffff [ 3.358958] mvCesaInit: channels=2, session=640, queue=256 [ 3.372716] armada-cesa-ocf f109d000.crypto: cesa_ocf_probe: CESA driver operate in ocf(0) mode [ 3.381709] cesadev_init(c085f288) [ 3.385354] usbcore: registered new interface driver usbhid [ 3.390960] usbhid: USB HID core driver [ 3.394869] Loading Marvell spi device [ 3.398915] NET: Registered protocol family 26 [ 3.403430] u32 classifier [ 3.406147] Netfilter messages via NETLINK v0.30. [ 3.410872] nfnl_acct: registering with nfnetlink. [ 3.415709] nf_conntrack version 0.5.0 (7949 buckets, 31796 max) [ 3.421810] ctnetlink v0.93: registering with nfnetlink. [ 3.427148] nf_conntrack_rtsp v0.7 loading [ 3.431337] ipip: IPv4 over IPv4 tunneling driver [ 3.436324] gre: GRE over IPv4 demultiplexor driver [ 3.441230] ip_gre: GRE over IPv4 tunneling driver [ 3.446503] nf_nat_rtsp v0.7 loading [ 3.450100] ip_tables: (C) 2000-2006 Netfilter Core Team [ 3.455535] arp_tables: (C) 2002 David S. Miller [ 3.460172] TCP: cubic registered [ 3.463530] NET: Registered protocol family 10 [ 3.468388] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 3.473898] sit: IPv6 over IPv4 tunneling driver [ 3.479049] NET: Registered protocol family 17 [ 3.483551] Bridge firewalling registered [ 3.487578] Ebtables v2.0 registered [ 3.491262] Bluetooth: RFCOMM TTY layer initialized [ 3.496166] Bluetooth: RFCOMM socket layer initialized [ 3.501327] Bluetooth: RFCOMM ver 1.11 [ 3.505090] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 3.510421] Bluetooth: BNEP filters: protocol multicast [ 3.515670] Bluetooth: BNEP socket layer initialized [ 3.520652] Bluetooth: HIDP (Human Interface Emulation) ver 1.2 [ 3.526598] Bluetooth: HIDP socket layer initialized [ 3.531594] l2tp_core: L2TP core driver, V2.0 [ 3.535969] l2tp_ppp: PPPoL2TP kernel driver, V2.0 [ 3.540777] 8021q: 802.1Q VLAN Support v1.8 [ 3.544997] Key type dns_resolver registered [ 3.549351] VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 [ 3.557439] regulator-dummy: disabling [ 3.561693] input: gpio_keys.4 as /devices/soc.0/internal-regs.1/gpio_keys.4/input/input0 [ 3.570126] mvebu-rtc f10a3800.rtc: setting system clock to 1970-01-01 00:00:00 UTC (0) [ 3.578438] Waiting 1sec before mounting root device... [ 4.590937] md: Waiting for all devices to be available before autodetect [ 4.597752] md: If you don't use raid, use raid=noautodetect [ 4.603702] md: Autodetecting RAID arrays. [ 4.607813] md: Scanned 0 and added 0 devices. [ 4.612280] md: autorun ... [ 4.615082] md: ... autorun DONE. [ 4.860770] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280000: 0x4c2e instead [ 4.870296] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280004: 0x534b instead [ 4.879817] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280008: 0x302e instead [ 4.889337] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0228000c: 0x3030 instead [ 4.898858] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280010: 0x5742 instead [ 4.908378] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280014: 0x3233 instead [ 4.917898] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280018: 0x4341 instead [ 4.927417] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x0228001c: 0x2020 instead [ 4.936937] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280020: 0x4136 instead [ 4.946456] jffs2: jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x02280024: 0x3545 instead [ 4.955975] jffs2: Further such events for this erase block will not be printed [ 5.410642] VFS: Mounted root (jffs2 filesystem) readonly on device 31:6. [ 5.417504] devtmpfs: mounted [ 5.420573] Freeing unused kernel memory: 260K (c0842000 - c0883000) ********************************************************************************* _ _ __ _ __ _____ __ __ _____ | | | || \ | | / // ____]\ \ / // ____]TM | | | || \ | | / /| (___ \ V /| (____ | | | || |\ \| |\ \ \____ \ \ / \____ \ | |_____ | || | \ | \ \ ____) | | | ____) | |_______||_||_| \__| \_\[____ / |_| [_____/ (c) 2014 Belkin International, Inc. and/or its affiliates. All rights reserved. Booting rango (firmware version 1.0.6.186168) ********************************************************************************* [utopia][init] System Initialization [utopia][init] Creating /proc [utopia][init] Creating /sys [utopia][init] Creating /dev [utopia][init] Creating /tmp [utopia][init] Allocating 100M for /tmp [utopia][init] Prepairing /dev/pts [utopia][init] Setting /tmp and /var permissions [utopia][init] Starting udev.. [ 6.392988] orion_wdt: Initial timeout 171 sec Attempting mount of ubifs syscfg partition UBI device number 0, total 680 LEBs (86343680 bytes, 82.3 MiB), available 0 LEBs (0 bytes), LEB size 126976 bytes (124.0 KiB) [utopia][init] Using persistent syscfg data from /var/config/syscfg [utopia][init] Starting system logging [utopia][init] Starting sysevent subsystem net.netfilter.nf_conntrack_acct = 1 watchdog running [utopia][init] Setting any unset system values to default [utopia][init] no persistence config file (/var/config/pstcfg) found mac_setup.sh, setting up MAC addresses for all interfaces based on 30:23:03:DC:0F:F0 NTP Servers do not need to be updated configuring switch port to router mode checking for interactive script start up... Updating BootCount Page[25]:C800 ... Done attempting to sync sysinfo.cgi auth credentials cpu temp monitor created Thu Oct 11 06:00:00 UTC 2012 wdev0 no private ioctls. wdev1 no private ioctls. wan, sysevent received: wan-start wdev0ap0 no private ioctls. wdev0ap1 no private ioctls. wdev0ap2 no private ioctls. wdev0ap3 no private ioctls. wdev1ap0 no private ioctls. wdev1ap1 no private ioctls. wdev1ap2 no private ioctls. Lighttpd Model Base: WRT3200ACM Generating Rainier lighttpd config Build temporary www configuration directory: wifi, sysevent received: lan-started (Wed Oct 10 23:00:04 PDT 2012) wifi, service_start() TSLIIHauhEfGE Power cycle Ethernet ports. Registering Service myrouter._http._tcp.local port 80 Got a reply for myrouter._http._tcp.local.: Name now registered and active Not ready for JNAP. Sleeping for 15 seconds... wifi, EEPROM powertables support wifi, wdev0 regioncode: wdev0 getregioncode:16 wifi, wdev0 powertable: wdev0 gettxpower:0x00 wifi, wdev1 regioncode: wdev1 getregioncode:16 wifi, wdev1 powertable: wdev1 gettxpower:0x00 /etc/init.d/service_wifi/service_wifi.sh: line 369: can't create /proc/irq/194/smp_affinity: nonexistent directory wifi, wifi_physical_start(wdev0) Interface doesn't accept private ioctl... 11hdfsmode (8BE0): Operation not supported wifi_physical, iwconfig wdev0 commit wifi, wifi_virtual_start(wdev0) wifi, wifi_user_start(wdev0) [utopia] Not setting ppp_clamp_mtu wifi, enable MU beam former on wdev0ap0 wifi, primary AP: wdev0ap0 is up wifi, wifi_guest_start(wdev0) wifi, guest wdev0ap1 is disabled, do not start wifi guest wifi, wifi_physical_start(wdev1) wifi_physical, iwconfig wdev1 commit wifi, wifi_virtual_start(wdev1) wifi, wifi_user_start(wdev1) wifi, enable MU beam former on wdev1ap0 wifi, primary AP: wdev1ap0 is up wifi, wifi_guest_start(wdev1) wifi, guest wdev1ap1 is disabled, do not start wifi guest wifi, setting WiFi Red CE settings wifi, start_hostapd() Configuration file: /tmp/hostapd-wdev1ap0.conf Using interface wdev1ap0 with hwaddr 30:23:03:dc:0f:f1 and ssid "Linksys01008" random: Only 19/20 bytes of strong random data available from /dev/random random: Not enough entropy pool available for secure operations WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects Configuration file: /tmp/hostapd-wdev0ap0.conf Using interface wdev0ap0 with hwaddr 30:23:03:dc:0f:f2 and ssid "Linksys01008_5GHz" random: Cannot read from /dev/random: Resource temporarily unavailable random: Only 19/20 bytes of strong random data available from /dev/random random: Not enough entropy pool available for secure operations WPA: Not enough entropy in random pool for secure operations - update keys later when the first station connects Restarting nfqrecv service...
OpenWrt bootlog
Community Builds
Community Build details for the WRT AC Series (including this router) can be found here.
Notes
Space for additional notes, links to forum threads or other resources.
Using 21.02 or later
- Use 21.02.2 or later as it has a fix for a serious WiFi crash bug ea91ebedce8051e4a3bf84586b589e918d1fc08c.
- If you have multiple SSIDs on a single radio, you may encounter issues with the radio not being able to start. To fix this remove any macaddr configuration from /etc/config/wireless Forum discussion
Reset wireless configuration to working defaults:
uci set wireless.radio0.channel='auto' uci set wireless.radio1.channel='auto' uci set wireless.radio2.channel='auto' uci del wireless.default_radio0.macaddr uci del wireless.default_radio1.macaddr uci commit wireless reboot
Disabling AMSDU:
Add to /etc/rc.local
before exit 0
to disable AMSDU on each startup, the logger line is not required, but useful when looking at the syslog to make sure the command was run on startup.
echo 0 > /sys/kernel/debug/ieee80211/phy0/mwlwifi/tx_amsdu echo 0 > /sys/kernel/debug/ieee80211/phy1/mwlwifi/tx_amsdu logger "AMSDU Disabled"
General
- Firmware builds for the 22.03 series beyond 22.03.2 do not exist due to a bug see broken MV88E6176 switch. Build are available as normal for 23.05 releases.
- WPA3 will not reliably work due to mwlwifi issues. In certain circumstances it can crash the router completely. Don't enable it, use WPA2 only.
- Do not enable 802.11w Management Frame Protection, mwlwifi does not support it properly. It is disabled by default.
- It is strongly recommended to use auto or channel 36 on radio0 (5.0 GHz) to avoid crashing the WiFi chipset. Forum discussion
- Certain embedded devices don't work with the 2.4 GHz radio unless LDPC is disabled. GitHub issue
- It has been reported that the 5GHz radio crashes periodically if the irqbalance daemon is installed and enabled.
- Some time around November 2017, Linksys silently updated the hardware for the WRT3200ACM, but did not change any version numbers or other identifiable labels. In particular, they changed the flash memory chip, which resulted in older firmwares causing bootloops on these new devices. This has since been fixed.
- You may find additional/supplementary information at the wrt_ac_series page
- Tested OpenWrt 19.07, no issues found, very stable