Jump to content

AHCI Changes in Big Sur: Generic AHCI Controller and SATA Hot Plug


6 posts in this topic

Recommended Posts

Big Sur has removed the AppleIntelPchSeriesAHCI class in AppleAHCIPort.kext so the Intel family AHCI drivers are no longer recognized as such and are shown as generic.
 

ahci.png.886b007d9d5eb9cd160a68a4f61b4dc0.png

Some users dislike seeing the Intel driver for a certain family come out as generic although this is a purely cosmetic issue that does not appear to interfere with the performance or behavior of the drivers.

The solution found, originally proposed from the Dortania website, consists of using the modified macOS Catalina extension AppleAHCIPort.kext (CtlnaAHCIPort.kext) with the identifiers of each Intel driver family.
To use CtlnaAHCIPort it is recommended:

  • Block AppleAHCIPort.kext from Big Sur to avoid conflicts (I have tried blocking and without blocking the Big Sur kext and in both cases it has worked correctly)
  • Set the MinKernel parameter to 20.0.0
  • You can do without the extension that we are using to recognize unsupported SATA.


But I have encountered the problem that, if I use CtlnaAHCIPort, in exchange for having the AHCI driver well recognized, I lose the ability to hot plug or unplug SATA disks.
By simply removing CtlnaAHCIPort.kext, the SATA Hot Plug option works again.

Summary: Big Sur showing the Intel AHCI driver as generic does not seem to be a real problem, only cosmetic. With the CtlnaAHCIPort extension the driver displays correctly but the SATA Hot Plug option is lost.

You have to choose: (Generic AHCI Controller + SATA Hot plug) or (well identified AHCI Controller - SATA Hot plug).


Note: This is not exclusive behavior of hackintosh, even in my iMac of the year 2015 it's Generic AHCI Controller.

Edited by miliuco

I didn't remember the @rd8111 article. Thank you.
What I try to highlight in my article and maybe I have not succeeded is that, if someone uses the SATA Hot Plug patch and installs CtlnAHCIPort.kext, they will lose the patch option because the identifier "com.apple.driver.AppleAHCIPort" that it's used in the patch is not valid when we have CtlnAHCIPort. This is the most important.

I suppose that with the method proposed by @rd8111 it would be possible to have a well-identified AHCI Controller and also Sata hot plug.

I too a closer look into this as I have never actually noticed that, in Big Sur, SysInfo now reported a Generic AHCI Controller. I compared the Info.plist of Catalina 10.15.7's and Big Sur 11.0.1's AppleAHCIPort kext.

 

Both contain the exact same set of IOKitPersonalities:

Info_plist_AppleAHCIPort.jpg

 

I'm running Big Sur on my Dell Latitude E6230, a laptop with QM77 (Series 7/C216) chipset and SATA controller 8086:1e03. It's listed in both above versions of AppleAHCIPort under Intel7Series AHCI:

Intel7SeriesAHCI.jpg

 

Now, if I look in IOReg, I see that the SATA control does indeed register as IOClass AppleAHCI in Big Sur, not AppleIntelPchSeriesAHCI as per previous macOS versions. The only difference showing under the SATA controller between Big Sur and Catalina is that there is an IOPCIMSIMode boolean property set to True in 10.15 when there is no such property in 11.0.

SATA_Controller_IOReg.jpg

 

'wondering if this can be injected at all and if this would not just be a Big Sur bug rather than a deliberate change.

×
×
  • Create New...