Jump to content

Recommended Posts

Posted

Preciso de ajuda para o Audio ALC887. A aplicar o patch de dsdt co metodo para dtgp:

 

           Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (Package (0x02)
                   {
                       0x0D, 
                       0x05
                   })
               }

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x0E)
                       {
                           "AAPL,slot-name", 
                           Buffer (0x09)
                           {
                               "Built in"
                           }, 
                           "device-id", 
                           Buffer (0x04)
                           {
                               0x20, 0x1C, 0x00, 0x00
                           }, 
                           "layout-id", 
                           Buffer (0x04)
                           {
                               0x77, 0x03, 0x00, 0x00
                           }, 
                           "model", 
                           Buffer (0x1C)
                           {
                               "Realtek ALC887 AppleHDA 7.1"
                           }, 
                           "name", 
                           Buffer (0x10)
                           {
                               "AppleHDA ALC887"
                           }, 
                           "device_type", 
                           Buffer (0x11)
                           {
                               "Audio Controller"
                           }, 
                           "PinConfigurations", 
                           Buffer (One)
                           {
                               0x00
                           }
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

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)
   }

 

Tenho estes 2 Erros:


/Users/*/*/DSDT/DSDTFiles/dsdt.dsl 10182: If (LAnd (\_SB.PCI0.HDEF.DCKS, One))

Error 4064 - Object does not exist ^ (\_SB.PCI0.HDEF.DCKS)


/Users/*/*/DSDT/DSDTFiles/dsdt.dsl 10184: Store (DSTS, \_SB.PCI0.HDEF.DCKA)

Error 4064 - Object does not exist ^ (\_SB.PCI0.HDEF.DCKA)


O curioso é que me da o Erro em duas linhas nas que pon :

10182: Store (\_SB.PCI0.LPCB.H_EC.LSTE, LIDS)

10184: {




A linha: If (LAnd (\_SB.PCI0.HDEF.DCKS, One)) é a numero 10197

e mais a linha: Store (DSTS, \_SB.PCI0.HDEF.DCKA) é a numero 10199


Nao mais Erros me informa compilador.

Nao atopo por ningún lado informação sobre este erro.


Insiro o bloque completo no que se atopan os erros:


 

Method (_WAK, 1, Serialized)
   {
       P8XH (One, 0xAB)
       WAK (Arg0)
       If (NEXP)
       {
           If (And (OSCC, 0x02))
           {
               \_SB.PCI0.NHPG ()
           }

           If (And (OSCC, 0x04))
           {
               \_SB.PCI0.NPME ()
           }
       }

       If (LEqual (Arg0, 0x03))
       {
           If (LEqual (Zero, ACTT))
           {
               If (LEqual (ECON, One))
               {
                   Store (Zero, \_SB.PCI0.LPCB.H_EC.CFAN)
               }
           }
       }

       If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
       {
           If (LAnd (DTSE, LGreater (TCNT, One)))
           {
               TRAP (TRTD, 0x14)
           }

           If (LEqual (OSYS, 0x07D2))
           {
               If (And (CFGD, One))
               {
                   If (LGreater (\_PR.CPU0._PPC, Zero))
                   {
                       Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                       PNOT ()
                       Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                       PNOT ()
                   }
                   Else
                   {
                       Add (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                       PNOT ()
                       Subtract (\_PR.CPU0._PPC, One, \_PR.CPU0._PPC)
                       PNOT ()
                   }
               }
           }

           If (LEqual (ECON, One))
           {
               If (LNotEqual (LIDS, \_SB.PCI0.LPCB.H_EC.LSTE))
               {
                   Store (\_SB.PCI0.LPCB.H_EC.LSTE, LIDS)
                   If (IGDS)
                   {
                       If (\_SB.PCI0.GFX0.GLID (LIDS))
                       {
                           Or (0x80000000, \_SB.PCI0.GFX0.CLID, \_SB.PCI0.GFX0.CLID)
                       }
                   }

                   Notify (\_SB.LID0, 0x80)
               }

               If (LNotEqual (\_SB.PCI0.LPCB.H_EC.DOCK, DSTS))
               {
                   Store (\_SB.PCI0.LPCB.H_EC.DOCK, DSTS)
[color=#FF0000] If (LAnd (\_SB.PCI0.HDEF.DCKS, One))[/color]
                   {
[color=#FF0040]Store (DSTS, \_SB.PCI0.HDEF.DCKA)[/color]
                   }

                   If (LEqual (DSTS, One))
                   {
                       If (LEqual (Arg0, 0x03))
                       {
                           Sleep (0x03E8)
                           Store (PDBR, SSMP)
                           Sleep (0x03E8)
                       }

                       Notify (\_SB.PCI0.DOCK, Zero)
                   }
                   Else
                   {
                       Notify (\_SB.PCI0.DOCK, One)
                   }
               }

               If (LEqual (BNUM, Zero))
               {
                   If (LNotEqual (\_SB.PCI0.LPCB.H_EC.VPWR, PWRS))
                   {
                       Store (\_SB.PCI0.LPCB.H_EC.VPWR, PWRS)
                       PNOT ()
                   }
               }
               Else
               {
                   If (LNotEqual (\_SB.PCI0.LPCB.H_EC.RPWR, PWRS))
                   {
                       Store (\_SB.PCI0.LPCB.H_EC.RPWR, PWRS)
                       PNOT ()
                   }
               }
           }

           If (LEqual (RP1D, Zero))
           {
               Notify (\_SB.PCI0.RP01, Zero)
           }

           If (LEqual (RP2D, Zero))
           {
               Notify (\_SB.PCI0.RP02, Zero)
           }

           If (LEqual (RP3D, Zero))
           {
               Notify (\_SB.PCI0.RP03, Zero)
           }

           If (LEqual (RP4D, Zero))
           {
               Notify (\_SB.PCI0.RP04, Zero)
           }

           If (LEqual (RP5D, Zero))
           {
               Notify (\_SB.PCI0.RP05, Zero)
           }

           If (LEqual (RP6D, Zero))
           {
               Notify (\_SB.PCI0.RP06, Zero)
           }

           If (LEqual (RP7D, Zero))
           {
               If (LEqual (DSTS, Zero))
               {
                   Notify (\_SB.PCI0.RP07, Zero)
               }
           }

           If (LEqual (RP8D, Zero))
           {
               If (LEqual (DSTS, Zero))
               {
                   Notify (\_SB.PCI0.RP08, Zero)
               }
           }
       }

       Return (Package (0x02)
       {
           Zero, 
           Zero
       })
   }

 

Muito Obrigado.

Posted

Ao aplicar os patches você não pode excluir os objetos DCKS e DCKA que existem no HDEF original. Ao invés de substituir o HDEF original pelo novo, copie apenas o method _DSM para o HDEF original.

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted

Muito obrigado.


Solucionei borrando o bloque no que se atopaban os erros method _WAK1. E o audio funciona. Mais so me funciona a saida traseira e os dous mics, nin saida de linha nin saida front panel.


Tentarei de refacelo a partir do DST original so inserindo o method _DSM. Milhor dito voltando o HDEF original ao DST xa editado.


Mais tenho muito trabalho, porque xa editara o DST para activar o HDMI na minha Nvidia GT. E conseguido!! Soamente me falta editar o appleHDA en bin para a saida de audio pelo HDMI. ¿Algunha ajuda?


Obrigado para com todo o mundo.


P.D.- Os 3 kext non me valen pelo motivo de que tamen quero o HDMI, e para activa-lo preciso de no ter mais que appleHDA, sem ALC8XX.kext nim HDAEnabler.kext

Pero de todos modos obrigado pela proposta.

Posted

Ola


dando um up nesse topico, seria possivel colocar essa patch de audio alc887 na pasta dsdt patches/misc?


É um dos poucos patches conhecidos de audio que faltam por lá!


agradeço

ASUS P6X58D-E/12GB/i7-960 8MB 3.20GHz/NVIDIA GTX 650/WINDOWS 10/YOSEMITE

X87-DELL-16GB-DDR3-1600MHZ/XEON E3-1220v3 8MB/NVIDIA GTX1050/WINDOWS 10/XUBUNTU/OSX-SIERRA

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...