The problem is simple: After waking the MacBook (Pro, mid-2015) from sleep, the Wi-Fi stays disconnected until RouterOS says “group key exchange timeout”, at which point it will reassociate and everything is fine (both the MacBook and RouterOS still claim they are connected to each other). Another way to fix it is to turn off Wi-Fi on the MBP and back on, then it will also reassociate and work.
What I have checked so far:
- tcpdump on the Wi-Fi of the MB yields only its own packets plus the multicast packets of a friend’s MBP (same generation). No other traffic is picked up.
- Torch in RouterOS shows packets from MB arriving and replies being sent out (which MBP does not see)
Config RouterOS:
- wireless-cm2 package
- RouterOS 6.33.3
- RB2011-UiAS-2HnD
/interface wireless
set [ find default-name=wlan1 ] adaptive-noise-immunity=ap-and-client-mode \
ampdu-priorities=0,1,2,3,4,5,6,7 antenna-gain=4 band=2ghz-b/g/n \
channel-width=20/40mhz-eC compression=yes country=germany disabled=no \
distance=indoors frequency=2437 frequency-mode=regulatory-domain \
hw-protection-mode=rts-cts mode=ap-bridge multicast-helper=disabled ssid=\
FoxDen wds-default-bridge=br-lan wireless-protocol=802.11 wmm-support=\
enabled wps-mode=push-button-virtual-only
/interface wireless security-profiles
set [ find default=yes ] authentication-types=wpa2-psk eap-methods="" \
group-ciphers=aes-ccm management-protection-key=* mode=\
dynamic-keys unicast-ciphers=aes-ccm wpa-pre-shared-key=* \
wpa2-pre-shared-key=*
Attempted solutions:
- Enable/Disable WMM
- Enable/Disable Multicast Helper
- Change Group Key Update Time (down to 30s, up to 1 hour)
//EDIT
More findings:
-
MBP’s BSSID / channel still correctly reflect the RouterBOARD as the AP
-
Disabling/Enabling TKIP/AESCCM/both does not fix nor break anything
-
Disconnecting from the Wi-Fi gets seen by the RB (disconnected: station leaving)
-
Wi-Fi debug logs show absolutely no useful information at all (attempts to associate, not in local ACL by default accept)
-
Packet Sniffer tool confirms: MBP can send packets, but not receive them (it shows the TCP SYN from MBP, then SYN-ACK from server, then retransmissons of SYN-ACK (no ACK from MBP))
//EDIT2: I think switching from wireless-fp to wireless-cm2 (to get the WMM-PowerSaving aka UAPSD) made the problem worse (or might have actually caused it). Sadly, this is required so the battery of my iPhone doesn’t get drained within a day…
//EDIT3: “Fixed” it by adding a script that turns Wi-Fi off on sleep and on on wakeup (of course this breaks PowerNapping and such things…)