The following guide goes into great detail into how to enable SATA Hot Swapping under Mac OS X using a SSDT/DSDT injection method.

Index:

Section 1: SATA Addressing
Section 2: DSDT/SSDT Injection

Guide:

Section 1: SATA Addressing

1. Obtain IORegistryExplorer here.

2. Open IORegistryExplorer:

IORegistryExplorer

3. Locate the Address of the SATA Device that the patch will be used for:

 

4. Record the full Device Name:

5.  Continue to Section 2.

Section 2: DSDT/SSDT Injection

1. Open up your DSDT/SSDT in your editor of your choice.

2.

3. Locate the Address of your SATA Ports in your DSDT.aml:

Device (ASME)
 {
 Name (_ADR, Zero)
 Device (PRT0)
 {
 Name (_ADR, Zero)
 }
 Device (PRT1)
 {
 Name (_ADR, 0x00010000)
 }
 }

4. Copy the following code:

Method (_HPP, 0, NotSerialized)
{
Return (Package (0x04)
{
0x08, 
0x40, 
One, 
Zero
})
}
Method (_EJ0, 1, NotSerialized)
 Device (ASME)
 {
 Name (_ADR, Zero)
 Method (_HPP, 0, NotSerialized)
 {
 Return (Package (0x04)
 {
 0x08, 
 0x40, 
 One, 
 Zero
 })
 }
 Device (PRT0)
 {
 Name (_ADR, Zero)
 Method (_EJ0, 1, NotSerialized)
 {
 }
 }
 Device (PRT1)
 {
 Name (_ADR, 0x00010000)
 Method (_EJ0, 1, NotSerialized)
 {
 }
 }
 }

5. Now compile your DSDT and you should not receive any errors. Now save your DSDT to your desktop as DSDT.aml

6. Copy your newly created DSDT and paste it over your current DSDT located in your Extra Folder located at the root of your drive

7. Restart your system and you should now have Hot Swapping enabled on your SATA Ports.

Note this must be done to every SATA device in the DSDT if you wish to have all posts enabled for Hot Swaping

4 Comments on "SATA Hot Swapping"

  1. Hey Andrew,
    I’m trying to find some info about enabling TB hot swapping using x99 deluxe and ThunderboltEX II card. Is it possible? My system see’s drives and works fine when set to legacy mode but I read somewhere on your old site that you were experimenting with SSDT editing to get hot swapping working (albeit on a different mobo I’m sure).. sorry if this is posted in wrong section, i couldn’t find a TB guide.
    Thanks,
    Ben

    Reply
  2. Hi Andrew,

    My Hackintosh is running great after setting it up with your guide and DMG. However, I am having trouble setting my SATA ports to hot swappable.

    I am using a P9X79-E WS and have been able to identify the Intel SATA ports in IORegistry (I think!) but not the Marvell ones. Also, I don’t know if the external eSATA ports are part of the X79 chipset or Marvell or an ASUS addition.

    Either way my problem is that my DSDT’s code looks very different to the code on your page and so I am not sure how to patch it.

    Any help appreciated, my IOReg is available here:

    https://db.tt/BGhAUMz4

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.