MacBook – How to troubleshoot or reset a Thunderbolt Ethernet adapter

ethernetmacbook proNetworkthunderbolt

It appears my Thunderbolt Ethernet connector has stopped connecting to my router for good today. Over the last few days I had already seen my ethernet connection "crash" multiple times. My machine would simply drop from the network and not be able to get back on without a restart. I assumed there was some odd bug somewhere, maybe triggered by certain network activity, but since I could solve it with a restart, it didn't make me concerned.

Now, when opening the System Preferences under Network I only see the Status: Not Connected message` for the Thunderbolt Ethernet adapter. I am using a MacBook Pro Retina (Early 2013) and an AirPort Time Capsule (in the more recent 802.11ac tower version). I have tried various solutions that one can find online, but none of those worked.

  1. I am sure the Thunderbolt Ethernet adapter and network cables are working fine – when using a MacBook Air everything connects just fine. I also happen to have a second Thunderbolt Ethernet adapter and it displays the exact same issues.

  2. I am more or less convinced that the Thunderbolt Port on the MBP is also working – when checking in System Report > Thunderbolt I can at least see the Thunderbolt Bus and a Thunderbolt to Gigabit Ethernet Adapter, which is listed as Device Connected. I can't be 100% sure of this though, but it appears to recognise me attaching that adapter.

  3. It doesn't matter which one of the two Thunderbolt ports I use, neither of them work.

Is there any good way to try and troubleshoot the Thunderbolt connectivity? Are there any specific settings that I should try to reset?

I had found a suggestion to reset the network settings by [A] deleting this file: /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist, but unfortunately, that didn't work and appeared to have no effect at all. [B]
I have also added a new location and removed old ones from the Networks Preferences Pane inside the System Settings, but nothing changed.

For some reason the TB Ethernet adapter is not being found or recognised inside the System Preferences and no connection is therefore established. Any idea how this could be fixed?

I am now also checking the console output for network related messages and found a few, but don't know what they mean or if they are even remotely relevant:

28/02/2016 11:17:21.128 AM networkd[223]: -[NETPowerManager setupPowerPolicyTable] created power policy table from defaults with 5 timeslots
28/02/2016 11:17:21.131 AM networkd[223]: -[NETInterfaceManager updateInterfaces] nwi_state_copy() returned NULL
28/02/2016 11:17:21.134 AM networkd[223]: nw_nat64_post_new_ifstate successfully changed NAT64 ifstate from 0x0 to 0x8000000000000000
28/02/2016 11:17:21.140 AM networkd[223]: __settings_changed_block_invoke networkd_privileged_copy_settings_async with NULL settings
28/02/2016 11:17:21.141 AM networkd[223]: __settings_changed_block_invoke networkd_privileged_copy_settings_async with NULL settings
28/02/2016 11:17:21.941 AM com.apple.kextd[55]: Failed to load /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleBCM5701Ethernet.kext - (libkern/common) general/unspecified error.
28/02/2016 11:17:22.088 AM networkd[223]: -[NETInterfaceManager updateInterfaces] nwi_state_copy() returned NULL
28/02/2016 11:17:22.731 AM networkd[223]: -[NETInterfaceManager updateInterfaces] nwi_state_copy() returned NULL
28/02/2016 11:17:24.684 AM networkd[223]: -[NETInterfaceManager updateInterfaces] nwi_state_copy() returned NULL
28/02/2016 11:17:25.680 AM UserEventAgent[287]: user agent networkd: built Nov 16 2015 23:08:50
28/02/2016 11:17:26.286 AM symptomsd[263]: __73-[NetworkAnalyticsEngine observeValueForKeyPath:ofObject:change:context:]_block_invoke unexpected switch value 2
28/02/2016 11:17:26.286 AM symptomsd[263]: __73-[NetworkAnalyticsEngine observeValueForKeyPath:ofObject:change:context:]_block_invoke unexpected switch value 2

28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextGetDefaultUserSpaceToDeviceSpaceTransform: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextConcatCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextSaveGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextDrawImages: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextRestoreGState: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:08:58.796 PM com.apple.preference.network.remoteservice[548]: CGContextGetCTM: invalid context 0x0. If you want to see the backtrace, please set CG_CONTEXT_SHOW_BACKTRACE environmental variable.
28/02/2016 3:09:00.556 PM com.apple.preference.network.remoteservice[548]: Error in CoreDragRemoveTrackingHandler: -1856
28/02/2016 3:09:00.556 PM com.apple.preference.network.remoteservice[548]: Error in CoreDragRemoveReceiveHandler: -1856
28/02/2016 3:09:10.212 PM com.apple.preference.network.remoteservice[548]: Error in CoreDragRemoveTrackingHandler: -1856
28/02/2016 3:09:10.212 PM com.apple.preference.network.remoteservice[548]: Error in CoreDragRemoveReceiveHandler: -1856

[UPDATE 1]

While checking the console and unplugging the TB ethernet adapter I noticed the following output:

28/02/2016 6:36:53.956 PM symptomsd[259]: nw_interface_get_agents SIOCGIFAGENTIDS failed for interface "en3" (index 7, type other): [6] Device not configured
28/02/2016 6:36:53.962 PM symptomsd[259]: nw_interface_get_agents SIOCGIFAGENTIDS failed for interface "en3" (index 7, type other): [6] Device not configured

[UPDATE 2]

After a few more restarts and removing (resetting) of certain system preferences files. I now received the following Console output when plugging in the adapter:

29/02/2016 12:36:27.000 PM kernel[0]: AppleThunderboltNHIType2::prePCIWake - power up complete - took 1 us
29/02/2016 12:36:27.000 PM kernel[0]: AppleThunderboltGenericHAL::earlyWake - complete - took 0 milliseconds
29/02/2016 12:36:27.000 PM kernel[0]: IOThunderboltSwitch<0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 11 unplug = 0
29/02/2016 12:36:27.000 PM kernel[0]: IOThunderboltSwitch<0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 3 unplug = 0
29/02/2016 12:36:27.000 PM kernel[0]: IOThunderboltSwitch<0>(0x0)::listenerCallback - Thunderbolt HPD packet for route = 0x0 port = 12 unplug = 0
29/02/2016 12:36:29.000 PM kernel[0]: [ PCI configuration begin ]
29/02/2016 12:36:29.000 PM kernel[0]: [ PCI configuration end, bridges 14, devices 17 ]

Best Answer

The solution is to try and reset as many network related system preferences as possible. To be more specific:

  1. Unplug the Thunderbolt Ethernet adapter.
  2. Create and Apply a new default network location (system preferences).
  3. Remove all older pre-existing network locations.
  4. Remove the following preference files (global and user specific found in /Library/Preferences /Library/Preferences/SystemConfiguration and ~/Library/Preferences):

com.apple.network*.plist NetworkInterfaces.plist

  1. Restart your Mac.
  2. Connect your Thunderbolt Ethernet adapter as well as the network cable.
  3. Add a new Location inside the network system preferences (AGAIN!) and remove the one added previously in step (2).
  4. Wait a few minutes (close the system preferences).

Here is what I observed while trying to solve my issue:

I always used to have two Thunderbolt related entries in my network settings:

  1. Thunderbolt Ethernet
  2. Thunderbolt Bridge

I believe the bridge may be added by default and the ethernet version may be added on demand, when you plug in an ethernet adapter.

While my connection was "broken", however, this Thunderbolt Ethernet service / interface never appeared or worked again, so possibly some of the settings files related to it were broken.

After removing all old references (from the old locations) to it as well as the listed preference files, I now get the following three default services listed, when adding a new location into the network preferences:

  1. Thunderbolt Ethernet
  2. Wi-Fi
  3. Thunderbolt Bridge

If you don't get these three and you are using a Thunderbolt Ethernet adapter, you may have the same problem as I had and should follow the advice above.