Do I have a lemon? Can't change WiFi settings

I’ve had a hAP ax^2 for about a year now. Out of the box there was no 2.4GHz AP visible. After trying every config option known to man, various upgrades and downgrades, lots of config resets and retries, I eventually got it to work - by turning it off and back on again.

Since then its been fine. Until I touch it. If I change the WiFi password the PPPoE (WAN connection) starts cycling. If I change the 2.4GHz WiFi band, the 5GHz stops working. If I reload the config from a backup, WiFi and PPPoE stops working.

Typically the only way I can restore functionality is to reset the config to default and set it up manually again. My setup is to set the PPPoE username/password, rename the WiFi 2.4GHz SSID, rename the 5GHz SSID, set the same password for both, set a couple of static IP addresses, and a bunch of port forwards.

Should I expect this sort of behaviour, or is my experience unusual? Or might I be doing it wrong?

Has to be seen.

Usually configurations can be classified in three groups:

  1. configurations that just work (you don’t know why, but they work, so who cares?)
  2. configurations that work (and you know why)
  3. configurations that don’t work or are unstable (and you don’t know why)

Yours seem like a #3.

Post your configuration, see:

it may be a trifling thing, easy to correct, or something more complex, but until the configuration cannot be excluded it is too early to suppose a hardware issue.

A very reasonable response, thank you. And I see WinBox is available for Mac now! I didn’t realise you could export the config as commands, and was disappointed to find my backup, which doesn’t work, is not decipherable!

Okay, here’s my config. I generally do all this config (the things in my OP) through the “Quick Set” and “Advanced” tabs in the web interface (which seems pretty on par with WinBox?).

# 2025-07-12 08:17:40 by RouterOS 7.19.3
# software id = REDA-CTED
#
# model = C52iG-5HaxD2HaxD
# serial number = REDACTED
/interface bridge
add admin-mac=RE:DA:CT:ED:RE:DA auto-mac=no comment=defconf name=bridge
/interface wifi
set [ find default-name=wifi1 ] channel.band=5ghz-ax .skip-dfs-channels=\
    10min-cac .width=20/40/80mhz configuration.mode=ap .ssid=IRL disabled=no \
    security.authentication-types=wpa2-psk,wpa3-psk .ft=yes .ft-over-ds=yes
set [ find default-name=wifi2 ] channel.band=2ghz-ax .skip-dfs-channels=\
    10min-cac .width=20/40mhz configuration.mode=ap .ssid=IRL2 disabled=no \
    security.authentication-types=wpa2-psk,wpa3-psk .ft=yes .ft-over-ds=yes
/interface pppoe-client
add add-default-route=yes disabled=no interface=ether1 name=pppoe-out1 \
    use-peer-dns=yes user=REDACTED
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/ip pool
add name=default-dhcp ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=default-dhcp interface=bridge name=defconf
/disk settings
set auto-media-interface=bridge auto-media-sharing=yes auto-smb-sharing=yes
/interface bridge port
add bridge=bridge comment=defconf interface=ether2
add bridge=bridge comment=defconf interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=wifi1
add bridge=bridge comment=defconf interface=wifi2
/ip neighbor discovery-settings
set discover-interface-list=LAN
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
add interface=pppoe-out1 list=WAN
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
    192.168.88.0
/ip dhcp-client
add comment=defconf disabled=yes interface=ether1
/ip dhcp-server lease
add address=192.168.88.100 client-id=1:RE:DA:CT:ED:RE:DA mac-address=\
    RE:DA:CT:ED:RE:DA server=defconf
add address=192.168.88.69 client-id=1:RE:DA:CT:ED:RE:DA mac-address=\
    RE:DA:CT:ED:RE:DA server=defconf
/ip dhcp-server network
add address=192.168.88.0/24 comment=defconf dns-server=192.168.88.1 gateway=\
    192.168.88.1
/ip dns
set allow-remote-requests=yes
/ip dns static
add address=192.168.88.1 comment=defconf name=router.lan type=A
/ip firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMP" protocol=icmp
add action=accept chain=input comment=\
    "defconf: accept to local loopback (for CAPsMAN)" dst-address=127.0.0.1
add action=drop chain=input comment="defconf: drop all not coming from LAN" \
    in-interface-list=!LAN
add action=accept chain=forward comment="defconf: accept in ipsec policy" \
    ipsec-policy=in,ipsec
add action=accept chain=forward comment="defconf: accept out ipsec policy" \
    ipsec-policy=out,ipsec
add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \
    connection-state=established,related hw-offload=yes
add action=accept chain=forward comment=\
    "defconf: accept established,related, untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \
    connection-state=new in-interface-list=WAN
/ip firewall nat
add action=masquerade chain=srcnat comment="defconf: masquerade" \
    ipsec-policy=out,none out-interface-list=WAN
add action=dst-nat chain=dstnat comment=IMAP dst-port=143 in-interface-list=\
    WAN protocol=tcp to-addresses=192.168.88.100 to-ports=143
add action=dst-nat chain=dstnat comment=IMAPS dst-port=993 in-interface-list=\
    WAN protocol=tcp to-addresses=192.168.88.100 to-ports=993
add action=dst-nat chain=dstnat comment=DSM1 dst-port=5000 in-interface-list=\
    WAN protocol=tcp to-addresses=192.168.88.100 to-ports=5000
add action=dst-nat chain=dstnat comment=DSM2 dst-port=5001 in-interface-list=\
    WAN protocol=tcp to-addresses=192.168.88.100 to-ports=5001
add action=dst-nat chain=dstnat comment=DSM3 dst-port=6690 in-interface-list=\
    WAN protocol=tcp to-addresses=192.168.88.100 to-ports=6690
add action=dst-nat chain=dstnat comment=SVN dst-port=REDAC in-interface-list=\
    WAN protocol=tcp to-addresses=192.168.88.100 to-ports=REDAC
add action=dst-nat chain=dstnat comment=SVNS dst-port=REDAC \
    in-interface-list=WAN protocol=tcp to-addresses=192.168.88.100 to-ports=\
    REDAC
add action=dst-nat chain=dstnat comment=SSH dst-port=REDAC in-interface-list=\
    WAN protocol=tcp to-addresses=192.168.88.100 to-ports=REDAC
/ipv6 firewall address-list
add address=::/128 comment="defconf: unspecified address" list=bad_ipv6
add address=::1/128 comment="defconf: lo" list=bad_ipv6
add address=fec0::/10 comment="defconf: site-local" list=bad_ipv6
add address=::ffff:0.0.0.0/96 comment="defconf: ipv4-mapped" list=bad_ipv6
add address=::/96 comment="defconf: ipv4 compat" list=bad_ipv6
add address=100::/64 comment="defconf: discard only " list=bad_ipv6
add address=2001:db8::/32 comment="defconf: documentation" list=bad_ipv6
add address=2001:10::/28 comment="defconf: ORCHID" list=bad_ipv6
add address=3ffe::/16 comment="defconf: 6bone" list=bad_ipv6
/ipv6 firewall filter
add action=accept chain=input comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=input comment="defconf: drop invalid" connection-state=\
    invalid
add action=accept chain=input comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=input comment="defconf: accept UDP traceroute" \
    dst-port=33434-33534 protocol=udp
add action=accept chain=input comment=\
    "defconf: accept DHCPv6-Client prefix delegation." dst-port=546 protocol=\
    udp src-address=fe80::/10
add action=accept chain=input comment="defconf: accept IKE" dst-port=500,4500 \
    protocol=udp
add action=accept chain=input comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=input comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=input comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=input comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
add action=accept chain=forward comment=\
    "defconf: accept established,related,untracked" connection-state=\
    established,related,untracked
add action=drop chain=forward comment="defconf: drop invalid" \
    connection-state=invalid
add action=drop chain=forward comment=\
    "defconf: drop packets with bad src ipv6" src-address-list=bad_ipv6
add action=drop chain=forward comment=\
    "defconf: drop packets with bad dst ipv6" dst-address-list=bad_ipv6
add action=drop chain=forward comment="defconf: rfc4890 drop hop-limit=1" \
    hop-limit=equal:1 protocol=icmpv6
add action=accept chain=forward comment="defconf: accept ICMPv6" protocol=\
    icmpv6
add action=accept chain=forward comment="defconf: accept HIP" protocol=139
add action=accept chain=forward comment="defconf: accept IKE" dst-port=\
    500,4500 protocol=udp
add action=accept chain=forward comment="defconf: accept ipsec AH" protocol=\
    ipsec-ah
add action=accept chain=forward comment="defconf: accept ipsec ESP" protocol=\
    ipsec-esp
add action=accept chain=forward comment=\
    "defconf: accept all that matches ipsec policy" ipsec-policy=in,ipsec
add action=drop chain=forward comment=\
    "defconf: drop everything else not coming from LAN" in-interface-list=\
    !LAN
/system clock
set time-zone-name=Australia/Sydney
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN

Looks like everything is here. One thing I did notice though, was I forgot to set the WiFi country at first. When I corrected that to “Australia” and re-exported, the new configuration.country=Australia appeared, but the channel.band=5ghz-ax and channel.band=2ghz-ax settings disappeared! Maybe nothing, but I’ve often wondered whether setting the country is what would make my experience different from the thousands that must otherwise be using this router in a similar way.

Welp… today I can’t reproduce the symptoms I described in the OP, which have been present for the last year. All I’ve done is reapply the settings (again) and exported the config… and upgraded to 7.19.3. Up until now I’d been running the factory supplied 7.16, and a beta of 7.17.

These notes may well prove useful in the future. But for now, touch wood, everything seems mysteriously good.

Well, maybe related, maybe not, but there are reasons why we have Rule #4:

and why - usually - Winbox Is preferred over webfig. (but It Is improbabile that this latter is causing issues).

Heh, good to know! There’s some hard earned wisdom there I’m sure.

Though to be fair, I think I fit squarely within the corollary of #4.