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
viewtopic.php?f=3&t=69Se 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
Code:
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
Code:
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.