OpenWrt support for Linksys MX4200

I know that the MAC addresses that the device has configured seem more appropriate. But Linksys uses the same MAC addresses for lan and wan for MX4200v1/MX4200v2/MX4300/MX5300.

You can find confirmation of this here: OpenWrt support for Linksys MX4200 - #884 by curlyBoy

1 Like

FYI, I measured the power consumption of MX4300 and R7800.

Linksys MX4300

  • Idle: ~10W
  • Heavy WIFI traffic: ~16W

Netgear R7800

  • Idle: ~7W
  • Heavy WIFI traffic: ~16W
4 Likes

Hi @lytr,

What do these dmesg logs mean?

[    5.398587] GMAC4(ffffff800609c900) Invalid MAC@ - using b2:f9:f9:79:34:6d
[    5.498615] GMAC5(ffffff80060aa900) Invalid MAC@ - using 62:74:ee:ba:08:28

Post logs from: ls -la /sys/fs/pstore/

You may need to compile with ramoops/pstore support.

Right. It's not enabled on any of the builds posted so far as far as I know. Will try to do that though.

Thanks for this. Currently running an R7800 and considering one of these for a replacement.

If anyone's up for it, I'm curious how the Wi-Fi throughput on OpenWRT is at distance compared to the R7800 (or similar) given external vs. internal antennas. I've always had the impression that routers with internal antennas kind of suck when you're 2-3 rooms away.

On R7800, wan = lanX + 1

lan1 Link encap:Ethernet HWaddr 10:DA:43:14:9B:55
lan2 Link encap:Ethernet HWaddr 10:DA:43:14:9B:55
lan3 Link encap:Ethernet HWaddr 10:DA:43:14:9B:55
lan4 Link encap:Ethernet HWaddr 10:DA:43:14:9B:55
wan Link encap:Ethernet HWaddr 10:DA:43:14:9B:56

I haven't replaced my main R7800 with MX4300 yet but will check the range later. However, I haven't seen any router that offers better WIFI range than R7800 so far. I'm quite sure it will beat MX4300 as well.

For MX8500 lan = wan + 1
There is no rule...

fwiw, i had it running next to rbr50 and r7000p, and if i remember correctly it's better 20-50% when old router was down to ~20mbps.

U-boot tries to set address but has no variable defined. This can be fixed.

1 Like

By the way, if the command line includes more than one ubit.mtd, the OS will try to attach all of them. I think whether or not only taking the last occurrence depends on the implementation.

If a LAN port and the WAN port are connected to the same switch, the switch may get messed up even if the connected ports belong to different VLAN's. When the switch detects two identical MAC addresses on different VLANs, it can cause its MAC address table to constantly update, leading to network instability and connectivity issues.

If we can make wan = lan + 1, it would be more appropriate from a networking point of view. Don't trust Linksys engineers :slight_smile:

Yikes, that’s an additional 5W over the WAX202 I was thinking of replacing. As that’ll amount to an extra $5+ per year for some additional speed I’ll probably never notice, I wish I had seen these measurements before I ordered two of these :man_facepalming:

If you live in expensive California where electricity cost is about $0.5 per kwh (electrical generation + delivery charge), that would be $22 per year for 5W extra :slight_smile:

In addition to the actual electrical usage (aka electrical generation charge), California residents also have to pay the electrical delivery charge that can be from 2 to 4 times (depending on the areas) the electrical generation charge. This is one example from SDG&E (San Diego Gas & Electric, aka San Diego Gouging and Extortion :-). Similarly for PG&E.

In my case I'm hoping to be able to replace 3x WAP w/ 2x WAP (just need a bit extra range for couple of IoT).

Does incrementing the boot counter during boot and then resetting to 0 after successful boot mean that every boot results in a block of NAND being erased and written to twice?
If this is a raw NAND block, it seems like you could wear it out by just rebooting a lot.

You can find the reset logic here.

It appends a new log to the last log. Every boot results in two pages of s_env being written - One written by u-boot and one written by OpenWrt.

The partition is erased if and only if it is full.

1 Like

I was able to capture this just from logread -f. I have a build with pstore/ramoops running now for when it happens again.

kern.warn kernel: [63976.360948] ath11k c000000.wifi: failed to flush transmit queue, data pkts pending 3
kern.err kernel: [63976.789822] qcom-q6v5-wcss-pil cd00000.q6v5_wcss: fatal error received:
kern.err kernel: [63976.789822] QC Image Version: QC_IMAGE_VERSION_STRING=WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1
kern.err kernel: [63976.789822] Image Variant : IMAGE_VARIANT_STRING=8074.wlanfw.eval_v2Q
kern.err kernel: [63976.789822]
kern.err kernel: [63976.789822] wal_peer_control.c:2904 Assertion is_graceful_to_handle failedparam0 :zero, param1 :zero, param2 :zero.
kern.err kernel: [63976.789822] Thread ID      : 0x0000005d  Thread name    : WLAN RT2  Process ID     : 0
kern.err kernel: [63976.789822] Register: 
kern.err kernel: [63976.789822] SP : 0x4bfe9628
kern.err kernel: [63976.789822] FP : 0x4bfe9630
kern.err kernel: [63976.789822] PC : 0x4b1080c4
kern.err kernel: [63976.789822] SSR : 0x00000008
kern.err kernel: [63976.789822] BADVA : 0x00020000
kern.err kernel: [63976.789822] LR : 0x4b107860
kern.err kernel: [63976.789822]
kern.err kernel: [63976.789822] Stack Dump
kern.err kernel: [63976.789822] from : 0x4bfe9628
kern.err kernel: [63976.789822] to   : 0x4bfe9e88
kern.err kernel: [63976.789822]
kern.err kernel: [63976.838792] remoteproc remoteproc0: crash detected in cd00000.q6v5_wcss: type fatal error
kern.err kernel: [63976.861059] remoteproc remoteproc0: handling crash #1 in cd00000.q6v5_wcss
kern.err kernel: [63976.869365] remoteproc remoteproc0: recovering cd00000.q6v5_wcss
kern.info kernel: [63976.902069] remoteproc remoteproc0: stopped remote processor cd00000.q6v5_wcss
kern.warn kernel: [63977.240972] ath11k c000000.wifi: failed to find peer <MACADDR> on vdev 4 after creation
kern.warn kernel: [63977.241030] ath11k c000000.wifi: failed to find peer vdev_id 4 addr <MACADDR> in delete
kern.warn kernel: [63977.248502] ath11k c000000.wifi: failed peer <MACADDR> delete vdev_id 4 fallback ret -22
kern.info kernel: [63977.250652] remoteproc remoteproc0: remote processor cd00000.q6v5_wcss is now up
kern.warn kernel: [63977.257220] ath11k c000000.wifi: Failed to add peer: <MACADDR> for VDEV: 4
kern.warn kernel: [63977.273606] ath11k c000000.wifi: Failed to add station: <MACADDR> for VDEV: 4
kern.warn kernel: [63977.294763] ath11k c000000.wifi: qmi ignore invalid mem req type 3
kern.info kernel: [63977.302268] ath11k c000000.wifi: chip_id 0x0 chip_family 0x0 board_id 0xff soc_id 0xffffffff
kern.info kernel: [63977.302316] ath11k c000000.wifi: fw_version 0x290604a5 fw_build_timestamp 2023-10-12 02:06 fw_build_id WLAN.HK.2.9.0.1-01977-QCAHKSWPL_SILICONZ-1
daemon.notice hostapd: phy2-ap1: STA <MACADDR> IEEE 802.11: Could not add STA to kernel driver
kern.warn kernel: [63977.331740] ath11k c000000.wifi: failed to submit WMI_PEER_CREATE cmd
kern.warn kernel: [63977.331792] ath11k c000000.wifi: failed to send peer create vdev_id 4 ret -108
kern.warn kernel: [63977.337291] ath11k c000000.wifi: Failed to add peer: <MACADDR> for VDEV: 4
daemon.notice hostapd: phy2-ap1: STA <MACADDR> IEEE 802.11: Could not add STA to kernel driver
kern.alert kernel: [63977.664923] Unable to handle kernel read from unreadable memory at virtual address 0000000000000000
kern.alert kernel: [63977.664994] Mem abort info:
kern.alert kernel: [63977.672801]   ESR = 0x0000000096000005
kern.alert kernel: [63977.675569]   EC = 0x25: DABT (current EL), IL = 32 bits
kern.alert kernel: [63977.679392]   SET = 0, FnV = 0
kern.alert kernel: [63977.684856]   EA = 0, S1PTW = 0
kern.alert kernel: [63977.687719]   FSC = 0x05: level 1 translation fault
kern.alert kernel: [63977.690762] Data abort info:
kern.alert kernel: [63977.695626]   ISV = 0, ISS = 0x00000005, ISS2 = 0x00000000
kern.alert kernel: [63977.698749]   CM = 0, WnR = 0, TnD = 0, TagAccess = 0 
kern.alert kernel: [63977.704043]   GCS = 0, Overlay = 0, DirtyBit = 0, Xs = 0
kern.alert kernel: [63977.709165] user pgtable: 4k pages, 39-bit VAs, pgdp=000000004444e000 
kern.alert kernel: [63977.714550] [0000000000000000] pgd=0000000000000000, p4d=0000000000000000, pud=0000000000000000
kern.emerg kernel: [63977.720893] Internal error: Oops: 0000000096000005 [#1] SMP