Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Floyd0190

macrumors newbie
Original poster
In our enterprise fleet of macs, we've recently had a number of issues where devices are losing their IPv4 connectivity, and this bounces back and forth until the device is eventually rebooted to restore it.

I'm struggling to identify a common trigger for it. All the users are on their own home networks, and all theiro ther devices work - it's only their mac that loses access. It doesn't appear to be linked to anything common either - for example my device lost connectivity when i tried to load a webpage. For others it happens in the middle of meetings, calls, etc.

I had a look through /var/log/wifi.log and see blocks like this repeating until the device was rebooted:

Code:
Thu Oct 23 10:09:28.827 [airport]/447 @[1202176.257629] (airportProcessCommand.m:1646) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processing IPv4: 'State:/Network/Global/IPv4'
Thu Oct 23 10:09:28.827 [airport]/447 @[1202176.257705] (airportProcessCommand.m:458) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] State:/Network/Global/IPv4
Thu Oct 23 10:09:28.827 [airport]/447 @[1202176.257757] (airportProcessCommand.m:466) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] No valid components format from SCDynamicStore: serviceKey:'State:/Network/Global/IPv4'
Thu Oct 23 10:09:28.827 [airport]/447 @[1202176.257789] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[ 22], @[1202176.232817], took 0.024964
Thu Oct 23 10:09:28.828 [airport]/447 @[1202176.259406] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[  0], @[1202176.258025], took 0.001374
Thu Oct 23 10:09:28.830 [airport]/447 @[1202176.260927] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[  0], @[1202176.259632], took 0.001283
Thu Oct 23 10:09:28.832 [airport]/447 @[1202176.262932] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[  0], @[1202176.261177], took 0.001747
Thu Oct 23 10:09:28.835 [airport]/447 @[1202176.266267] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[  0], @[1202176.263146], took 0.003111
Thu Oct 23 10:09:28.837 [airport]/447 @[1202176.268367] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[  0], @[1202176.266528], took 0.001810
Thu Oct 23 10:09:28.840 [airport]/447 @[1202176.270905] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[  0], @[1202176.268841], took 0.002057
Thu Oct 23 10:09:28.842 [airport]/447 @[1202176.273041] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3fdeb] Processed events, count[  0], @[1202176.271188], took 0.001846
Thu Oct 23 10:09:36.585 [airport]/447 @[1202184.015694] (airportdMain.m:1864) dq:'com.apple.airportd.server.timer.q'/tid[0xa3ff37] Health check alive, checkin@[1202184.015396], fault[0] crash[0] threshold[5 sec], count[226830], gRunLoop: checkin@[1202183.735458] count[250074] last[1202183.735458] max[3.957072] diff[0.279937], faults[0], last faulted @count[0], thresholdExceeded[0]
Thu Oct 23 10:09:37.223 [airport]/447 @[1202184.653608] (airportProcessCommand.m:1640) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] Processing DHCP: 'State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/DHCP'
Thu Oct 23 10:09:37.223 [airport]/447 @[1202184.653973] (airportProcessCommand.m:191) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/DHCP
Thu Oct 23 10:09:37.224 [airport]/447 @[1202184.655094] (airportProcessCommand.m:220) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] DHCP airport_changed = 1, service:61928690-5499-48D9-991D-BB5F837DA5F2
Thu Oct 23 10:09:37.226 [airport]/447 @[1202184.656900] (airportProcessCommand.m:1646) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] Processing IPv4: 'State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/IPv4'
Thu Oct 23 10:09:37.227 [airport]/447 @[1202184.658170] (airportProcessCommand.m:458) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/IPv4
Thu Oct 23 10:09:37.232 [airport]/447 @[1202184.663007] (airportProcessCommand.m:505) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] IPV4 State change for en0
Thu Oct 23 10:09:37.234 [airport]/447 @[1202184.664887] (airportProcessCommand.m:509) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] Invalid IPv4 state dictionary for 'en0'
Thu Oct 23 10:09:37.236 [airport]/447 @[1202184.667293] (airportProcessCommand.m:600) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] ARP offload settings ({
Thu Oct 23 10:09:37.237     "ADDR_LIST" =     (
Thu Oct 23 10:09:37.237         {length = 4, bytes = 0x00000000}
Thu Oct 23 10:09:37.237     );
Thu Oct 23 10:09:37.237     "ROUTER_IP_ADDR" = {length = 4, bytes = 0x00000000};
Thu Oct 23 10:09:37.237     "ROUTER_MAC_ADDR" = {length = 6, bytes = 0x000000000000};
Thu Oct 23 10:09:37.237 })
Thu Oct 23 10:09:37.237 [airport]/447 @[1202184.668442] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff23] Processed events, count[  2], @[1202184.653457], took 0.014963
Thu Oct 23 10:09:37.302 [airport]/447 @[1202184.732958] (airportProcessCommand.m:1646) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff78] Processing IPv4: 'State:/Network/Global/IPv4'
Thu Oct 23 10:09:37.302 [airport]/447 @[1202184.733157] (airportProcessCommand.m:458) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff78] State:/Network/Global/IPv4
Thu Oct 23 10:09:37.302 [airport]/447 @[1202184.733273] (airportProcessCommand.m:466) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff78] No valid components format from SCDynamicStore: serviceKey:'State:/Network/Global/IPv4'
Thu Oct 23 10:09:37.302 [airport]/447 @[1202184.733341] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff78] Processed events, count[  1], @[1202184.732919], took 0.000413
Thu Oct 23 10:09:48.870 [airport]/447 @[1202196.301129] (airportProcessCommand.m:1728) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff75] Processed events, count[  0], @[1202196.283573], took 0.017536
Thu Oct 23 10:10:06.642 [airport]/447 @[1202214.072968] (airportdMain.m:1864) dq:'com.apple.airportd.server.timer.q'/tid[0xa3ff78] Health check alive, checkin@[1202214.072850], fault[0] crash[0] threshold[5 sec], count[226860], gRunLoop: checkin@[1202213.735247] count[250104] last[1202213.735247] max[3.957072] diff[0.337602], faults[0], last faulted @count[0], thresholdExceeded[0]
Thu Oct 23 10:10:07.718 [airport]/447 @[1202215.148870] (airportProcessCommand.m:1640) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] Processing DHCP: 'State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/DHCP'
Thu Oct 23 10:10:07.718 [airport]/447 @[1202215.149144] (airportProcessCommand.m:191) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/DHCP
Thu Oct 23 10:10:07.719 [airport]/447 @[1202215.149741] (airportProcessCommand.m:220) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] DHCP airport_changed = 1, service:61928690-5499-48D9-991D-BB5F837DA5F2
Thu Oct 23 10:10:07.720 [airport]/447 @[1202215.151285] (airportProcessCommand.m:1646) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] Processing IPv4: 'State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/IPv4'
Thu Oct 23 10:10:07.720 [airport]/447 @[1202215.151475] (airportProcessCommand.m:458) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] State:/Network/Service/61928690-5499-48D9-991D-BB5F837DA5F2/IPv4
Thu Oct 23 10:10:07.721 [airport]/447 @[1202215.152417] (airportProcessCommand.m:505) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] IPV4 State change for en0
Thu Oct 23 10:10:07.723 [airport]/447 @[1202215.153955] (airportProcessCommand.m:517) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] IP Address: 192.168.1.181
Thu Oct 23 10:10:07.724 [airport]/447 @[1202215.155072] (airportProcessCommand.m:539) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] IP subnet mask: 255.255.255.0
Thu Oct 23 10:10:07.724 [airport]/447 @[1202215.155156] (airportProcessCommand.m:548) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] Router IP Address: 192.168.1.254
Thu Oct 23 10:10:07.724 [airport]/447 @[1202215.155213] (airportProcessCommand.m:557) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] Default Gateway IP Address: 192.168.1.254
Thu Oct 23 10:10:07.724 [airport]/447 @[1202215.155264] (airportProcessCommand.m:566) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] Router MAC Address: 70:97:41:9b:ce:ea
Thu Oct 23 10:10:07.731 [airport]/447 @[1202215.161615] (airportProcessCommand.m:600) dq:'com.apple.airportd.server.command.q'/tid[0xa3ff8a] ARP offload settings ({
Thu Oct 23 10:10:07.731     "ADDR_LIST" =     (
Thu Oct 23 10:10:07.731         {length = 4, bytes = 0xc0a801b5}
Thu Oct 23 10:10:07.731     );
Thu Oct 23 10:10:07.731     "ROUTER_IP_ADDR" = {length = 4, bytes = 0xc0a801fe};
Thu Oct 23 10:10:07.731     "ROUTER_MAC_ADDR" = {length = 6, bytes = 0x7097419bceea};
Thu Oct 23 10:10:07.731 })

The device seems to reprocess it's IPv4 state, something happens that i gets Invalid IPv4 state dictionary for 'en0' then 30 seconds later it goes through this cycle again and gets a valid DHCP config. Rinse-repeat until reboot.

Even for the brief period it has the valid config, it's not able to transit any traffic.


Any one had any similar experiences? We noticed a big uptick in these reports with mac OS 26, though some of our users state it was also happening on 15.7. Nothing has changed config or software-wise in our environment as far as I can tell.

There is a Cisco DNS proxy on the devices, but we've been using it for the last 5 years with no issues and even with that, the devices aren't able to ping out to ip e.g 8.8.8.8 or via a dns name like google.com.
 
I have the same problem with my MacBook on my home network (Unifi DHCP), it's been happening for the better part of the last 6mo. Have you found a solution?. Doesn't happen on any other iOS devices anymore, but it used to happen on my iPad and iPhone. The WLAN has a MAC-Address based ACL, and thus I switch off Private Wi-Fi Address for my home WLAN, and it only happens on my specific home WLAN. It doesn't seem to happen on my Guest and IoT WLAN though, and no family members have reported such issues. The logs I see in wifi.log are nearly identical, but the difference is that I only need to reselect the Wi-Fi network in settings, no need to restart, but it won't automatically reconnect. I used to have a similar problem with my iPad, iPhone, and MacBook when I used to have configuration profiles disabling Private Wi-Fi Address, but since I've removed them, my iPad and iPhone haven't had similar issues.
 
Code:
Mon May  4 17:17:57.231 [airport]/503 @[444845.149462] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6261e6] Processed events, count[  0], @[444845.104603], took 0.044845
Mon May  4 17:17:57.273 [airport]/503 @[444845.191766] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6261e6] Processed events, count[  0], @[444845.150264], took 0.041489
Mon May  4 17:17:57.449 [airport]/503 @[444845.368101] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6261e6] Processed events, count[ 19], @[444845.363747], took 0.004339
Mon May  4 17:17:57.472 [airport]/503 @[444845.390503] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6261e6] Processed events, count[  0], @[444845.368162], took 0.022332
Mon May  4 17:17:57.484 [airport]/503 @[444845.402999] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6261e6] Processed events, count[  0], @[444845.390966], took 0.012016
Mon May  4 17:17:57.498 [airport]/503 @[444845.416436] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6261e6] Processed events, count[  0], @[444845.403480], took 0.012948
Mon May  4 17:17:57.509 [airport]/503 @[444845.428121] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6261e6] Processed events, count[  0], @[444845.416838], took 0.011273
Mon May  4 17:18:00.656 [airport]/503 @[444848.574348] (airportProcessCommand.m:1668) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] Processing DHCP: 'State:/Network/Service/95D9C820-9099-4323-B0DA-1E65C12C8451/DHCP'
Mon May  4 17:18:00.656 [airport]/503 @[444848.574438] (airportProcessCommand.m:191) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] State:/Network/Service/95D9C820-9099-4323-B0DA-1E65C12C8451/DHCP
Mon May  4 17:18:00.657 [airport]/503 @[444848.576096] (airportProcessCommand.m:220) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] DHCP airport_changed = 1, service:95D9C820-9099-4323-B0DA-1E65C12C8451
Mon May  4 17:18:00.661 [airport]/503 @[444848.580012] (airportProcessCommand.m:1674) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] Processing IPv4: 'State:/Network/Service/95D9C820-9099-4323-B0DA-1E65C12C8451/IPv4'
Mon May  4 17:18:00.661 [airport]/503 @[444848.580076] (airportProcessCommand.m:458) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] State:/Network/Service/95D9C820-9099-4323-B0DA-1E65C12C8451/IPv4
Mon May  4 17:18:00.662 [airport]/503 @[444848.580794] (airportProcessCommand.m:505) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] IPV4 State change for en0
Mon May  4 17:18:00.663 [airport]/503 @[444848.581464] (airportProcessCommand.m:509) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] Invalid IPv4 state dictionary for 'en0'
Mon May  4 17:18:00.668 [airport]/503 @[444848.587138] (airportProcessCommand.m:600) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] ARP offload settings ({
Mon May  4 17:18:00.668     "ADDR_LIST" =     (
Mon May  4 17:18:00.669         {length = 4, bytes = 0x00000000}
Mon May  4 17:18:00.669     );
Mon May  4 17:18:00.669     "ROUTER_IP_ADDR" = {length = 4, bytes = 0x00000000};
Mon May  4 17:18:00.669     "ROUTER_MAC_ADDR" = {length = 6, bytes = 0x000000000000};
Mon May  4 17:18:00.669 })
Mon May  4 17:18:00.669 [airport]/503 @[444848.587275] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x62907f] Processed events, count[  2], @[444848.574322], took 0.012946
Mon May  4 17:18:00.678 [airport]/503 @[444848.596360] (airportProcessCommand.m:1674) dq:'com.apple.airportd.server.command.q'/tid[0x628e4b] Processing IPv4: 'State:/Network/Global/IPv4'
Mon May  4 17:18:00.678 [airport]/503 @[444848.596486] (airportProcessCommand.m:458) dq:'com.apple.airportd.server.command.q'/tid[0x628e4b] State:/Network/Global/IPv4
Mon May  4 17:18:00.678 [airport]/503 @[444848.596675] (airportProcessCommand.m:466) dq:'com.apple.airportd.server.command.q'/tid[0x628e4b] No valid components format from SCDynamicStore: serviceKey:'State:/Network/Global/IPv4'
Mon May  4 17:18:00.678 [airport]/503 @[444848.596743] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x628e4b] Processed events, count[  1], @[444848.596340], took 0.000356
Mon May  4 17:18:00.710 [airport]/503 @[444848.628235] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x628e4b] Processed events, count[  0], @[444848.613436], took 0.014777
Mon May  4 17:18:00.808 [airport]/503 @[444848.726243] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x626bd6] Processed events, count[  0], @[444848.714065], took 0.012169
Mon May  4 17:18:02.921 [airport]/503 @[444850.839869] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x62905f] Processed events, count[  0], @[444850.802154], took 0.037705
Mon May  4 17:18:02.937 [airport]/503 @[444850.855593] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x62905f] Processed events, count[ 16], @[444850.855214], took 0.000373
Mon May  4 17:18:02.960 [airport]/503 @[444850.878524] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  3], @[444850.878441], took 0.000077
Mon May  4 17:18:02.960 [airport]/503 @[444850.878862] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  2], @[444850.878819], took 0.000039
Mon May  4 17:18:02.960 [airport]/503 @[444850.879061] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  2], @[444850.879039], took 0.000018
Mon May  4 17:18:02.961 [airport]/503 @[444850.879547] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  1], @[444850.879494], took 0.000040
Mon May  4 17:18:02.962 [airport]/503 @[444850.880743] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  2], @[444850.879823], took 0.000901
Mon May  4 17:18:02.962 [airport]/503 @[444850.880913] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  1], @[444850.880890], took 0.000018
Mon May  4 17:18:02.962 [airport]/503 @[444850.880972] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  2], @[444850.880951], took 0.000017
Mon May  4 17:18:02.963 [airport]/503 @[444850.881311] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e4] Processed events, count[  3], @[444850.881257], took 0.000050
Mon May  4 17:18:03.564 [airport]/503 @[444851.482512] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x62907c] Processed events, count[ 16], @[444851.481608], took 0.000892
Mon May  4 17:18:04.295 [airport]/503 @[444852.213978] (configdIODriverInterface.m:2250) dq:'com.apple.main-thread'/tid[0x115a] driver available (reason=0xe0823805, subreason=0xe0821a0d, flags=0x2), node:isDriverAvailable=1
Mon May  4 17:18:04.319 [airport]/503 @[444852.237733] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291e9] Processed events, count[  0], @[444852.221908], took 0.015809
Mon May  4 17:18:07.216 [airport]/503 @[444855.134536] (CWXPCSubsystem.m:9706) dq:'xpc-subsystem.internal'/tid[0x6291eb] WoW DISABLED (assert=no, pref=yes activity=no, ps=ac, icloud=yes, tcpka=enabled, pno=enabled, lpas=yes)
Mon May  4 17:18:08.586 [airport]/503 @[444856.504421] (configdIODriverInterface.m:2250) dq:'com.apple.main-thread'/tid[0x115a] driver available (reason=0xe0823805, subreason=0xe0821a0d, flags=0x2), node:isDriverAvailable=1
Mon May  4 17:18:08.643 [airport]/503 @[444856.561779] (airportProcessCommand.m:1756) dq:'com.apple.airportd.server.command.q'/tid[0x6291fa] Processed events, count[  0], @[444856.544188], took 0.017565
 
Have you checked the sleep settings? Specifically tcpkeepalive
From Terminal, pmset -g reveals the settings.
 
Is the pool for IP address large enough? And what about DHCP lease time? Maybe too short or too long? I guess 1 week is a good value.
 
1 week can be acceptable if network is small and devices are mostly same in it. In big corporate network you can deplete any pool with too long lease time (especially if it is a wireless network).

A simple fact - if network is unhealthy then changing DHCP lease time will not cure the problem. In wireless network big packet loss/poor signal quality can contribute to DHCP problems as DHCP negotiation packets can get lost in transmission (if DHCP server log shows messages like "offering lease without success" it most probably hints about this exact problem).
 
On the Macs, if under WiFi settings "Private WiFi address" is set to rotating, which I think was the default setting when it first came out, then that would use up the IP address pool even faster - new MAC address gets a new IP?

Since there are a number of suggestions here related to DHCP issues causing this, why not take 1 Mac that seems to regularly show the problem, and temporarily give it a manual IP address outside the address pool - see if the connections go away.
 
Rotating MAC address changes once every 2 weeks -> https://support.apple.com/en-us/102509

For trusted network it is always possible to change the setting to "Fixed" or "Off". Anyways if disabling DHCP seems to fix the problem, then problem might still be elsewhere than on your machine. It can either be related to router/DHCP server or the quality of the connection - TCP protocol has (as name suggests) transmission control mechanism built in it so it can work even with bad connection by retransmitting lost packets. DHCP negotiation is done over broadcast (when acquiring the lease) or unicast (when renewing existing lease) UDP protocol. UDP protocol does not have a mechanism to control packet loss. With typical data streaming (e.g. video streaming) this is less of the problem but DHCP negotiation has only small amount of packets in each negotiation attempt so bad connection can disrupt it.

I am able to remember some periods in last 16 years where wifi connectivity itself has been a problem for some devices but do not remember having problems with DHCP if connection is good and DHCP server does not have issues (misconfiguration, depleted address pool etc.).
 
Last edited:
Have you checked the sleep settings? Specifically tcpkeepalive
From Terminal, pmset -g reveals the settings.
tcpkeepalive is 1, I'm presuming that means on


Is the pool for IP address large enough? And what about DHCP lease time? Maybe too short or too long? I guess 1 week is a good value.
IP Address pool is large enough (DHCP is configured to hand out 192.168.1.50 through to 192.168.1.254). The net mask is 255.255.255.0, and I have about 4 VLANs for family/residents, guests, IoT, and CCTV. This is related to the family/residents WLAN, and we usually don't have more than 50 devices on this VLAN. DHCP lease time is set to the standard Unifi/Ubiquiti DHCP lease time (86400 secs or 24hr)

1 week can be acceptable if network is small and devices are mostly same in it. In big corporate network you can deplete any pool with too long lease time (especially if it is a wireless network).

A simple fact - if network is unhealthy then changing DHCP lease time will not cure the problem. In wireless network big packet loss/poor signal quality can contribute to DHCP problems as DHCP negotiation packets can get lost in transmission (if DHCP server log shows messages like "offering lease without success" it most probably hints about this exact problem).
I haven't seen any DHCP assignment issues in the Unifi syslog, but I might have to SSH onto my gateway and cat the DHCP server logs and see if there's anything in there. I'll consider doing a week's worth of DHCP assignment and see how that goes. The problem is particularly noticeable in a part of my room, but it also happens in the living room where there's about 3 APs with -80dB signal strength or more.

On the Macs, if under WiFi settings "Private WiFi address" is set to rotating, which I think was the default setting when it first came out, then that would use up the IP address pool even faster - new MAC address gets a new IP?

Since there are a number of suggestions here related to DHCP issues causing this, why not take 1 Mac that seems to regularly show the problem, and temporarily give it a manual IP address outside the address pool - see if the connections go away.
I believe this is due to Private Wi-Fi Address, but as I've stated in my original comment, all family members' devices are configured with PWA disabled. The IP address pool is pretty empty ngl.

Rotating MAC address changes once every 2 weeks -> https://support.apple.com/en-us/102509

For trusted network it is always possible to change the setting to "Fixed" or "Off". Anyways if disabling DHCP seems to fix the problem, then problem might still be elsewhere than on your machine. It can either be related to router/DHCP server or the quality of the connection - TCP protocol has (as name suggests) transmission control mechanism built in it so it can work even with bad connection by retransmitting lost packets. DHCP negotiation is done over broadcast (when acquiring the lease) or unicast (when renewing existing lease) UDP protocol. UDP protocol does not have a mechanism to control packet loss. With typical data streaming (e.g. video streaming) this is less of the problem but DHCP negotiation has only small amount of packets in each negotiation attempt so bad connection can disrupt it.

I am able to remember some periods in last 16 years where wifi connectivity itself has been a problem for some devices but do not remember having problems with DHCP if connection is good and DHCP server does not have issues (misconfiguration, depleted address pool etc.).
It happens more often in my room where I am in a blind corner, but even now I have a signal strength of -76dB. And it happens just as much, multiple times a day, in the living room where there are multiple APs available. I don't think it's got to do with DHCP lease times if the lease is 24hr (86400 secs), and it happens more than thrice in the same day.

The annoying thing about Private Wi-Fi Address is that darwin-based devices like to "forget" that PWA is disabled, and randomly turn it on after a week or so, making it so they can't connect any more to our home network where there is a MAC-address-based access control list. Given OPs context, I believe they may have PWA disabled as well, and this is causing a problem for them similar to mine.
1778273886633.png
 
where there is a MAC-address-based access control list. Given OPs context, I believe they may have PWA disabled as well, and this is causing a problem for them similar to mine.
That might be the issue!

For example my Pixel 6 Pro uses by default random MAC addresses. So I suggest forget about these lists. Can also be spoofed.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.