In a recent OSX security update, there was a rather unpleasant bug. It unfortunately stopped the ethernet port on most Macs from working.
How did it happen?
It appears that a recent security update: '031-51913 Incompatible Kernel Extension Configuration Data 3.28.1' Blacklists the BCM5701 driver. What it essentially means is that the update doesn't allow the hardware driver for the ethernet port on most macs to run.
What can you do about it?
Apple has pulled that update from their servers as soon as they realised, but some of you may have been affected. Apple have updated the Kernel to version 3.28.2 but if your only connection to the internet is through Ethernet it wont have updated automatically so a quick way to get it back and running is to:
- Boot into OSX recovery mode by holding down cmd + R as you boot
- Then restore the following folder from a time machine backup: /System/Library/Extensions/AppleKextExcludeList.kext
This will mean next time the Kernel is updated it will go straight to the newest one skipping the one that caused the issues.
If your ethernet still isn't working, you can double check which version of the Kernel you are using by:
- Option-click the apple menu and go to system preferences.
- In the left-hand column click software and select installations.
- Find 'Incompatible Kernel Extension Configuration Data'
- If you see version 3.28.1 you still have the faulty kernel. If you see version 3.28.2 you have the updated kernel.
If you have the faulty version and you still have Wifi connection you can make it update by using a little bit of terminal code:
- Find Terminal in the Utilities folder in applications.
- Copy and paste the following command into terminal:sudo softwareupdate --background
- Press enter and type in an administrator password when it asks for it. (It won't show up each character as you type it in)
- Then restart your mac.
This should resolve your issue. If you don't have Wifi access, Apple have released a knowledge article with instructions on how to sort out the problem but it is a bit more involved.
When doing anything in terminal please approach with caution as small changes in commands can cause big problems.