WRT3200ACM mvebu STA mode now not acquiring IP

I have an mvebu router with radio0 set up as follows:

  • AP to provide “local” network
  • STA mode bridging to a router which provides internet access

All works fine with bleeding edge build from 9/12, but a newer build (10/3 or 10/6) results in no IP address being acquired on the STA interface.

In the non-working /var/run/wpa-supplicant-phy0-sta0.conf file there is a new line (not present in the working build):

multi_ap_backhaul_sta=0

This line appears to be associated with getting a 4-way IP address. If I set up the radio (in /etc/config/wireless) to pass this parameter to hostpad (set to 1), the AP no longer works. Any ideas on how to have this line removed from the sta config file, set to 1 in the sta config file, or other ideas as to what changed? Thanks in advance!

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button:
grafik
Remember to redact passwords, VPN keys, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/wireless
1 Like

ubus call system board:

{
	"kernel": "6.12.47",
	"hostname": "WRT3200ACM",
	"system": "ARMv7 Processor rev 1 (v7l)",
	"model": "Linksys WRT3200ACM",
	"board_name": "linksys,wrt3200acm",
	"rootfs_type": "squashfs",
	"release": {
		"distribution": "OpenWRT",
		"version": "2025.09.12",
		"firmware_url": "https://downloads.openwrt.org/",
		"revision": "r0+31061-3e5ac71484",
		"target": "mvebu/cortexa9",
		"description": "OpenWRT 2025.09.12 r0+31061-3e5ac71484",
		"builddate": "1757682237"
	}
}

/etc/config/wireless

config wifi-device 'radio0'
	option type 'mac80211'
	option hwmode '11a'
	option path 'soc/soc:pcie/pci0000:00/0000:00:01.0/0000:01:00.0'
	option country 'US'
	option log_level '3'
	option distance '15'
	option frag '2346'
	option rts '2347'
	option txpower '29'

config wifi-device 'radio1'
	option type 'mac80211'
	option hwmode '11g'
	option path 'soc/soc:pcie/pci0000:00/0000:00:02.0/0000:02:00.0'
	option country 'US'
	option log_level '1'
	list ht_capab 'LDPC'
	option txpower '29'
	option channel '11'
	option htmode 'HT20'

config wifi-iface 'wifinet1'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'network-hb'
	option encryption 'psk2+ccmp'
	option key '<redacted>'
	option ieee80211w '0'
	option macaddr '<redacted>'
	option wps_pushbutton '0'
	option wpa_disable_eapol_key_retries '1'
	option hidden '0'
	option disabled '0'
	option multicast_to_unicast '0'
	option isolate '0'

config wifi-iface 'wifinet2'
	option device 'radio0'
	option network 'bridgenet bridgenet6'
	option mode 'sta'
	option ssid 'network-hb-bridge'
	option encryption 'psk2+ccmp'
	option key '<redacted>'
	option macaddr '<redacted>'
	option wps_pushbutton '0'
	option wpa_disable_eapol_key_retries '1'
	option hidden '0'
	option disabled '0'
	option multicast_to_unicast '1'
	option isolate '0'

config wifi-iface 'wifinet3'
	option device 'radio1'
	option network 'lan'
	option mode 'ap'
	option hidden '0'
	option disabled '0'
	option ieee80211w '0'
	option ssid 'network-lb'
	option encryption 'psk2+ccmp'
	option key '<redacted>'
	option macaddr '<redacted>'
	option wps_pushbutton '0'
	option wpa_disable_eapol_key_retries '1'
	option disassoc_low_ack '0'
	option max_inactivity '600'
	option max_listen_interval '130000'
	option multicast_to_unicast '0'
	option isolate '0'

config wifi-device 'radio2'
	option type 'mac80211'
	option channel '1'
	option hwmode '11g'
	option path 'platform/soc/soc:internal-regs/f10d8000.sdhci/mmc_host/mmc0/mmc0:0001/mmc0:0001:1'
	option htmode 'HT20'
	option country 'US'
	option log_level '1'
	list ht_capab 'LDPC'
	option txpower '29'
	option legacy_rates '1'
	option disabled '0'

config wifi-iface 'wifinet5'
	option device 'radio2'
	option network 'lan'
	option mode 'ap'
	option ssid 'network-legacy'
	option hidden '0'
	option disabled '0'
	option ieee80211w '0'
	option encryption 'psk2+ccmp'
	option key '<redacted>'
	option wps_pushbutton '0'
	option wpa_disable_eapol_key_retries '1'
	option disassoc_low_ack '0'
	option max_inactivity '600'
	option max_listen_interval '130000'
	option multicast_to_unicast '0'
	option isolate '0'
	option disabled '0'

It is wifi-iface wifinet2, ssid network-hb-bridge that’s in question. I vaguely remember configuring this when the mwlwifi driver was being developed - this AP/STA mode was a late-breaking feature added for which I had a use.

Interestingly, I also have alternate configs using wds – with notes indicating they work, but I settled on this.

Read the comment next to distance setting.

It appears you are using firmware that is not from the official OpenWrt project.

When using forks/offshoots/vendor-specific builds that are "based on OpenWrt", there may be many differences compared to the official versions (hosted by OpenWrt.org). Some of these customizations may fundamentally change the way that OpenWrt works. You might need help from people with specific/specialized knowledge about the firmware you are using, so it is possible that advice you get here may not be useful.

You may find that the best options are:

  1. Install an official version of OpenWrt, if your device is supported (see https://firmware-selector.openwrt.org).
  2. Ask for help from the maintainer(s) or user community of the specific firmware that you are using.
  3. Provide the source code for the firmware so that users on this forum can understand how your firmware works (OpenWrt forum users are volunteers, so somebody might look at the code if they have time and are interested in your issue).

If you believe that this specific issue is common to generic/official OpenWrt and/or the maintainers of your build have indicated as such, please feel free to clarify.

1 Like

In normal OpenWrt, you generally only alter this to a value of 100 or greater. Just FYI. Although I'll add, a lot of your other configs are odd, unnecessary, or foreign to official OpenWrt firmware and usual configs.

Looks legit to me.


git log 3a0581adc850063f2cc68f501ce75f059c63f9a8

based on version and revision it is a custom build by someone else.

It is a custom build by me, largely just automatically including all my package selections and using openssl, nginx, full versions of hostapd for features, etc.

The question is basically what changed in openwrt since 9/12 that would take the same wireless config and generate different .conf files for hostapd. Close this topic by all means if this is an unacceptable use of the forums but it is incorrect to mark it “solved” – that helps nobody.

I'd start by using a standard build of 24.10.3 and see if it works as expected. Then, use a customized 24.10.3 image (via the firmware selector) and test again. Finally, you could repeat the tests (standard and customized) using the latest snapshot via the firmware selector again. These steps will help you establish if there is something wrong with the newer snapshots and/or your customization, or if it might be a config related issue.

I’m pretty convinced the parsing of the wireless config changed within the last month, resulting in the multi_ap_backhaul_sta=0 setting in the wpa_supplicant config for the “bridge” STA network.

Adding the following to the radio0 config:

list hostapd_options 'multi_ap_backhaul_sta=1'

results in the STA mode acquiring an IP address and working, but breaks the local AP network. This is likely because the setting ends up in the “hostapd” config file NOT just the STA configuration file.

What I’m looking for is a way to modifiy the /etc/config/wireless file to set multi_ap_backhaul_sta=1 for the STA config only. Pretty sure this will fix things.

In summary:

9/12 build results in NO multi_ap_backhual_sta setting in wpa-supplicant config file: everything works

10/3 build results in multi_ap_backhaul_sta=0 setting in wpa-supplicant config file: AP works, STA will not acquire IP

I would like to understand how to toggle the multi_ap_backhaul_sta setting to 1 in the wireless config, for the STA interface only, if possible.

Your luck is that any communication happens at all due to driver not taking 15m distance restriction.

Please reproduce the problem on real OpenWrt and report the bug if it exists where due.

1 Like

It seems to be a generic SNAPSHOT build from the Official OpenWrt project based on the Build Date, kernel bump version, and latest commit from ubus call system board. I see nothing that points to a fork, offshoot, or vendor-specific build.

See above.

Of course it won't reflect the version and revision of the daily SNAPSHOT build from the buildbots, but that doesn't confirm the build is not built from the OpenWrt project source code. TMU customizing a build from the project source code is expected and fully supported by the project e.g. using openssl or wolfssl instead of mbedtls.

The question remains, what is considered an Offical Firmware Build? Apparently only Release and SNAPSHOT builds compiled by the buildbots and available on https://openwrt.org/downloads qualify by your reckoning. If this is the consensus, it should be pinned in the forum as: If you build your own firmware from Project Source, you're on your own.

1 Like

Make the change @brada4 suggests. You could browse the https://lists.infradead.org/pipermail/lede-commits/2025-August/date.html
https://lists.infradead.org/pipermail/lede-commits/2025-September/date.html and
https://lists.infradead.org/pipermail/lede-commits/2025-October/date.html for any changes.

Commits, 4+ years old related to “multi_ap” config option: commits

Recent commits (within last 2 weeks) impacting hostapd/wpa_supplicant – there are 5 total, I only include 2 here:

include multi-ap status in interface state

add start_disabled for AP mode

history of commits including supplicant

Here are the generated config file differences relative to the working version:

/var/run/hostapd-phy0.conf

spectrum_mgmt_required=0
airtime_mode=0
rssi_reject_assoc_rssi=0
rssi_ignore_probe_request=0
acs_exclude_dfs=0
enable_background_radar=0
min_tx_power=0
channel=0

ssid2="network-hb"  <diff: original is ssid (not ssid2) + no quotes>
ap_isolate=0
multi_ap <NOT PRESENT IN NONWORKING VERSION>
multicast_to_unicast=0
dtim_period=2
start_disabled=1
rrm_neighbor_report=1
rrm_beacon_report=1
rnr=1
wds_bridge= <NOT PRESENT IN NONWORKING VERSION>
vlan_no_bridge=1 <NOT PRESENT IN NONWORKING VERSION>

/var/run/wpa_supplicant-phy0-sta0.conf

disabled=0
multi_ap_backhaul_sta=0
ieee80211w=0

These config differences are larger than I expected, it will take me a while to work through the rat’s nest of scripts that translate the configuration to generate these, and figure out which of these differences matter and how to correct.

Fairly narrow timeline, with some likely commits identifiable, should not take much to bisect to the culprit.

Old search return. Might be worth a look: https://www.spinics.net/lists/hostap/msg05060.html

1 Like

What part of a custom / personal build is not a REAL OpenWrt image. These inane rote posts leave a lot to be desired in terms of intelligent thought as to what this forum is here to address.

1 Like

Should take about 5 minutes to check whether

  • problem covers all Openwrt and thus custom build is identical for config file
  • or we are bisecting OP’s build options

I’m going to dispute the simplicity of this resolution as nothing will work “out of the box” on the network (not on 192.168.x.x, multiple routed (some encrypted) networks, etc) which means network, firewall, wireless, dhcp, etc config files all have to be modified from whatever comes up as default config.

There’s a very high probability the baseline OpenWRT was modified such that the mode in which I was using the mwlwifi driver is broken. The question is whether the ability to alter configs to bring this mode back exists, or whether additional changes would be required to bring this back.

I am working to identify which of the recent changes impact this, so more to come.

Well you dont help to point out which side of the fence is the problem.