Disabling Thunderbolt-related kernel extensions in the SSV on Big Sur (Random Crashes 2015 Retina MacBook Pro)

big surcrashlogicboardSecuritythunderbolt

EDIT: Do not do this. This created a startup error that has now forced me to reinstall my OS from Internet Recovery.

I'm one of a number of MacBook Pro users unfortunately plagued by a longstanding issue apparently related to faulty power chips on the motherboard of my 2015 Retina MacBook Pro (most notably documented here as well as on a number of Macrumors threads and AD questions). It's my understanding that this issue affects the the 820-3662 and 820-3787 logic boards. For clarity's sake, I have methodically assessed and eliminated most other potential causes for the crashes, and when I initially diagnosed the problem, I went through all the typical steps including several fresh installs, EtreCheck, and an Apple hardware and software diagnostic (all unremarkable).

This problem has been reliably solved in the past by disabling several Thunderbolt-related kernel extensions on the SSV (and reportedly as well by this app, though I haven't tried it myself), which I've been doing every time I update the OS.

Probably against my better judgment, I updated to Big Sur, and after a bit of forum trawling (I am not a developer and much of this is over my head), my understanding is that Big Sur has, in the process of becoming more secure, made it much more difficult to write the SSV.

On advice from several threads and blog posts, including the following:

I've done the following:

  1. Boot into the Terminal in Recovery Mode (reboot holding Command-R and open Terminal under Utilities in the menu bar).
  2. mount -uw /Volumes/Macintosh\ HD (on my Mac, I understand nomenclature can vary).
  3. Navigate to the relevant folder with cd /Systems/Library/Extensions/
  4. Rename the relevant kernel extensions from the suffix .kext to .kext.BAK (disabling them) with mv AppleThunderboltNHI.kext AppleThunderboltNHI.kext.BAK, for example
  5. Repeating the above with each of the relevant kernel extensions – many users have been able to get by with just disabling the above, others have had to disable nearly all thunderbolt-related kernel extensions. Fortunately I don't actually use these functions on my MacBook. The list that I used this time comes from here and includes:
    • AppleThunderboltDPAdapters.kext
    • AppleThunderboltIP.kext
    • AppleThunderboltPCIAdapters.kext
    • AppleThunderboltEDMService.kext
    • AppleThunderboltUTDM.kext
    • and finally, the above-mentioned AppleThunderboltNHI.kext
  6. Disabled protections with csrutil authenticated-root disable
  7. "Blessed" the changes I've made in the snapshot I've been working with with sudo bless --folder /Volumes/Macintosh\ HD/System/Library/CoreServices --bootefi --create-snapshot
  8. Rebooted into normal mode.

Thus far, seems like it's working (I've had no crashes) but I'll need to use the laptop for a week or so to tell – the crashes are fairly unpredictable.

I've posted this for two purposes:

  1. I hope that if this works, it's a useful resource for others that are less savvy, like myself.
  2. As mentioned, this is well above my head and I'm hoping someone can check my work and make sure I haven't done anything completely egregious. For example, do I need to re-enable the systems protections that I've disabled, or does that happen automatically when I reboot into normal mode?

Thank you so much for your time, I really appreciate this community.

Best Answer