Jump to content
kilomero

Ajuda com Fix DsDt para ALC887

Recommended Posts

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.

Link to comment
Share on other sites

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.

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...