11

My 2021 M1 Pro MacBook Pro drops wifi periodically, it does this on all networks I’ve tried, including at the Apple Store. Sometimes it automatically reconnects, sometimes it doesn’t.

Turning off bluetooth significantly reduces the frequency of the problem but doesn’t eradicate it. Obviously I’d like a solution where I can have bluetooth on.

How can I diagnose this further?

Here's some other misc notes:

  • Apple sent the machine away. As far as Apple's support team is concerned the hardware is issue free.
  • I've tried on every macOS apart from 12.4, I'm going to try that now
  • When wifi and bluetooth are both on, they will both drop at the same time. My headphones will lose audio for a second and I see the wifi reconnecting
  • iPad and multiple iPhones all fine on my home network
  • M1 MacBook Air is fine on my home network
  • Tried soft and hard reinstalls of macOS
  • Renewed DHCP lease
  • Created a new network location
  • When plugged into wired ethernet the wifi still drops
  • I’ve tried turning off 2.4g on my home wifi router

I've run the wireless diagnostics tool. It often detects the drop and generates an output file. The Apple Genius said this would "be something for engineering".

I'm not sure if there's anything I can do with this file?

Can anyone advise how I can diagnose this further and isolate the offending software?


I've tried

sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport prefs JoinMode=Strongest JoinModeFallback=Prompt DisconnectOnLogout=NO AllowLegacyNetworks=YES

As suggested here https://forums.macrumors.com/threads/mbp-m1-wifi-dropouts.2269274/page-2

It didn't help.


Output of tail -f /var/log/wifi.log. There was at least one disconnect in the first few seconds of running the command.

Sun Jul  3 11:48:51.836 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:48:52.009 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:48:52.022 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:48:52.502 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:48:52.556 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:48:52.567 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:07.027 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:18.287 Apple80211Set:10289 Processing APPLE80211_IOC_ROAM
Sun Jul  3 11:49:18.287 Apple80211Set:10303 Processing APPLE80211_IOC_ROAM dataRef:0x155c50f00
Sun Jul  3 11:49:18.288 Apple80211Set:10324 CFType is CFData
Sun Jul  3 11:49:30.665 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.669 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.670 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.693 <airport[184]> _handleLinkEvent: Unable to process link event, op mode request returned 54 (Connection reset by peer)
Sun Jul  3 11:49:30.693 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:30.697 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.697 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.699 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.706 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.708 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.709 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.709 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.710 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.710 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.711 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:30.711 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:31.468 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:31.641 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:33.550 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:33.551 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:33.799 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:33.800 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:33.807 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:33.907 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:33.908 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:33.936 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:33.941 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:34.034 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:34.041 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:35.423 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:35.423 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:49.008 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.011 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.013 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.015 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.026 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.027 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.028 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.030 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.031 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.032 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.032 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.033 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.037 <airport[184]> _handleLinkEvent: Unable to process link event, op mode request returned 54 (Connection reset by peer)
Sun Jul  3 11:49:49.038 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:49.039 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.043 Apple80211SetProperty: ioctl failed: bsdErr=-1, errno=16
Sun Jul  3 11:49:49.820 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:49.978 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:51.904 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:51.913 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:51.914 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:52.007 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:52.008 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:52.049 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:52.050 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:52.112 <airport[184]> ERROR: sharingd (499) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:52.124 <airport[184]> ERROR: rapportd (455) is not entitled for com.apple.wifi.join_history, will not allow request
Sun Jul  3 11:49:52.260 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:52.284 <airport[184]> systemWokenByWiFi: System Wake Reason not found
Sun Jul  3 11:49:52.583 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period
Sun Jul  3 11:49:52.583 <airport[184]> -[dpsManager handleDPSEventWithType:eventInfo:networkName:BSSID:channelInfo:isCriticalAppInUse:]_block_invoke: Ignoring non-dps events while not in monitoring period/ Ignoring DPS event while in monitoring period

lewis
  • 170
  • Can you exclude this is a not a hardware issue? Did you try the Wireless Diagnostics.app included with macOS. Open Windows > Performance for instance. – n1000 Jun 03 '22 at 11:22
  • @n1000 A genius ran a hardware test which said everything was fine ‍♂️ – lewis Jun 04 '22 at 09:58
  • can you kindly provide part of the wifi.log -> tail -f /var/log/wifi.log ? Can you check and set if available the WIFI encryption from WPA3 to WPA2 in your router? – slartibartfast Jul 02 '22 at 10:45
  • 1
    @lewis A hardware test is not perfect - it might still be the hardware that is flawed. I would start the computer up in Recovery mode, so it is running a known-good version of macOS. Is the problem still there? - Take it to the Apple Store, and demonstrate that the problem is there with their WiFi network on a known-good version of macOS. Then the problem is Apple's - no matter if it is hardware or software (but it is probably hardware). – jksoegaard Jul 02 '22 at 11:05
  • @jksoegaard I've taken the laptop to apple twice, the second time they sent it away and sent it back with a diagnosis of no issue. I'll try recovery mode tho, thank you. – lewis Jul 03 '22 at 09:47
  • @slartibartfast done, thank you. (Great name by the way!) – lewis Jul 03 '22 at 09:54
  • can you check wether you can change from WPA3 (or turn WPA3 off) to WPA2 (AES; or something like “WPA3/WPA2 transitional”) in your router? – slartibartfast Jul 03 '22 at 10:51
  • @slartibartfast I'm on holiday this week, so I don't have control of the router, but it seems to be set to WPA2 already: https://share.cleanshot.com/yUKIi0 – lewis Jul 03 '22 at 12:54
  • Coincidentally I just resolved a very similar issue in one of the conference rooms at my work place. Try to check wether there is a firmware update for your router, at least restart it - if there is an option to switch to WPA3/WPA2 transitional change to it. Changing the MTU size to 1453 helped (System Preferences>Network>Advanced>Configure>Manually). Additionally you can check wether turning off Private Relay on your Mac improves the stability of the connection. – slartibartfast Jul 04 '22 at 08:20
  • 1
    @slartibartfast I turned off Private Relay. I also changed the MTU size and saved it and then immediately reverted it because I thought it better to check one thing at a time. Since then I've not dropped wifi once! I even turned Private relay back on. I suspect that maybe just saving my network preferences cleared something out ‍♂️ either way if you write an answer I'll give you the bounty – lewis Jul 07 '22 at 14:36
  • let’s see how it goes for you for another day. If there will be no problem, I write an answer. – slartibartfast Jul 08 '22 at 12:35

3 Answers3

9

Besides procedures suggested by Apple when running into Wifi problems some additional measures can solve issues for newer versions of MacOS and/or Apple hardware (from here on just “Macs”):

There is empirical evidence that newer Macs do not play nicely with the implementation of WPA3 in some routers. Check wether there is a firmware update for your router and install it, at least restart. WPA3 should be configured on your router to grant access to a WLAN, but if you observe connectivity problems, switch if possible to WPA3/WPA2 transitional (or similiar name).

Consistency of your Wifi connection can be impacted by the default MTU size used by Macs. Changing the MTU size to 1453 (via System Preferences>Network>Advanced>Configure>Manually) usually solves this issue.

Additionally turning off Private Relay on some Macs improves the stability of the connection.

Lastly it seems to help to overwrite the airport preferences and network settings. You can achieve that by setting the MTU or turning off Private Relay,etc. Or you just delete a related plist(s) and force the OS that way to write/save them again according to your adjustments in the System Preferences.

  • TBH I’m not sure whether do mark this accepted because I’m not 100% what part fixed it. But I am confident that my issue is now resolved. This is something a genius was not able to fix even after sending the laptop away for a week – lewis Jul 09 '22 at 12:42
  • 1
    Changing the MTU size to 1453 worked for me. How did you discover it? – user1256923 Aug 31 '22 at 19:22
  • I recently started getting drops again. I checked the MTU and it had gone back to the default setting. Changing it back to 1453, and will report back if it doesn't help. – lewis Sep 12 '22 at 20:53
  • I am having the same problem, I changed the MTU size to1453 and report back in a couple of week whether the wifi dropped or not. – Jonathan Dunne Jan 08 '23 at 18:25
  • Regarding optimal MTU size i found an interesting article here =>https://homenetworkgeek.com/mtu-size/ While windows based you can use the ping -s <MTU_SIZE> to deterine the optimal packet size on your mac – Jonathan Dunne Jan 08 '23 at 19:17
  • Note that on my Mac 1,436 is now the highest I can set the MTU to. – lewis Jan 16 '24 at 16:36
  • I've removed the green check as the solutions presented here aren't working for me. And since Sonoma (I think) I can't set the MTU to the setting prescribed here.

    I'm not sure whether it is an issue with my Mac in particular, or some software I am running. If anyone has suggestions on debugging I'd appreciate it.

    – lewis Jan 26 '24 at 09:52
1

Had the same wifi dropping issue for a while. Found this thread, turned off Private Relay, and so far the issue has disappeared. Using a MBP 14" M1 chip

0

I have figured out the solution but I am not sure how it works...there is a bug with macOS itself but we are supposed to disable and enable AWDL (Apple Wireless Direct Link) Every 10 minutes

I have written a simple applescript export it to application while checking "Stay open after run handler" option...then put the application in the dock and open it everytime you switch on your computer...

Here's the script

on run {}
    idle {}
end run

on open {} idle {} end open

on idle {}

set shellCommand to do shell script &quot;echo yourmacpasswordgoeshere | sudo -S ifconfig awdl0 down&quot;
set shellCommand to do shell script &quot;echo yourmacpasswordgoeshere | sudo -S ifconfig awdl0 up&quot;
return 600

end idle

on quit {} set quitApplication to display dialog "Are you sure you want to quit the application googoogoo ?" buttons {"No", "Yes"} default button "Yes" if button returned of quitApplication is "Yes" then continue quit end if end quit

I have made a simple shortcut https://www.icloud.com/shortcuts/51c894aa8870401698a1b4414d234bcb