Thunderbolt Ethernet not working
I’ve recently come across two MacBook Pro 15” Retina machines with the same issue, namely that they could not connect to the internet when using an Apple Thunderbolt Ethernet adapter and did not show up as connected in System Preferences → Network.
I started by checking that Thunderbolt Ethernet adapter was recognised by the Mac by going to Apple Menu → About This Mac → Thunderbolt which it was.
I tried a variety of suggested fixes which I found both here on the Discussions site and on other forums but none of them worked so I started to try and work it out myself and came up with the following which has so far worked on the Mac running Yosemite and which I hope will also work on the other Mac which is running Sierra.
Remove Thunderbolt Ethernet adapter if attached.
Go to System Preferences/Network. If you have multiple Locations delete all but Automatic.
Delete all the services in the remaining Automatic Location and Restart.
Go to /Library/Preferences/SystemConfiguration and delete NetworkInterfaces.plist
Go to /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/ Replace AppleBCM5701Ethernet.kext with a working version from another Mac System.
Obviously you can’t just drag and drop a file into the System/Library and expect it to work as it won’t have the correct set of permissions so I hunted around for a way to install the file so it would inherit the correct permissions and found the following instructions.
You’ll need to use the Terminal to complete the kext install, this process is the same in all versions of OS X:
1. Copy the .kext file(s) to /System/Library/Extensions/
2. Open the Terminal and type: cd /System/Library/Extensions/
3. Type the following commands at the terminal, replacing the kext name with the one you are installing
sudo chmod -R 755 kextfile.kext
sudo chown -R root:wheel kextfile.kext
4. Now remove the kext caches:
sudo rm -R Extensions.kextcache
sudo rm -R Extensions.mkext
5. Reboot the Mac
Not being overly familiar with Terminal I’m not sure if the instructions above are the best way of doing this so any advice would be welcome. I would also like to know if the claim that these instructions work in all versions of OS X. I suspect that the answer is no as I expect I will have to disable SIP (System Integrity Protection) first.
Although I got a ‘File not found’ type message when I tried to clear the caches in Terminal it seemed to work ok as I didn’t get any error messages about incorrectly installed extensions when I restarted.
Go to System Preferences/Network/Automatic
Connect Thunderbolt Ethernet cable - after a short while a service should appear. if it’s not a Thunderbolt service delete that service then manually add a Thunderbolt one. If the Thunderbolt one does not work remove the adapter and plug it into the other Thunderbolt port - a new service should appear which will work. Delete the non functioning service.
Once the Thunderbolt ethernet is working add other required service and recreate other Locations if required.
I’m not entirely convinced that the above is the correct way going about this although it does at least give me a working ethernet connection. My concern is that working service is Thunderbolt Ethernet and not a Thunderbolt Bridge service. If I click on System Preferences → Network → Thunderbolt Bridge → Advanced both Thunderbolt ports show up as inactive even though I have a working ethernet connection via the Thunderbolt Ethernet service. My assumption is that the Thunderbolt Ethernet service is something that has been imported from a system on a previous Mac which had only one Thunderbolt port unlike these Macs which have two and I’m slightly concerned that having an outdated service running may be storing up problems for the future.
Ideally I’d like to know if I’m worrying unnecessarily and if anyone can advise if the Terminal installation of the extension is the correct way to perform the install and also if anyone can suggest how to get the Thunderbolt Bridge service working rather than the Thunderbolt Ethernet service.