Jump to content

Editando a AppleHDA do Lion


Recommended Posts

  • Administrators

Quem utilizava kext legacy para a AppleHDA no Snow Leopard vai perceber que esse método não funciona no Lion, pois a estrutura da kext foi alterada.


Veja como editar a AppleHDA original do Lion com base na kext legacy que você usava no Snow Leopard:


Abra o Info.plist da legacy para Snow Leopard;


Copie as chaves CommonPeripheralDSP e PathMaps para o arquivo AppleHDA.kext/Contents/Resources/Platforms.xml (substitua o conteúdo original);


Copie as chaves LayoutID e PathMapRef (de dentro da chave Layouts) para o arquivo AppleHDA.kext/Contents/Resources/layout??.xml (substitua o conteúdo original ou crie um novo arquivo se ele não existir, ?? = LayoutID);


Copie a chave HDA Hardware Config Resource para o arquivo AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist (substitua a chave com o mesmo nome).


Como editar o Info.plist

http://Olarila.com/forum/viewtopic.php?f=3&t=69


Se o codec não for ALC889A ou AD1988B também será necessário editar o arquivo AppleHDA.kext/Contents/MacOS/AppleHDA (binário).


Para codecs Realtek (ALC) substitua as 4 ocorrências de 85 08 EC 10 (bytes invertidos do codec 0885 e vendor 10EC) pelo seu codec, por exemplo, 88 08 EC 10.


Utilize um editor hexa (0xED) ou o comando

sudo perl -pi -e 's|\x85\x08\xec\x10|\x88\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

 

Para codecs Analog Devices (AD) substitua as 4 ocorrências de 8B 19 D4 11 pelo seu codec

sudo perl -pi -e 's|\x8b\x19\xd4\x11|\x9b\x98\xd4\x11|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

 


Se você tem uma AppleHDA modificada para Snow Leopard (10.6.7 ou anterior), ao invés de pegar os valores da LegacyHDA você vai tirá-los dos plug-ins da AppleHDA.


CommonPeripheralDSP, PathMaps, LayoutID e PathMapRef vêm de AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist


O dict em HDAConfigDefault vem de AppleHDA.kext/Contents/PlugIns/AppleHDAController.kext/Contents/Info.plist



A AppleHDA do Snow Leopard 10.6.8 tem a mesma estrutura que a do Lion.

Link to post
Share on other sites
  • Replies 59
  • Created
  • Last Reply

Top Posters In This Topic

  • 2 weeks later...
  • Administrators
LegacyHDA ou AppleHDA? o tópico fala em AppleHDA, qual seria o correto?

se vc editar a AppleHda conforme o tutorial, não deve precisar da LegacyHda

Link to post
Share on other sites
  • Administrators

LegacyHDA é usada em conjunto com a AppleHDA no Snow Leopard, mas no Lion esse método não funciona, como explicado no primeiro post. Siga os procedimentos para editar a AppleHDA do Lion baseado nas informações da legacyHDA do Snow.

Link to post
Share on other sites
  • Administrators
Consegui fazer funcionar o ALC888 no Lion DP4, instalei o AppleHDA Rollback e ALCxxxHDA do multishit 3.72

Também funciona, mas com a kext do Snow.


O método desse tópico é para usar a do Lion.

Link to post
Share on other sites

Só complementando a mensagem anterior, sempre que iniciava o no mac o volume fica pela metade ou seja em 50%, nunca ficar no máximo, ai procurando no são google descobri como deixar o volume sempre no máximo em 100% após o boot, criando um arquivo rc.local em /etc/ e colocando dentro deste arquivo o seguinte comando: osascript -e 'set volume 10'

Para quem não sabe o rc.local no ubuntu é responsável para iniciar alguns escripts antes do X11.

E equivale também ao antigo autoexec.bat do windows 95/98.

Link to post
Share on other sites
  • 3 weeks later...

Hola


Tengo el siguiente error y no tengo sonido (AD1988b en ASUS P5B-Deluxe):


Sound assertion "mFirstConvert && ( numSampleFrames > currentSampleFrame)" failed in AppleHDAEngine at line 2349 goto Exit


Tengo AppleHDA.kext descargado de esta pagina y patch en DSDT


¿alguna solucion?


Gracias

Link to post
Share on other sites
  • Administrators

Também precisa do patch HDEF na DSDT.


Me envie a legacyHDA que você usava no Snow Leopard. Parece tudo certo, mas não tenho com que comparar.


Tente com a do DP4, algumas pessoas estão tendo problema com a GM.

Link to post
Share on other sites

No Snow, utilizava o Voodoohda, portanto percebi que só por isso deverá ser meio complicado, certo?


A título de curiosidade; enquanto andava à procura de algum bootcd customizado para a p5kp acabei por fazer o download de um DMG que continha uma pasta de kexts: E/E e S/L/E, bem como uma pasta cheia de ficheiros aml, provavelmente proveniente da comunidade do applelife.ru (A Thumbnail da pasta vem em Russo).


Como não compreendo muito bem o funcionamento do DSDTE, arrisquei não fazer nada. No entanto, tenho referência nessa dita pasta a um ficheiro ALC883.aml, HDEF.aml .


Isso poderá ser utilizado?



L.

Link to post
Share on other sites
  • Administrators

Sim, o patch DSDT é necessário, mas é a parte mais simples. O principal é a kext legacy (só funciona no Snow até 10.6.7) ou a edição da AppleHDA (nesse tópico baseada na legacyHDA do Snow).


Tenta com esta

http://www.mediafire.com/file/252yozzp7vn4tnt/AppleHDA.kext-ALC883-LionGM.zip


Precisa deste patch

http://Olarila.com/Patches/ALC883.txt


Na ASUS também deve precisar deste (senão o anterior não deve funcionar)

http://Olarila.com/Patches/HDEF.txt


E o tradicional

http://Olarila.com/Patches/DTGP.txt


Recomendo antes aplicar o Auto-Patcher para a sua placa (selecione a do crossflash)

http://Olarila.com/forum/viewtopic.php?f=7&t=60

Link to post
Share on other sites

Sem sorte no método acima descrito, apesar de poder ter trocado algum campo de dados.


A ordem que descreveu é obrigatória?



Por outro lado, e referente ao applehda, recordo que havia um método (salvo erro 10.6.5) em que recorrendo ao LegacyAppleHDAHardwareConfigDriver,kext e ao LegacyHDAPlatformDriver.kext e fazendo inject do seguinte código, conseguia ter-se o audio perfeitamente funcional.

 

Device (HDEF)
           {
               Name (_ADR, 0x001B0000)
               Name (_PRW, Package (0x02)
               {
                   0x0D, 
                   0x06
               })
               OperationRegion (HDCS, PCI_Config, 0x54, 0x04)
               Field (HDCS, DWordAcc, NoLock, Preserve)
               {
                       ,   15, 
                   PMES,   1
               }

               Method (_DSM, 4, NotSerialized)
               {
                   Store (Package (0x06)
                       {
                           "built-in", 
                           Buffer (One)
                           {
                               0x00
                           }, 

                           "layout-id", 
                           Buffer (0x04)
                           {
                               0x73, 0x03, 0x00, 0x00
                           }, 

                           "PinConfigurations", 
                           Buffer (Zero) {}
                       }, Local0)
                   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                   Return (Local0)
               }
           }

 

Encontro-me oficialmente perdido! :)



L.

Link to post
Share on other sites
  • Administrators

Antes aplique o Auto-Patcher

http://Olarila.com/forum/viewtopic.php?f=7&t=60


Depois abra o dsdt.aml gerado usando o DSDT Editor e aplique HDEF depois ALC883

http://Olarila.com/forum/viewtopic.php?f=7&t=42


O HDEF tem que ser antes do ALC883.


Na kext acima eu botei layout-id 12 (0x0C) como o DSDT patch do link. Esse código que você postou usa 883 (0x73, 0x03), use o mesmo valor na kext e na DSDT. Essas legacy que você citou têm as informações para fazer a edição como mostra o primeiro post.

Link to post
Share on other sites
  • 2 weeks later...

Olá,

eu usava a kext AD2000b.kext e o patch HDEF no DSDT.


Infelizmente isto não funciona mais no Lion, então eu tentei modificar o AppleHDA usando o AD2000b porém no boot, antes de aparecer o vídeo fica um tempo parado e depois fica sem vídeo, creio eu por causa de uma edição mal-sucedida do AppleHDA.


Gostaria de ajuda, obrigado!


@EDIT1:


Opa, não tinha notado que dava pra copiar/colar as chaves entre janelas do PlistEditor, vou tentar novamente, espero que agora funcione!

Link to post
Share on other sites
Creio que não

no máximo não funcionaria

esse problema é do vídeo e não do áudio

 

Era problema do AppleHDA modificado mesmo, como eu modifiquei pelo TextEdit na primeira vez, certamente alguma chave ficou em aberto e ai ferrou tudo!


Mas eu editei agora com o Plist Editor e foi normal, heheh.


Obrigado pelo tutorial e pela ajuda.


Abraço!

Link to post
Share on other sites

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...

:cap-Please Disable Your ADBlocker-:cap