Jump to content

AHCI HD fix (ícone laranja)


oldnapalm
 Share

3 posts in this topic

Recommended Posts

Esse é um fix para os HDs SATA AHCI internos que aparecem como externos (ícone laranja), dispensando o uso das kexts AHCIPortInjector e IOAHCIBlockStorageInjector. Consiste em mudar o device ID da controladora SATA (zhell's trick) para que ela seja reconhecida como Intel ESB2 AHCI ao invés de Unknown AHCI Controller. Testado com chipset ICH9R, pode funcionar com outros.

 

Device ID original (lspci -nn)

00:1f.2 SATA controller [0106]: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller [8086:2922] (rev 02)

Código a ser inserido no device SATA (endereço 0x001F0002)

				Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x81, 0x26, 0x00, 0x00
						}
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

Utiliza o método DTGP, se ainda não tiver, inclua no seu DSDT

    Method (DTGP, 5, NotSerialized)
   {
       If (LEqual (Arg0, Buffer (0x10)
               {
                   /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                   /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
               }))
       {
           If (LEqual (Arg1, One))
           {
               If (LEqual (Arg2, Zero))
               {
                   Store (Buffer (One)
                       {
                           0x03
                       }, Arg4)
                   Return (One)
               }

               If (LEqual (Arg2, One))
               {
                   Return (One)
               }
           }
       }

       Store (Buffer (One)
           {
               0x00
           }, Arg4)
       Return (Zero)
   }

Link to comment
Share on other sites

  • 3 months later...
  • 3 months later...
 Share

×
×
  • Create New...