Jump to content
2 posts in this topic

Recommended Posts

after hours of reading and trying i was able to patch my DSDT successfully.

 

there is just one problem left.

 

i got a eSATA HDD which i use as Backup discs for all my PC´s

It´s important that it´s got Hot plugging abilities

 

I always use this HDD on the eSATA front Port connector of my PC´s Tower.

The front port is connected to the 4. SATA port of my mainboard.

 

 

now to my problem,

i use a DSDT patch to get the SATA ports working as integrated (to get rid of the orange HDD icons)

now the SATA ports work as integrated, BUT they loose their Hot Plugging abilities.

 

that´s why i want the 4. SATA Port to be recognized as extern port to make Hot plugging working with it.

all the other ports should work as integrated.

 

 

i just start C#/c++ development and have not many experience.

can you pleas help me to get port 4 working as extern (eSATA) ?

 

 

Here is the patched SATA part of my DSDT

Device (SATA)
{
	Name (_ADR, 0x001F0002)
	Name (_SUN, One)
	Device (PRT0)
	{
		Name (_ADR, Zero)
		Method (_GTF, 0, NotSerialized)
		{
			Name (PIB0, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
			})
			Return (PIB0)
		}
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x02)
				{


					"io-device-location", 
					Buffer (0x06)
					{
						"Bay 1"
					}
				}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}

	}

	Device (PRT1)
	{
		Name (_ADR, One)
		Method (_GTF, 0, NotSerialized)
		{
			Name (PIB1, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
			})
			Return (PIB1)
		}
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x02)
				{

					"io-device-location", 
					Buffer (0x06)
					{
						"Bay 2"
					}
				}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}

	}

	Device (PRT2)
	{
		Name (_ADR, 0x02)
		Method (_GTF, 0, NotSerialized)
		{
			Name (PIB2, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
			})
			Return (PIB2)
		}
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x02)
				{
					"io-device-location", 
					Buffer (0x06)
					{
						"Bay 3"
					}
				}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}
	}

	Device (PRT3)
	{
		Name (_ADR, 0x03)
		Method (_GTF, 0, NotSerialized)
		{
			Name (PIB3, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
			})
			Return (PIB3)
		}
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x02)
				{


					"io-device-location", 
					Buffer (0x06)
					{
						"Bay 4"
					}
				}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}
	}

	Device (PRT4)
	{
		Name (_ADR, 0x04)
		Method (_GTF, 0, NotSerialized)
		{
			Name (PIB4, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0xF5
			})
			Return (PIB4)
		}
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x02)
				{	

					"io-device-location", 
					Buffer (0x06)
					{
						"Bay 5"
					}
				}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}
	}

	Device (PRT5)
	{
		Name (_ADR, 0x05)
		Method (_GTF, 0, NotSerialized)
		{
			Name (PIB5, Buffer (0x07)
			{
				0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
			})
			Return (PIB5)
		}
		Method (_DSM, 4, NotSerialized)
		{
			Store (Package (0x02)
				{

					"io-device-location", 
					Buffer (0x06)
					{
						"Bay 6"
					}
				}, Local0)
			DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
			Return (Local0)
		}
	}

	Method (_DSM, 4, NotSerialized)
	{
		Store (Package (0x06)
			{
				"device_type", 
				Buffer (0x10)
				{
					"AHCI Controller"
				}, 

				"model", 
				Buffer (0x1C)
				{
					"ICH9-R SATA/AHCI Controller"
				}, 

				"name", 
				Buffer (0x1C)
				{
					"ICH9-R SATA/AHCI Controller"
				}
			}, Local0)
		DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
		Return (Local0)
	}
}

Update:

 

Ok, i thinki found out were the 4th SATA bay is configured.

This is the code for it:

 Device (PRT3)
			{
				Name (_ADR, 0x03)
				Method (_GTF, 0, NotSerialized)
				{
					Name (PIB3, Buffer (0x07)
					{
						0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xF5
					})
					Return (PIB3)
				}

				Method (_DSM, 4, NotSerialized)
				{
					Store (Package (0x02)
						{
							"io-device-location", 
							Buffer (0x06)
							{
								"Bay 4"
							}
						}, Local0)
					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					Return (Local0)
				}
			}

 

the code let the 4th SATA port to be detected as integrated.

i want to modify it to let OSX recognize it as normal SATA port (like it did without the DSDT patch)

 

how can i do this ?

×
×
  • Create New...