Apple Event: May 7th at 7 am PT

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

Dropping Ethernet Connection on Big Sur

I have a 2020 27" iMac running Big Sur 11.1. I have hard-wired ethernet from my modem to my iMac with a gigabit connection AND also a Wi-Fi connection as well. Ever since I downloaded Big Sur I lose connection to the internet 1-3 times per day for no apparent reason. I can still access the internet on other devices, so it's not that. It's just the iMac that loses the connection. If I restart the iMac everything is fine until a few hours later when it will lose connection again for no reason. Any ideas? Thanks!

Posted on Dec 17, 2020 11:48 AM

Reply
Question marked as Best reply

Posted on Jan 20, 2021 8:09 PM

I had the same problem with my 2020 27' iMac ever since I upgraded to Big Sur.


However it has been good now ever since I did the following change:

Go to "Network" setup and create a new "location" for the internet.

Go to "Energy Saver" setup and only tick the following options:


Hope it can help your iMac as well.

Apple really should look into this issue ASAP. It is very annoying and frustrating for users...


Similar questions

209 replies
Question marked as Best reply

Jan 20, 2021 8:09 PM in response to Murphy5156

I had the same problem with my 2020 27' iMac ever since I upgraded to Big Sur.


However it has been good now ever since I did the following change:

Go to "Network" setup and create a new "location" for the internet.

Go to "Energy Saver" setup and only tick the following options:


Hope it can help your iMac as well.

Apple really should look into this issue ASAP. It is very annoying and frustrating for users...


Dec 25, 2020 3:47 PM in response to Murphy5156

I have a 2016 Mac Pro 15 inch. I've been running Mojave on this Mac for years just fine. Today I upgraded to Big Sur 11.1. I have had the computer connected via ethernet for years with no connection problems whatsoever.


As soon as I began using the machine with Big Sur installed I was getting a "You Are Not Connected to The Internet" message. Nothing had changed with my ethernet connections. I could see that it was trying to connect via WiFi by seeing the WiFi icon attempt to activate. But I do not normally have WiFi on.


Then I took the ethernet cable, pulled it out of the Mac, and inserted it back into the Mac. Within a couple of seconds, internet resumed on the machine again. Now, I notice that when ever I turn the Mac off, I am faced with the same problem which is fixed by the cable removal and insertion. This is something I have never had to deal with before. This is something I would recommend Apple review for the next update.

Dec 3, 2021 3:04 PM in response to Dulcamara1p

Dulcamara1p wrote:

I am having the same problem. Connection drops every 1--3 days since installing Big Sur 1.1. The drop only happens overnight.

Do you just sleep the computer overnight? If so try shutting down and reboot in the morning. That has the added benefit of clearing out temporary system and application cache and swap files which will help with performance.


Also give this a try: boot into Safe Mode according to How to use safe mode on your Mac and test to see if the problem persists. Reboot normally and test again.


NOTE: Safe Mode boot can take up to 3 - 5 minutes as it's doing the following; 

• Verifies your startup disk and attempts to repair directory issues, if needed

• Loads only required kernel extensions (prevents 3rd party kernel/extensions from loading)

• Prevents Startup Items and Login Items from opening automatically

• Disables user-installed fonts 

• Deletes font caches, kernel cache, and other system cache files


Dec 20, 2020 1:13 PM in response to Murphy5156

Hey there, Murphy5156.


We understand that your iMac will lost internet connection around 1 to 3 times a day, while other devices are working on your internet network without any issues.


To confirm, is the Ethernet cable (and any adapters if applicable) plugged firmly into the iMac and the modem/router? If that isn't the case, it can cause issues with connectivity. Also, if possible, you stated you have Wi-Fi. Does this issue happen if you use Wi-Fi only with your iMac? While testing that, you'll want to unplug the Ethernet cable temporarily.


Does this also happen in a new administrator user? This article shows how: Set up users, guests, and groups on Mac This can help isolate this issue further, along with testing in safe mode: How to use safe mode on your Mac


Take care!

Mar 3, 2021 7:36 AM in response to daniel Azuelos

Daniel, what you requested is below. Today was the very first day the problem did not occur. The biggest change to this iMac 5k recently was that I turned on Time Machine for the very first time. Hope this helps.


The default interactive shell is now zsh.

To update your account to use zsh, please run `chsh -s /bin/zsh`.

For more details, please visit https://support.apple.com/kb/HT208050.

richardsimac5k:~ rkemp$ ifconfig -a

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

options=1203<RXCSUM,TXCSUM,TXSTATUS,SW_TIMESTAMP>

inet 127.0.0.1 netmask 0xff000000 

inet6 ::1 prefixlen 128 

inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1 

nd6 options=201<PERFORMNUD,DAD>

gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280

stf0: flags=0<> mtu 1280

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=50b<RXCSUM,TXCSUM,VLAN_HWTAGGING,AV,CHANNEL_IO>

ether ac:87:a3:0f:fa:40 

inet6 fe80::1095:7fa3:d4c6:3fde%en0 prefixlen 64 secured scopeid 0x4 

inet 192.168.86.62 netmask 0xffffff00 broadcast 192.168.86.255

nd6 options=201<PERFORMNUD,DAD>

media: autoselect (1000baseT <full-duplex,flow-control,energy-efficient-ethernet>)

status: active

en1: flags=8823<UP,BROADCAST,SMART,SIMPLEX,MULTICAST> mtu 1500

options=400<CHANNEL_IO>

ether b8:09:8a:bc:95:9b 

nd6 options=201<PERFORMNUD,DAD>

media: autoselect (<unknown type>)

status: inactive

en2: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500

options=460<TSO4,TSO6,CHANNEL_IO>

ether 82:11:00:e2:d4:80 

media: autoselect <full-duplex>

status: inactive

en3: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500

options=460<TSO4,TSO6,CHANNEL_IO>

ether 82:11:00:e2:d4:81 

media: autoselect <full-duplex>

status: inactive

bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=63<RXCSUM,TXCSUM,TSO4,TSO6>

ether 82:11:00:e2:d4:80 

Configuration:

id 0:0:0:0:0:0 priority 0 hellotime 0 fwddelay 0

maxage 0 holdcnt 0 proto stp maxaddr 100 timeout 1200

root id 0:0:0:0:0:0 priority 0 ifcost 0 port 0

ipfilter disabled flags 0x0

member: en2 flags=3<LEARNING,DISCOVER>

    ifmaxaddr 0 port 6 priority 0 path cost 0

member: en3 flags=3<LEARNING,DISCOVER>

    ifmaxaddr 0 port 7 priority 0 path cost 0

nd6 options=201<PERFORMNUD,DAD>

media: <unknown type>

status: inactive

p2p0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 2304

options=400<CHANNEL_IO>

ether 0a:09:8a:bc:95:9b 

media: autoselect

status: inactive

awdl0: flags=8902<BROADCAST,PROMISC,SIMPLEX,MULTICAST> mtu 1484

options=400<CHANNEL_IO>

ether 5a:fd:57:b2:fc:84 

nd6 options=201<PERFORMNUD,DAD>

media: autoselect

status: inactive

llw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500

options=400<CHANNEL_IO>

ether 5a:fd:57:b2:fc:84 

utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380

inet6 fe80::d8b3:e946:1f9:1994%utun0 prefixlen 64 scopeid 0xc 

nd6 options=201<PERFORMNUD,DAD>

utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000

inet6 fe80::4cf8:8e5:4ab1:2f7%utun1 prefixlen 64 scopeid 0xd 

nd6 options=201<PERFORMNUD,DAD>

utun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380

inet6 fe80::b93a:c452:52c7:56a7%utun2 prefixlen 64 scopeid 0xe 

nd6 options=201<PERFORMNUD,DAD>

utun3: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1380

inet6 fe80::b992:1abd:9296:5b3b%utun3 prefixlen 64 scopeid 0xf 

nd6 options=201<PERFORMNUD,DAD>

richardsimac5k:~ rkemp$ 


Apr 21, 2021 9:41 AM in response to mr_ggg

So that's interesting. For those w/ built-in ethernet, are they registered as realtek adapters? If you open console and look at error reports, is there an associated entry? I happened to time sync mine because I have a sshuttle tunnel in the background that times out and outputs a timestamp of when that happens. In my case, I see the com.apple.DriverKit.AppleUserECM.dext panic and my ethernet adapter gets a private IP address and never recovers unless I disconnect and reconnect the dock.



Apr 21, 2021 2:28 PM in response to Murphy5156

Thanks you, @diegoicosta, because based on your post, I also decided to buy a different docking station and it solved my connection problems. I went for the CalDigit TS3 Plus Dock and bought it at the Apple Store. Instead of USB-C, it uses a Thunderbolt 3 connection with the MacBook which some on this forum indicated would be one of the keys to resolving the issue. Well, apparently it does because all network tests run at full speed now all of the time, no more drops to 90Mbps. I can sleep and wake my MacBook and on it goes at top-speed (in my case 512Mbps external internet (speedtest) and 1Gbps internal network to NAS. I have tested the speed many different times over the multiple days since I installed the dock and the results are at max. speed and 100% stable and consistent at all times. Yay!


BTW, for business travels I also bought the portable version CalDigit Thunderbolt 3 Mini Dock. Did less testing but it uses the same Thunderbolt technology and all the tests I did run with it were the same as with the TS3 Plus: exact same speed and stability. Great product.


For those of you who want to buy the dock also, let me share my experience with the monitor. It is immediately recognised and runs plug & play (no additional software required) - but if your monitor is connected with HDMI instead of DisplayPort, make sure you have an ACTIVE DP-to-HDMI adapter or cable. I had an old passive DP-to-HDMI cable at hand so I tried it first but that didn’t work, you really do need the active version. I got the CalDigit one (link) and it solved the problem.

Apr 28, 2021 9:55 AM in response to jjfromn

Noticed some updates on this forum today which triggered me to provide a further update on my experiences since I started using the CalDigit TS3 Plus Dock. With now one more week using this Thunderbolt solution. I can confidently say that I have tested all scenarios repeatedly now: Extended very long online hours, Sleep and wake the MacBook, Shutdown and startup or Restart it and the results remain rock solid: stable and consistent top speeds to my NAS and external internet. I also upgraded MacOS Big Sur to 11.3, no issues. Extremely happy and for me the case is closed.

I appreciate that this topic also covers other scenarios (MacBooks with built-in ethernet) and I cannot comment on that but for those who visit this forum with a similar scenario as mine (MacBook Air M1, Big Sur, docking station for Ethernet and other HW connections), the solution is clear now.

Mar 31, 2021 1:05 AM in response to mr_ggg

@mr_ggg,

I agree with you, the extra interfaces aren't the core of a problem,

but:

  • they highly complexify the real problem analysis which is here on one Ethernet interface alone,
  • they are fully normal on a Mac which is playing the role of a router or a firewall in a network,
  • their growing number might be the signature of a real bug in software managment of interfaces upon switching

    one on/off/on.


@everyone,

if you want to help focus on this problem and help everyone, I suggest to make a specific configuration

with only the problematic Ethernet connection ( either USB or Thunderbolt, but not both in the same configuration ) activated and on.

Jun 7, 2021 5:52 PM in response to mr_ggg

@mr_ggg sorry for the late reply.


Your ~/bin/restart_en0.sh script (found under home directory, bin subdir) should look like the script 1 below. The script has a few chained conditionals and works like this:


  • get the IP address of the gateway by checking the route to the Google DNS server 8.8.8.8
  • send a ping to the gateway via en0, and
    • if it succeeds (&&), put the message "en0 alive" into standard output
    • if it fails (||) then start a subshell
      • take down en0
      • ___if successful, bring up en0
      • ______if successful, put the message "restarted" into restarted_en0.log
  • redirect all standard output to restart_en0.log


There are two things that may have gone wrong:

  1. For some reason your ifconfig command isn't reachable at its standard location /sbin/ifconfig. Please confirm that you can run this command and it's not complaining about 'no such file or directory'
  2. For some reason the long lines in the script (version1) got somehow truncated or broken in the wrong place during your copy-paste. The install script works well on my machine but may be stumbling on yours. You may want to paste version 2 below into your ~/bin/restart_en0.sh:


Script version1 with long lines

#!/bin/bash
(
gw=`/sbin/route -n get 8.8.4.4 | /usr/bin/grep gateway | /usr/bin/awk '{print $2}'`
/sbin/ping -c 1 -t 5 -b en0 $gw && /bin/echo en0 alive || ( /sbin/ifconfig en0 down && /sbin/ifconfig en0 up && echo restarted > /tmp/restarted_en0.log )
) &> /tmp/restart_en0.log


Script version 2 with escaped short lines

#!/bin/bash
(
gw=`/sbin/route -n get 8.8.4.4 \
  | /usr/bin/grep gateway \
  | /usr/bin/awk '{print $2}'`
/sbin/ping -c 1 -t 5 -b en0 $gw \
  && /bin/echo en0 alive \
  || ( /sbin/ifconfig en0 down \
      && /sbin/ifconfig en0 up \
         && echo restarted > /tmp/restarted_en0.log 
     )
) &> /tmp/restart_en0.log


Jun 7, 2021 8:43 PM in response to Murphy5156

The script below is an update to the workaround provided on page 6. It is a single-script installer for a watchdog launchdaemon that will probe your ethernet interface en0 every 45 seconds and restart it if the network gateway can't be pinged through this interface. This will recover connectivity if the ethernet interface should freeze. An uninstaller utility will be automatically created.


To deploy:

1. Open Terminal (Applications - Utilities - Terminal.app)

2. Select and copy the content of the first script below

3. Enter the following command in Terminal (you can copy and paste from here):

cat > install_en0_watchdog_service.sh

4. Paste in the terminal window the just copied script

5. Press control-D (press and hold the key control, then briefly press D and release both keys)

6. Enter the following command in Terminal (you can copy and paste from here):

chmod 755 install_en0_watchdog_service.sh

7. Execute the installation script by entering the following command in Terminal (you can copy and paste from here):

./install_en0_watchdog_service.sh

You will most likely be prompted for your user password (once every 10 minutes per each Terminal session); this is the sudo command which is required to elevate permissions to be able to install the launchdaemon with system permissions.

8. You are done!


How to know if it works:

  1. A directory named bin is created under your user profile folder (if it wasn't there already)
  2. A new script called restart_en0.sh will appear under this directory, as will an uninstallation utility named uninstall_en0_watchdog_service.sh.
  3. In the system's /tmp directory a file named restart_en0.log will be present and timestamped to the last time the watchdog was automatically run
  4. A file named restarted_en0.log will appear at that same location if the ethernet interface had to be restarted, with its timestamp indicating when that event had occurred.


How to uninstall:

1. Open the Terminal app

2. Run the uninstall utility by entering the command (you can copy and paste from here):

bin/uninstall_en0_watchdog_service.sh 

You will most likely be prompted for your user password (once every 10 minutes per each Terminal session); this is the sudo command which is required to elevate permissions to be able to uninstall a launchdaemon that has system permissions.

3. Delete the leftover install and uninstall scripts from Finder.

4. You are done!


Begin selection with the # symbol below:

#!/bin/bash
#### creating watchdog script
script="/Users/`whoami`/bin/restart_en0.sh"
mkdir "/Users/`whoami`/bin" 2> /dev/null
sudo chown `whoami` $script 2> /dev/null
cat <<TAG2 > $script
#!/bin/bash
(
gw=\`/sbin/route -n get 8.8.4.4 		\\
    | /usr/bin/grep gateway 		\\
    | /usr/bin/awk '{print \$2}'\`
/sbin/ping -c 1 -t 5 -b en0 \$gw 	\\
    && /bin/echo en0 alive 		\\
    || (
	/sbin/ifconfig en0 down && 	\\
	    /sbin/ifconfig en0 up && 	\\
		echo restarted > /tmp/restarted_en0.log
       )
) &> /tmp/restart_en0.log
TAG2
chmod 755 $script
sudo chown root:wheel $script

### creating launchdaemon that will run watchdog script every 45 seconds
cat <<TAG1 > com.example.restart_en0.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
  "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.example.restart_en0</string>
    <key>ProgramArguments</key>
    <array>
        <string>$script</string>
    </array>
    <key>StartInterval</key>
    <integer>45</integer>
</dict>
</plist>
TAG1
sudo mv com.example.restart_en0.plist /Library/LaunchDaemons/
sudo chown root:wheel /Library/LaunchDaemons/com.example.restart_en0.plist

### creating uninstall script
script="uninstall_en0_watchdog_service.sh"
cat <<TAG3 > $script
#!/bin/bash
### unloading launchdaemon
sudo launchctl unload /Library/LaunchDaemons/com.example.restart_en0.plist
### deleting launchdaemon
sudo rm /Library/LaunchDaemons/com.example.restart_en0.plist
### deleting watchdog script
sudo rm /Users/`whoami`/bin/restart_en0.sh
TAG3
chmod 755 $script
sudo chown `whoami` $script 2> /dev/null

### (re)starting launchdaemon that was just created
[ -e "/Library/LaunchDaemons/com.example.restart_en0.plist" ] && \
    sudo launchctl unload /Library/LaunchDaemons/com.example.restart_en0.plist
sudo launchctl load /Library/Launchdaemons/com.example.restart_en0.plist

####stop selection above this line


Aug 13, 2021 11:11 AM in response to Wangwang

Thanks, that help me on my light-duty 2014 MacBookPro (macOS 1.4) computer. Fortunately, my 2018 MacBookAir with Touch ID (macOS 11.5.2) never experienced the problem(?) I can only speculate about why those Energy Saver settings work. In the hope that this will help someone else, I'm [posting my situation and results.


  1. 'Prevent computer from sleeping automatically when the display is off'- not what I consider a battery saver setting:
    • I already enabled this setting because Time Machine backup always seems to pause when the screen goes off happens. We would often start a TimeMachine Backup, go off to eat our meal, only to find out 3--45 minutes latter that the progress bar hasn't moved since we left. It happens both on our 2018 MacBook Air with Touch ID and this old MacBook Pro. I could remember a time when that was not a problem on the Mac.
    • macOS Update doesn't seem to have that problem, as I'm downloading Big Sur 11.5.2 as I'm typing this and, while slow, the Progress Bar for 'Preparing macOS....' has definitely moved since 6-7 minutes ago.
  1. The other two settings you enabled are more what I see as Battery Saver settings, except that I almost always have the old MacBook Pro plugged into the A/C when I use it. My only speculation for why these settings work is because the new macOS versions that picked up a lot of iOS capabilities is getting too fat for this old machine and the Ethernet ports gets too starved for power to establish an Ethernet connection with my router. If this is true, I don't know why 2020 iMacs are experiencing the problems. However, this reason does explain why the problem shows up on 2020 iMacs!?



Sep 23, 2021 9:41 AM in response to Murphy5156

Hi All, since this forum has been so helpful in helping me troubleshoot this issue, I thought I'd share my minor success so far on this issue. A couple of my M1's have been stable for two days now.


Things I've tried but failed:

  • latest os 11.6
  • static IP
  • manually input default ethernet settings (advanced > hardware tab)
  • disable avb/eav
  • (Hardcoded ethernet settings on the network switch)


What's working so far:

  • Disabling IPv6


To disable ipv6, do the following:

sudo networksetup -setv6off Ethernet


Good luck all! Please post your results.

Oct 5, 2021 9:54 AM in response to Murphy5156

I have what sounds like the same issue on a 2021 M1 mini. Both hard wired and wifi. I've had apps/chrome tabs just stop working while others keep running. Today for example Jira in Chrome wouldn't load at all. Same URL in Safari was fine. Terminal wouldn't quit or launch (after I force killed it), but mail was fine. I disabled the ethernet port in network settings and everything worked again on Wifi only. Turning ethernet back on, things still worked. Disabled wifi to be 100% ethernet and it was fine. So just the act of resetting the port (probably unplugging cable, disabling port, changing network settings, rebooting the computer etc) seems to reset whatever the software issue is.


This seems to be a new Big Sur issue. I'm on 11.6 and it started within the last couple of weeks.


Behavior with a bad port is terrible. Apple really needs to work on better I/O handling when it encounters a bad USB drive or flaky network port.


My suggestions for now:

  • Go 100% wifi until Apple fixes it
  • Toggle the hardwired port on/off when it goes flaky
  • Don't upgrade to latest Big Sur



Dropping Ethernet Connection on Big Sur

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.