Friday, 22 November 2019

Mac Thunderbold bug fix

Problem solved.

How to fix?
1) reboot with CMD+R pressed.
2) open Terminal
3) csrutil disable
4) reboot in normal mode
4.5) Catalina: sudo mount -uw /
5) sudo mv /System/Library/Extensions/AppleThunderboltNHI.kext 
/System/Library/Extensions/AppleThunderboltNHI.kext.BAK
6) reboot with CMD+R pressed
7) csrutil enable
8) reboot and forget about problem
We turn off buggy driver, that is for ethernet via thunderbolt. It is possible, you dont need that functionality, like me.
Thanks to:



"Solved"

Found how to remove the thunderbolt driver in Big Sur this morning. 

In Catalina, deleted drivers were not loaded by the kernel at boot after having deleted/moved/renamed the kext directory.

In Big Sur,
 The driver remains in the extensions cache, this one must be rebuilt with kmutil

 You must "deactivate the seal" and make another snapshot after the cache has been rebuilt.

Follow this procedure :
 Reboot in rescue mode (reboot while "Cmd + R")

 csrutil disable 

 csrutil authenticated-root disable

 reboot in rescue mode

 mount -uw /Volumes/[MacOS <your custom stuff here>]

 delete (or rename, or move elsewhere) the AppleThunderboltNHI.kext directory (I've moved all thunderbolt kext directories since I have no needs about this interface, but I think it works only by disabling AppleThunderboltNHI)

 REBUILD the extensions cache ! (new has-to-do in Big Sur...) : kmutil install -u --force --volume-root /Volumes/[MacOS <your custom stuff here>]

 DON'T FORGET to create another system snapshot to take these modifications under account at next reboot : bless --folder /Volumes/[MacOS <your custom stuff here>]/System/Library/CoreServices --bootefi --create-snapshot

 csrutil enable (mays be you have to reboot in rescue mode.. not tested)

Finally, reboot in normal mode : you can check kextstat : it shows that the driver is actually not loaded :)


It works for my MacBook Pro mid 2014.. 

Either a hardware problem when using the driver of the host interface, either a bug. Apple did not communicate, I think it's a hardware issue..
 
 
 
 
Reboot in recovery mode (CMD+R)
Utilities -> Terminal
csrutil disable
csrutil authenticated-root disable
mount - uw /Volumes/Macos (Enter WHATEVER YOUR MACOS DRIVE NAME IS, my macOS drive name is Macos)
cd /Volumes/Macos (Enter WHATEVER YOUR MACOS DRIVE NAME IS, my macOS drive name is Macos)/System/Library/Extensions
rm -rf AppleThunderboltNHI.kext
rm -rf /System/Library/Caches/*
Kmutil install -u --force --volume-root /Volumes/Macos (Enter WHATEVER YOUR MACOS DRIVE NAME IS, my macOS drive name is Macos)/System/Library/Extensions
bless -folder /Volumes/Macos(Enter WHATEVER YOUR MACOS DRIVE NAME IS, my macOS drive name is Macos)/System/Library/CoreServices —bootefi --create-snapshot
FORGET THE PROBLEM :-D 
You’ll need to perform these steps every time you update Big sur with their security updates n all. 
No need to enable SIP 
Have a good life :-)