Jump to content

Editando a AppleHDA do Lion


  • Please log in to reply
42 replies to this topic

#1
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
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://www.insanelym...howtopic=243652

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


#2
Crosx86

Crosx86

    Hacker soul !

  • Members
  • PipPipPipPip
  • 239 posts
  • Gender:Male
  • Location:Brasil
Ola Old,fiz o procedimento acima aqui,so esta faltando rodar o comando no terminal,mais a pergunta é,para ativar o HDA uso o HDEF no dsdt ou HDAenabler.kext,vou postar os arquivos modificados e a legacy que usei como espelho.

codec_dump.txt:Attached File  codec_dump.txt   11.94KB   24 downloads
Platforms.xml:Attached File  Platforms.xml   55.65KB   15 downloads
layout887.xml:Attached File  layout887.xml   8.1KB   18 downloads
AppleHDAHardwareConfigDriver.kext/Contents/Info.plist:Attached File  Info.plist.zip   1.46KB   19 downloads
legacy887:Attached File  ALC887HDA.kext.zip   8.86KB   17 downloads

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

para mim parece estar tudo certo,se puderem dar uma olhoda eu agradeço.

Obs:São kexts do Snow,mais como agora as legacy não funcionam mais e todos os topicos apontam pra ca eu postei aqui,se postei no lugar errado quiserem mudar o local ou se quiserem abrir um topico fiquem a vontade.

#3
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Sim, parece tudo certo.

Tanto faz, pode usar o patch na DSDT ou a HDAEnabler.

Se a legacy funcionava no 10.6.7 não deve ter problema.

#4
Crosx86

Crosx86

    Hacker soul !

  • Members
  • PipPipPipPip
  • 239 posts
  • Gender:Male
  • Location:Brasil
Opa old,saiu daqui a kext:http://www.insanelym...hp/t256626.html
a data dos posts é de maio desse ano,tomara que de certo.
Editado:
Deu errado com essa kext.


Eu fiz mais algumas tentativas,vou postar aqui o material todo,pq não obitive sucesso por completo.

Tudo reconhecido,mais sem audio, :D
Attached File  Captura_de_tela_2011_06_24___s_23.59.44.png   7.03KB   26 downloads
Attached File  Captura_de_tela_2011_06_25___s_00.00.13.png   124.23KB   58 downloads
Attached File  Captura_de_tela_2011_06_25___s_00.01.04.png   69.24KB   54 downloads
Attached File  Captura_de_tela_2011_06_25___s_00.01.17.png   68.75KB   26 downloads

Bom usei essa kext legacy:Attached File  ALC887_888b.kext.zip   8.71KB   51 downloads

AppleHDA.kext para ALC887:Attached File  AppleHDA.kext.zip   1.48MB   52 downloads

Meu dsdt.aml com HDEF e patch para ALC887:Attached File  dsdt.aml.zip   11.67KB   18 downloads

Bom é isso ai,mesmo com tudo reconhecido eu não tenho audio,se puderem ajudar e precisarem de mais informações é so socilitar eu posto aqui...ajuda :D

#5
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Com os dados de qual legacy reconheceu tudo?

A do seu primeiro post é mais parecida com o seu codec dump (ConfigData)
01471C10 01471D40 01471E01 01471F02 
01571C70 01571D10 01571E01 01571F02 
01671C80 01671D60 01671E01 01671F02 
01771C90 01771D20 01771E01 01771F02 
01871C50 01871D90 01871EA0 01871F90 
01971C60 01971D90 01971EA1 01971F02 
01A71CA0 01A71D30 01A71E81 01A71F02 
01B71C20 01B71D40 01B71E21 01B71F02

Do seu dump (gerado pelo verbit)
01471c10 01471d40 01471e01 01471f01 
01571cf0 01571d11 01571e11 01571f41 
01671cf0 01671d11 01671e11 01671f41 
01771cf0 01771d11 01771e11 01771f41 
01871c30 01871d98 01871ea1 01871f01 
01971c40 01971d98 01971ea1 01971f02 
01a71c3f 01a71d30 01a71e81 01a71f01 
01b71c20 01b71d40 01b71e21 01b71f02

Dessa última legacy
21871C40 21871D90 21871EA0 21871F90 
21971C50 21971D90 21971E81 21971F02 
21A71C60 21A71D30 21A71E81 21A71F01 
21B71C70 21B71D40 21B71E21 21B71F02 
21471C10 21471D40 21471E11 21471F01 
21571C20 21571D10 21571E01 21571F01 
21671C30 21671D60 21671E01 21671F01 
21771C80 21771D20 21771E01 21771F01 
21E71C90 21E71D61 21E71E4B 21E71F01 
21F71CA0 21F71D01 21F71ECB 21F71F01

O melhor seria você ter funcionando com a legacy no 10.6.7 para depois editar a do 10.6.8 conforme a legacy.

#6
Crosx86

Crosx86

    Hacker soul !

  • Members
  • PipPipPipPip
  • 239 posts
  • Gender:Male
  • Location:Brasil

Com os dados de qual legacy reconheceu tudo?


Com a ultima carregou tudo Old,eu acho que essas kexts foram geradas em um GA,poque no pacote delas tinhas varias GA.

O melhor seria você ter funcionando com a legacy no 10.6.7 para depois editar a do 10.6.8 conforme a legacy.

Pois é Old,com certeza ai não daria esses erros,mais eu nunca usei nem nessa e nem em outra nenhuma placa kexts de som legacy.

Obs:continua tudo reconhecido e melhorou um pouco com dsdt,não sei se o pinconfig esta correto no pacth eu peguei em um topico aqui do forum de uma placa identica.

#7
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
O PinConfigurations na DSDT só faz aparecer os itens no System Profiler, você poderia até deixar em branco, usar o patch genérico. O que vale mesmo é o que está na kext.

#8
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:Belém / Pará
Old mas e no meu caso que uso no snow uma DSDT com HDFE e a appleHDA editada para o codec ALC888b?

#9
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Copie as chaves (CommonPeripheralDSP, PathMaps, LayoutID, PathMapRef e HDA Hardware Config Resource) da AppleHDA editada. Procure nos PlugIns AppleHDAPlatformDriver e AppleHDAHardwareConfigDriver.

#10
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:Belém / Pará

Copie as chaves (CommonPeripheralDSP, PathMaps, LayoutID, PathMapRef e HDA Hardware Config Resource) da AppleHDA editada. Procure nos PlugIns AppleHDAPlatformDriver e AppleHDAHardwareConfigDriver.

vou tentar por aqui! vlws old!

@EDIT

cara consegui fazer tudo ate a parte do comando o do editor EXA... não sei como fazer! meu codec é ALC888B qual seria o comando?

#11
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Não sei te dizer com certeza, acredito que seja o mesmo do ALC888.

#12
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:Belém / Pará

Não sei te dizer com certeza, acredito que seja o mesmo do ALC888.


acha que eu posso encontrar isso na appleHDA editada pro Snow leopard?

#13
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Talvez, se ela for posterior a 10.6.2 (até essa versão o codec não era verificado). Localize os bytes 85 08 EC 10 no binário da kext original (mesma versão) e veja o que tem na mesma posição na kext modificada.

#14
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:Belém / Pará

Talvez, se ela for posterior a 10.6.2 (até essa versão o codec não era verificado). Localize os bytes 85 08 EC 10 no binário da kext original (mesma versão) e veja o que tem na mesma posição na kext modificada.


então cara eles são exatamente os mesmos nas duas kexts! visto isso eu fiz o teste aqui mas não to conseguindo gerar o mkext de cache para o sistema

me retorna isso aqui:
Attached File  Captura_de_Tela_2011_08_31___s_08.05.14.png   84.01KB   22 downloads

#15
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Se são os mesmos a kext deve ser 10.6.2, na do Lion certamente tem que aplicar o patch no binário, tente com o mesmo da ALC888.

Esses erros devem ser por causa das permissões.

#16
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:Belém / Pará

Se são os mesmos a kext deve ser 10.6.2, na do Lion certamente tem que aplicar o patch no binário, tente com o mesmo da ALC888.

Esses erros devem ser por causa das permissões.


Old tive progresso! fiz o seguinte instalei o windows em outro HD instalei os drivers configurei a bios mas antes atualizei pra versão F5

extrai meu novo DSDT ( ja que mudou a bios....) apliquei o auto patch e peguei um programinha com os codecs da gigabyte ( aqui é meu pulo do gato) apliquei esse patch HDEF abri o DSDT com DSDT editor e lá estavam os números que eu precisava

8708EC10 ( pode incluir no tópico por favor?) para o codec ALC888b
então eu terminei o processo! o unico problema era aquele que eu falei sobre o cache
reparei as permissões todos os erros "omitting" desapareceram EXCETO o da AppleHDA.kext!! é mole meu amigo ? kkkkk

e agora? alguma idéia?

xD hackintosh tem desses mistérios....

#17
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
Como você reparou as permissões? Tenta reparar manualmente
http://www.insanelym...howtopic=209655

Se continuar o problema talvez você tenha editado algo errado no plist, você usou o PlistEdit Pro?

#18
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:Belém / Pará

Como você reparou as permissões? Tenta reparar manualmente
http://www.insanelym...howtopic=209655

Se continuar o problema talvez você tenha editado algo errado no plist, você usou o PlistEdit Pro?


sim usei o programa que você sugeriu, kext utility só reconhece o Snow leopard.
vou tentar fazer isso Old mas antes tira uma dúvida aqui!
pesquisei sobre o patch HDEF para o codec ALC888b então no forum do tonymac encontrei um post dele com o seguinte patch:

Device (HDEF){Name (_ADR, 0x001B0000)Method (_PRW, 0, NotSerialized){Return (Package (0x02)					{						0x0D, 						0x05					})				}				Method (_DSM, 4, NotSerialized)				{					Store (Package (0x0A)						{							"built-in", 							Buffer (One)							{								0x00							}, 							"codec-id", 							Buffer (0x04)							{								0x88, 0x08, 0xEC, 0x10							}, 							"layout-id", 							Buffer (0x04)							{								0x77, 0x03, 0x00, 0x00							}, 							"device-type", 							Buffer (0x10)							{								"Realtek ALC888b"							}, 							"PinConfigurations", 							Buffer (0x28)							{/* 0000 */	0x10, 0x90, 0xA1, 0x01, 0x20, 0x90, 0xA1, 0x02, /* 0008 */	0x80, 0x30, 0x81, 0x01, 0x90, 0x40, 0x21, 0x02, /* 0010 */	0x30, 0x40, 0x11, 0x01, 0x40, 0x40, 0x01, 0x01, /* 0018 */	0x50, 0x60, 0x01, 0x01, 0x60, 0x20, 0x01, 0x01, /* 0020 */	0x70, 0x61, 0x4B, 0x01, 0xA0, 0x01, 0xCB, 0x01							}						}, Local0)					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))					Return (Local0)				}			}

baixei o programa Gigabyte HDEF que promete adicionar um patch para meu codec no DSDT:

Device (HDEF)			{				Name (_ADR, 0x001B0000)				Method (_PRW, 0, NotSerialized)				{					Return (Package (0x02)					{						0x0D, 						0x05					})				}				Method (_DSM, 4, NotSerialized)				{					Store (Package (0x08)						{							"codec-id", 							Buffer (0x04)							{								0x87, 0x08, 0xEC, 0x10							}, 							"layout-id", 							Buffer (0x04)							{								0x87, 0x08, 0x00, 0x00							}, 							"device-type", 							Buffer (0x10)							{								"Realtek ALC888b"							}, 							"PinConfigurations", 							Buffer (One) {}						}, Local0)					DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))					Return (Local0)				}			}

agora eu te pergunto qual desses é o correto? sem dúvidas que um esta errado.
outra pergunta! aqui no layoutid seguindo seu tutorial eu adicionei o layout 2183 então...
não seria o caso de alterar essa tag?:

"layout-id", 
							Buffer (0x04)
							{
								0x87, 0x08, 0x00, 0x00
							},

ou não tem nada haver e eu to falando bobagem?

tenso isso e já se vai a tarde inteira....</div>

#19
oldnapalm

oldnapalm

    InsanelyMac V.I.P.

  • Moderators
  • 6,838 posts
  • Gender:Male
  • Location:Brazil
O correto é o valor do layout-id em hex na DSDT e em decimal no xml. Alguns usam o layout12.xml e colocam 0x0c na DSDT.

Se você vai usar layout887.xml então na DSDT use 0x377, mas o binário tem que coincidir com o codec-id, não layout-id. Veja como está na kext do Snow e no dsdt.aml que você usa com ela (ou na HDAEnabler).

Acho que o do Gigabyte HDEF está errado, avise o Maldon. Talvez você tenha baixado de um link desatualizado.

#20
Doublepranks

Doublepranks

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 166 posts
  • Gender:Male
  • Location:Belém / Pará

O correto é o valor do layout-id em hex na DSDT e em decimal no xml. Alguns usam o layout12.xml e colocam 0x0c na DSDT.

Se você vai usar layout887.xml então na DSDT use 0x377, mas o binário tem que coincidir com o codec-id, não layout-id. Veja como está na kext do Snow e no dsdt.aml que você usa com ela (ou na HDAEnabler).

Acho que o do Gigabyte HDEF está errado, avise o Maldon. Talvez você tenha baixado de um link desatualizado.


eu baixei do tópico oficial....
ah entendi! tenho que converter o valor. para avisar ao maldon vai ser complicado eu entendo bem pouco do que eu to fazendo e confio mais no que você diz do que no que eu mesmo penso. quero dizer não tenho como argumentar com ele e dizer que o trabalho dele esta errado xD

vou continuar tentando. tem que sair alguma coisa.

obrigado!





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy