Hi everyone!
I recently purchased a couple of Mikrotik devices and now trying to figure out how to set up local WiFi. Long story short, I have a Mikrotik RB5009UPr+S+IN router:
- connected to a CRS326-24G-2S+RM switch on port 2
- and two APs (wAP ax) connected to the router via PoE on ports: 3 and 5.
Problem: wired connection is stable, but WiFi is very sluggish, even when close to the AP. When connecting to the network via WiFi emitted by one of the APs, from the computer level I can ping the AP / router and pings are relatively ok (around 10-20ms), but as soon as I start downloading any larger amounts of data, the pings spike dramatically.
Example:
- I connect to the WiFi network and have 5-8ms pings (sometimes drops to several dozen ms) to router and AP.
- Then I run any internet speed test, e.g. speedtest.net - pings jump to values as high as 1000-2000ms or I get request timeout.
I’ve tried various solutions, but I can’t stabilize the connection. On a mobile phone, WiFi can be very unstable and disconnect from the network or very often return request timeout, even when I’m not performing operations requiring downloading large amounts of data in the background.
The problems occur regardless of the number of APs connected to the router (one or two).
The APs are configured as CAP clients, all configuration is on the router side.
Below I’m attaching a configuration dump from the router. Thanks in advance for any advice!
# 2025-07-07 23:14:59 by RouterOS 7.19.2
# software id = ABCD-1234
#
# model = RB5009UPr+S+
# serial number = XXXXXXXXXX
/interface bridge
add admin-mac=A1:B1:C1:E1:F1:G1 auto-mac=no comment=defconf name=bridge \
protocol-mode=none
/interface ethernet
set [ find default-name=ether2 ] disabled=yes
/interface wifi
# operated by CAP A1:B1:C1:E1:F1:G2%bridge
add name=cap-wifi1 radio-mac=A1:B1:C1:E1:F1:G3
add name=cap-wifi3 radio-mac=A1:B1:C1:E1:F1:G4
/interface list
add comment=defconf name=WAN
add comment=defconf name=LAN
/interface wifi channel
add band=5ghz-ax frequency=5180 name=5GHZ::CH36 width=20mhz
add band=5ghz-ax frequency=5200 name=5GHZ::CH40 width=20mhz
add band=5ghz-ax frequency=5220 name=5GHZ::CH44 width=20mhz
add band=5ghz-ax frequency=5240 name=5GHZ::CH48 width=20mhz
add band=5ghz-ax frequency=5745 name=5GHZ::CH149 width=20mhz
add band=5ghz-ax frequency=5765 name=5GHZ::CH153 width=20mhz
add band=5ghz-ax frequency=5785 name=5GHZ::CH157 width=20mhz
add band=5ghz-ax frequency=5805 name=5GHZ::CH161 width=20mhz
add band=5ghz-ax frequency=5825 name=5GHZ::CH165 width=20mhz
add band=5ghz-ax disabled=no frequency=5180,5200,5220,5240 name=5GHZ::UNII-1 \
width=20mhz
add band=5ghz-ax disabled=no frequency=5745,5765,5785,5805,5825 name=\
5GHZ::UNII-3 width=20mhz
add band=5ghz-ax disabled=no frequency=\
5180,5200,5220,5240,5745,5765,5785,5805,5825 name=5GHZ::NON-DFS width=\
20mhz
add band=2ghz-ax frequency=2412 name=2GHZ::CH1 width=20mhz
add band=2ghz-ax frequency=2437 name=2GHZ::CH6 width=20mhz
add band=2ghz-ax frequency=2462 name=2GHZ::CH11 width=20mhz
add band=2ghz-ax disabled=no frequency=2412,2437,2462 name=2GHZ::AUTO width=\
20/40mhz
/interface wifi datapath
add bridge=bridge disabled=no name=localBridge
/interface wifi security
add authentication-types=wpa2-psk disabled=no encryption=ccmp \
group-encryption=ccmp name=WiFi-security-profile
/interface wifi configuration
add channel=2GHZ::AUTO channel.band=2ghz-ax .skip-dfs-channels=10min-cac \
.width=20mhz country=Poland datapath=localBridge datapath.bridge=bridge \
disabled=no mode=ap multicast-enhance=disabled name=WiFi-conf-2G \
qos-classifier=priority security=WiFi-security-profile security.ft=no \
.ft-over-ds=no ssid=Isla-Nublar-2G
add channel=5GHZ::NON-DFS channel.frequency=\
5180,5200,5220,5240,5745,5765,5785,5805,5825 .skip-dfs-channels=10min-cac \
country=Poland datapath=localBridge datapath.bridge=bridge disabled=no \
mode=ap multicast-enhance=disabled name=WiFi-conf-5G qos-classifier=\
priority security=WiFi-security-profile ssid=Isla-Nublar-5G
add channel=2GHZ::CH1 channel.band=2ghz-ax .skip-dfs-channels=10min-cac \
.width=20mhz country=Poland datapath=localBridge datapath.bridge=bridge \
disabled=no mode=ap multicast-enhance=disabled name=WiFi-conf-2G-CH1 \
qos-classifier=priority security=WiFi-security-profile ssid=\
Isla-Nublar-2G
add channel=2GHZ::CH6 channel.band=2ghz-ax .skip-dfs-channels=10min-cac \
.width=20mhz country=Poland datapath=localBridge datapath.bridge=bridge \
disabled=no mode=ap multicast-enhance=disabled name=WiFi-conf-2G-CH6 \
qos-classifier=priority security=WiFi-security-profile ssid=\
Isla-Nublar-2G
add channel=2GHZ::CH11 channel.band=2ghz-ax .skip-dfs-channels=10min-cac \
.width=20mhz country=Poland datapath=localBridge datapath.bridge=bridge \
disabled=no mode=ap multicast-enhance=disabled name=WiFi-conf-2G-CH11 \
qos-classifier=priority security=WiFi-security-profile ssid=\
Isla-Nublar-2G
/interface wifi
# operated by CAP A1:B1:C1:E1:F1:G2%bridge, traffic processing on CAP
add configuration=WiFi-conf-2G-CH6 disabled=no name=cap-wifi2 radio-mac=\
A1:B1:C1:E1:F1:G5
add configuration=WiFi-conf-2G-CH11 disabled=no name=cap-wifi4 radio-mac=\
A1:B1:C1:E1:F1:G6
/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 lease-time=1d 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 hw=no interface=ether3
add bridge=bridge comment=defconf interface=ether4
add bridge=bridge comment=defconf interface=ether5
add bridge=bridge comment=defconf interface=ether6
add bridge=bridge comment=defconf interface=ether7
add bridge=bridge comment=defconf interface=ether8
add bridge=bridge comment=defconf interface=sfp-sfpplus1
/ip neighbor discovery-settings
set discover-interface-list=LAN lldp-med-net-policy-vlan=1
/interface list member
add comment=defconf interface=bridge list=LAN
add comment=defconf interface=ether1 list=WAN
/interface ovpn-server server
add mac-address=A1:B1:C1:E1:F1:G7 name=ovpn-server1
/interface wifi cap
set caps-man-addresses=127.0.0.1 certificate=none discovery-interfaces=\
LAN,LAN
/interface wifi capsman
set ca-certificate=auto certificate=auto enabled=yes interfaces=bridge \
package-path="" require-peer-certificate=no upgrade-policy=none
/interface wifi provisioning
add action=create-enabled disabled=yes master-configuration=WiFi-conf-2G
add action=create-enabled disabled=yes master-configuration=WiFi-conf-5G \
name-format=""
add action=create-enabled comment="Radio MAC AP-office-2G" disabled=no \
master-configuration=WiFi-conf-2G-CH6 radio-mac=A1:B1:C1:E1:F1:G5
add action=create-enabled comment="Radio MAC AP-attic-2G" disabled=no \
master-configuration=WiFi-conf-2G-CH11 radio-mac=A1:B1:C1:E1:F1:G6
/ip address
add address=192.168.88.1/24 comment=defconf interface=bridge network=\
192.168.88.0
/ip dhcp-client
add comment=defconf interface=ether1
/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
/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=Europe/Warsaw
/system identity
set name=MikroTik-router
/tool graphing interface
add allow-address=192.168.88.0/24 interface=ether1
add allow-address=192.168.88.0/24 interface=ether2
add allow-address=192.168.88.0/24 interface=ether7
add allow-address=192.168.88.0/24 interface=ether8
/tool graphing resource
add allow-address=192.168.88.0/24
/tool mac-server
set allowed-interface-list=LAN
/tool mac-server mac-winbox
set allowed-interface-list=LAN