are you running foss or NSS builds?
i couldn't get WDS working, and have instability if 802.11s.is active also.
i think this was worse on NSS builds but im less thana day out on foss.
thx
A couple of more observations:
- The router does not fully crash: the wireguard connection is still active and I can still ping it. However, I can not ssh (from WAN or wireguard) into it nor can any of the clients access any IP, either WAN or LAN side. Nor can new clients acquire IP.
- I was looking at the system status just a couple of minutes before the connection went down and it looked to me that the free memory was low and going further down.
@ghoffman : I am running foss build, 24.10-snapshot built with wireguard, pbr, ddns, uhttpd, openssh-sftp-server, support for usb abd ext4, exfat, vfat filesystems. I might be missing a small number of other ackages I added.
P.S. After the latest crash I installed the latest snapshot build on firmware selector to see if that makes a difference versus self-built versions.
Did you tried enabling "multi to unicast" in all wifi interfaces?
Just tried it (though made the change only on WDS server, not client) -- did not help.
Try to disable any file sharing and ads blocking services on your router to see if it may resolve your issue. These services tend to consume lots of memory.
I did disabled them with no improvement.
Just got my hands on one MX4300 unit (awaiting second one) and I installed latest nss build from @arix.
I have this flash layout.
root@MX4300:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00100000 00040000 "0:sbl1"
mtd1: 00100000 00040000 "0:mibib"
mtd2: 00080000 00040000 "0:bootconfig"
mtd3: 00080000 00040000 "0:bootconfig1"
mtd4: 00300000 00040000 "0:qsee"
mtd5: 00300000 00040000 "0:qsee_1"
mtd6: 00080000 00040000 "0:devcfg"
mtd7: 00080000 00040000 "0:devcfg_1"
mtd8: 00080000 00040000 "0:apdp"
mtd9: 00080000 00040000 "0:apdp_1"
mtd10: 00080000 00040000 "0:rpm"
mtd11: 00080000 00040000 "0:rpm_1"
mtd12: 00080000 00040000 "0:cdt"
mtd13: 00080000 00040000 "0:cdt_1"
mtd14: 00080000 00040000 "0:appsblenv"
mtd15: 00100000 00040000 "0:appsbl"
mtd16: 00100000 00040000 "0:appsbl_1"
mtd17: 00080000 00040000 "0:art"
mtd18: 00100000 00040000 "u_env"
mtd19: 00100000 00040000 "s_env"
mtd20: 00040000 00040000 "devinfo"
mtd21: 0af40000 00040000 "kernel"
mtd22: 0a740000 00040000 "rootfs"
mtd23: 0af40000 00040000 "alt_kernel"
mtd24: 0a740000 00040000 "alt_rootfs"
mtd25: 00400000 00040000 "sysdiag"
mtd26: 00080000 00040000 "0:ethphyfw"
mtd27: 079c0000 00040000 "syscfg"
mtd28: 00400000 00040000 "secured_store"
mtd29: 01900000 00040000 "0:wififw"
mtd30: 16180000 00040000 "app2_data"
mtd31: 09280000 00040000 "app2"
Before that I've made some speedtests with stock Linksys firmware in order to have some data for comparison.
What bothers me for now: I cannot set more than 22dBm (on both 5GHz radios) although there is up to 24dBm in Luci. With stock firmware, Wifi Manager showed the second 5GHz backhaul link used 28dBm.
Speedtest is around 600 Mbps with OpenWrt and 920 with stock firmware (1Gbps ISP link).
Update - I've just flashed my own build (using the above quoted arix's recommendation and @qosmio main-nss-mx4300 branch to compile it) using OpenSSL and compiled with speed optimization.
I can get 920 Mbps on second 5GHz radio and 800-900 on first 5GHz radio.
About the transmit power it obviously depends on the channel used but does it have something with regulatory domain or BDF?
For US I have up to 30dBm but I cannot set more than 24dBm.
root@MX4300:~# iw reg get
global
country US: DFS-FCC
(902 - 904 @ 2), (N/A, 30), (N/A)
(904 - 920 @ 16), (N/A, 30), (N/A)
(920 - 928 @ 8), (N/A, 30), (N/A)
(2400 - 2472 @ 40), (N/A, 30), (N/A)
(5150 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW
(5250 - 5350 @ 80), (N/A, 24), (0 ms), DFS, AUTO-BW
(5470 - 5730 @ 160), (N/A, 24), (0 ms), DFS
(5730 - 5850 @ 80), (N/A, 30), (N/A), AUTO-BW
(5850 - 5895 @ 40), (N/A, 27), (N/A), NO-OUTDOOR, AUTO-BW, PASSIVE-SCAN
(5925 - 7125 @ 320), (N/A, 12), (N/A), NO-OUTDOOR, PASSIVE-SCAN
(57240 - 71000 @ 2160), (N/A, 40), (N/A)
phy#2 (self-managed)
country US: DFS-FCC
(2402 - 2472 @ 40), (6, 30), (N/A)
(5170 - 5250 @ 80), (6, 30), (N/A), AUTO-BW
(5250 - 5330 @ 80), (6, 24), (0 ms), DFS, AUTO-BW
(5490 - 5730 @ 160), (6, 24), (0 ms), DFS, AUTO-BW
(5735 - 5895 @ 160), (6, 30), (N/A), AUTO-BW
phy#1 (self-managed)
country US: DFS-FCC
(2402 - 2472 @ 40), (6, 30), (N/A)
(5170 - 5250 @ 80), (6, 30), (N/A), AUTO-BW
(5250 - 5330 @ 80), (6, 24), (0 ms), DFS, AUTO-BW
(5490 - 5730 @ 160), (6, 24), (0 ms), DFS, AUTO-BW
(5735 - 5895 @ 160), (6, 30), (N/A), AUTO-BW
phy#0 (self-managed)
country US: DFS-FCC
(2402 - 2472 @ 40), (6, 30), (N/A)
(5170 - 5250 @ 80), (6, 30), (N/A), AUTO-BW
(5250 - 5330 @ 80), (6, 24), (0 ms), DFS, AUTO-BW
(5490 - 5730 @ 160), (6, 24), (0 ms), DFS, AUTO-BW
(5735 - 5895 @ 160), (6, 30), (N/A), AUTO-BW
I had similar questions regarding radio strength in OpenWrt: you'll probably want to peruse that thread.
This post in particular is informative.
Thanks for the link I know some of that info and it's a complicated topic, I know.
My question was aimed towards if others see the same on their MX4300s.
What is the responsible module (driver, firmware and/or regulatory database) for the transmit power.
Discussing this I wonder.
Why do we see (what is the reason), for example, that in Luci there is 28 dBm but in my case the maximum that can be set is only 22 dBm.
I've switched to other country regulatory domains just to check if it is possible to set higher power but it's not possible. That looks wrong. What is the hardware power limit of MX4300. There is no point to have 30 dBm setting in Luci if that can't be set. It only confuses most of the people.
On my QNAP 301w and R7800 I can set up to 30 dBm but I use only 18 for 2.4GHz and 22 for 5GHz although higher power is allowed.
I have lots of older OpenWrt TP-Link routers and I have only 19 dBm in Luci on some devices and that is the maximum that can be set at all even though higher power is allowed. That is obviously a hardware limitation on those older devices.
It would be nice if 30dBm could be achieved, I could make use of that extra range. Do the speed optimizations come with any tradeoffs? Would be interesting to maximize bandwidth further.
Just a bit more storage taken on the flash memory. I use OpenSSL and I cannot tell if mbedtls is the reason for lower wifi speed. I use WPA3.
What is the typical memory usage for MX4200v1? I don't think I have too much stuff running - luci, uhttps, wireguard, pbr, and ddns and the info page shows about 280MiB used (obviously it varies somewhat). My Belkin RT-3200 runs several more services and it only shows about 140MiB. I understand that this could be due to hardware differences so that's one of the reasons I'm asking.
Ideally I'd like to run wds (or 802.11s) on this router but when I try too do so the router seems to run out of memory fairly quickly and stops handling traffic (even as it still responds to pings). In fact, it might also run out of memory when I only add https-dns-proxy to services listed above.
(Just realized you said MX4200 not 4300 so this may not apply...)
I'm close to "typical" I think... the only additional packages I install are:
luci-app-statistics
collectd-mod-thermal
luci-app-nextdns
My average memory use on the MX4300 looks to be around 75MB:
Thanks.
The routers should be largely similar so I would guess our numbers should be similar. Instead, your memory usage is closer to what I see with my rt-3200. So maybe I accidentally included packages that eat a lot of memory. I'll have to look into it.
The ath11k (same for ath10k and ath12k, increasingly so) wireless drivers aggressively use RAM for its operations (the more clients connected, the more RAM required), while mt76 is considerably more frugal in this regard. Beyond that, the ipqxxxx range of SOCs also reserves more RAM for internal IP cores and their firmwares, before handing it over to the linux kernel. That's the reason why 512 MB RAM is a hard limit (and that can already become pretty tight in practice) for ipq807x/ ipq60xx/ ipq50xx (256 MB for ath10k, 1 GB for ath12k), while filogic/ mt76 based devices can still cope with 256 MB RAM.
As a rule of thumb, you need to roughly double the RAM requirements, if you're using QCA wireless (at least for ath10k, ath11k, ath12k) compared to other vendors (although in practice, the only 'other' vendor with OpenWrt support these days it Mediatek).
Good day. I'm trying to do a similar setup to yours, but I'm having an issue where when connected to the wifi from the dumb ap, I can't receive any IP address from the DHCP server. If connected to the lan ports, dhcp works as expected. Is it possible to share your config from your main router and one of the dumb ap?
'used' is a bad metric. Instead look at two numbers: available/total
Can't really speculate the reason behind. Very generous estimate for ram usage:
- 1KB to maintain each wireless client state in kernel * 128 = 128KB
- 4MB for each interface queue * 8(LAN/WAN/TUNNEL, internal kernel overhead etc) = 32MB
- 1KB for each conntrack entry in kernel * 4096 = 4MB
Sounds like roughly 40MB is more than enough for networking part of operation. The drivers are using lots of ram for what?
Configs - Relevant snips
--Master Network:
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
config device
option name 'lan1'
option macaddr '80:xx'
config device
option name 'lan2'
option macaddr '80:xx'
config device
option name 'lan3'
option macaddr '80:xx'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.254.1'
option netmask '255.255.255.0'
option ip6assign '60'
config interface 'wan'
option device 'wan'
option proto 'static'
option ipaddr '192.168.0.4'
option netmask '255.255.255.0'
option gateway '192.168.0.1'
--WiFi Master snip
config wifi-iface 'default_radio0'
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'Net5G'
option encryption 'psk2'
option key 'supersecretpass'
option multicast_to_unicast_all '1'
option ieee80211r '1'
option mobility_domain '1AA7'
option ft_over_ds '0'
option ft_psk_generate_local '1'
option reassociation_deadline '20000'
--dhcp master snip
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
list dhcp_option '3,192.168.254.1'
list dhcp_option '6,192.168.254.1,192.168.254.1'
option force '1'
--DumbAP Network:
config device
option name 'br-lan'
option type 'bridge'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'wan'
config interface 'lan'
option device 'br-lan'
option proto 'static'
option ipaddr '192.168.254.3'
option netmask '255.255.255.0'
option ip6assign '60'
list dns '192.168.254.1'
option gateway '192.168.254.1'
--DumbAP WiFi
config wifi-iface 'default_radio2'
option device 'radio2'
option network 'lan'
option mode 'ap'
option ssid 'Net5G'
option encryption 'psk2'
option multicast_to_unicast_all '1'
option key 'Thesameultrasecretpass'
option ieee80211r '1'
option mobility_domain '1AA7'
option ft_over_ds '0'
option ft_psk_generate_local '1'
option reassociation_deadline '20000'
--DumbAP dhcp
config dhcp 'lan'
option interface 'lan'
option start '100'
option limit '150'
option leasetime '12h'
option dhcpv4 'server'
option ignore '1'
In DumbAP dnsmasq, firewall, odhcp are disabled
I just followed tips from documentation: https://openwrt.org/docs/guide-user/network/wifi/wifiextenders/bridgedap
As you can see If you plan to use WAN port in node, you must add it to the br-lan device, for that you must erase WAN & WAN6 as interfaces and recreate wan as device because it gets erased, at least doing it in Luci... or.. for simplicity use any lan port instead, then you can omit any wan modifications.
With wds disabled the router has been running for almost two days and the available memory varied somewhere between 50MiB and 80MiB (sometimes going to over 100MiB). But at some point in the last couple of hours it went down and seems to be varying somewhere between 20MiB and 40MiB (actually, it may have recovered a bit).
When wds was running the available memory was almost always in that lower range of 20-40MiB and I may have seen it going lower shortly before the crashes. I think I captured the log a couple of times and I see a couple of invocations of oom-killer (though I can't be exactly certain that it was at the time of the crash). Strangely enough, timestamps in the log jump back by 1-2 hours right after oom-killer (and associated messages).
Do you happen to have a summary of what combination of things you've included in your build? You mentioned "the above recommendation" and "compiled with speed optimization", which might be obvious to some, but I'm not quite sure what you're referring to and would like to duplicate your efforts.