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 Top-ranking reply

Posted on Mar 28, 2021 12:02 PM

Yes, turning on Wifi only does work. However, this isn't workable for me. I have a much faster and more reliable ethernet connection, so prefer that for every reason someone would want this. I also require Wifi to be turned on for location services to work properly. Therefore, I need them both.


This worked prior to Big Sur; I just want it to work again.


As I said, I resolved my issue by switching to a different ethernet adapter that is connected via a Thunderbolt bridge vs. USB-C. With this interface, I'm able to use both ethernet and wifi together without any issue.

Similar questions

209 replies

Jun 7, 2021 2:57 PM in response to mr_ggg

Forgot to mention, when en0 was dead, the restart_en0.log had this contents:


PING 192.168.1.1 (192.168.1.1): 56 data bytes


--- 192.168.1.1 ping statistics ---


1 packets transmitted, 0 packets received, 100.0% packet loss


****

After resetting en0 manually, I get this :


PING 192.168.1.1 (192.168.1.1): 56 data bytes


64 bytes from 192.168.1.1: icmp_seq=0 ttl=64 time=0.379 ms


--- 192.168.1.1 ping statistics ---


1 packets transmitted, 1 packets received, 0.0% packet loss


round-trip min/avg/max/stddev = 0.379/0.379/0.379/0.000 ms


en0 alive

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


Jul 28, 2021 10:53 AM in response to Zorba_le_grec

I can’t say for sure but I have never experienced it in 11.4.

In 11.0.1 and then 11.2.3 I had this problem, so much so that I didn’t use Ethernet for months. After updating directly from 11.2.3 to 11.4 I one day decided to give it another shot. So far, several days and many hours per day, including some Zoom sessions where I used to lose connection, and it has not failed.

Aug 5, 2021 12:42 PM in response to Chasvero

I suspect this is what I've been running into. In particular I find accessing an NFSv4 share will frequently hose the interface (TCP timeouts) until it's replugged (or put through an up/down cycle). This isn't specific to a network interface: it happens with the built-in wired, wireless, even a third-party USB Ethernet adapter.


This seems to have started recently -- maybe 11.5.1 but I'm not sure. Very odd behaviour. Makes me suspect a kernel bug.

Aug 5, 2021 1:11 PM in response to drmhv

Seeing that no solution was permanent I recently took the drastic measure of fully formatting and re-installing my MBP M1. I did no restore nor recovered anything from Time machine. Just documents needed and installed software seperatly.


For the past 3 weeks I had no issues nor internet dropping.


Everything is working as expected.


If anythings changes I will get back.

Aug 7, 2021 2:46 PM in response to drmhv

Hi drmhv!

The two brandnew M1 iMacs didn't work on the Ethernet network from the beginning unless switching them to jumbo frames. The M1 mini only worked for maybe 30 minutes with normal MTU settings. When I enabled Jumbo frames it ran for some hours and then dropped the network connection again.


As a workaround we used an external USB-C ethernet adapter on the mac mini. This at least functioned for about 1-2 days but then showed the same symptoms as the built in ethernet port. Randomly, when the mini mac's ethernet connection stops working, the complete network crashes and the router needs to be restarted to get everything up again. All this is only on machines running Big Sur and this network environment worked without any problem 24/7 for more than 3 years before a Big Sur machine entered the Network.


We tried everything. We exchanged the complete network hardware and replaced it with new business grade CISCO switches. We changed the router to other models and brands twice. Same effect. We exchanged all cables and tested each connection.


This bogus MUST be caused by Big Sur, because all macs still running on Catalina still work perfect and all new M1 macs don't work at all with only the out of the box software pre-installed. We never had any problem before Big Sur.


Of course we have tried every standard procedure like PRAM and SMC reset, delete network settings and all tricks we know as long time mac power users. No luck and no solution in sight. We already thought about changing to Windows, but this definitely would make things much worse. The main thing is, that we need new computers and we can't use Catalina with all the new M1 machines.


Any idea?



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.

Jan 12, 2022 12:35 AM in response to mr_ggg

I have the same problem of dropping Ethernet connection. I have a good internet connection with fiber and i loose my connection when i want to download big file in gb/s. I have no problem with a switch in 100mb/s. I'm connected with a CalDigit and an usb-c/ethernet adaptator but it's the same problem. My Mac is a MacBook Pro 2018. If someone has a good solution... I've tried the script but my connection isn't the same everytime - sometime en0 is the Caldigit, sometime en0 is the wifi or a bridge connection... and it's not a persistent solution just a bypass.

This thread has been closed by the system or the community team. You may vote for any posts you find helpful, or search the Community for additional answers.

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 Account.