Você está na página 1de 2

Search...

)
The Home of OSx86

. Forums / Members + Downloads  Wiki - Rules * Blog Existing user? Sign In % Sign Up

Home Forums International Português Guias e Tutoriais 5Guia] DSDT/SSDT : Conhecimentos Gerais ! All Activity

" "Guia] DSDT/SSDT , Conhecimentos Gerais


dsdt guia ssdt

By Allan,
 Share Followers 5
April 30, 2014 in Guias e Tutoriais

100 POSTS IN THIS TOPIC

1 2 3 4 NEXT ∠ Page 1 of 4 %

Allan Posted April 30, 2014 (edited) …

V.I.P Member Introdução.

A ACPI (Advanced Configuration and Power Interface) define um grande número de tabelas que fornecem a interface entre um sistema operacional compatível
com ACPI e firmware do sistema. Estes permitem descrição do hardware do sistema, de forma independente da plataforma em ACPI Machine Language (AML).
O DSDT (Descrição de Tabela do Sistema Diferenciado) é a tabela principal na parte ACPI do BIOS de um computador, define a maioria dos principais
' dispositivos do sistema. O SSDT (Secondary System Description Table) tem a mesma estrutura com DSDT, mas é geralmente menor e define alguns dispositivos
Supervisors
específicos.

+ 5,542 Por padrão, os bootloaders vão ter todas as tabelas OEM do BIOS/UEFI e transferi-lo para sistemas operacionais.
13,124 posts
Gender: Male
Location: Brazil

Por que temos de corrigir o DSDT/SSDT do hackintosh?

Ao contrário do Windows ou Linux, o OS X tem uma implementação ACPI incompletas que suporta apenas um subconjunto de DSDT apenas em modelos de
Mac. Já nos Hackintosh, alguns dispositivos não estão definidos como compatível com OS X, sendo assim não vão funcionar corretamente.

Objetivo

Corrigindo o DSDT permite ao usuário melhor uso do seu hardware.


Muitos bootloaders permitem que o usuário substitua a tabela OEM no BIOS/UEFI por tabelas definidas nos arquivos .aml

Seção 1.
Como extrair?
Se você não usa DSDT, use essas maneiras pra extrair.

No OS X.

Se usa Chameleon, digite essa flag antes do boot: DSDT=null


Pode usar esse comando no Terminal:

perl -e 'open(CMD, "ioreg -lw0 \| grep DSDT|") or die; while(<CMD>) { chomp; if($_ =~ /\"DSDT\.?\d?\"=<([^>]*)>/) { $buff = $1; open(PIP,

Ou usar o app DSDT Editor, um app leve e facil de usar.


Vá no menu File - Extract DSDT

Dai vai aparecer a tabela disponível para edição no painel principal.

Clover
Na tela inicial do Clover, aperte F4, depois inicie o OS X, todas as tebelas ACPI estarão dentro de /EFI/Clover/ACPI/origin/

No Windows
Como não existe mais Everest, baixe o Aida64 (pode ser Trial mesmo)
Veja as prints.

Depois de salvar, copie o arquivo para um Pendrive, cole na Mesa do OS X, e renomeie para DSDT.aml.

No Linux (Ubuntu)
Crie um Penboot (LiveCD) e abra o Terminal, e use esse codigo:

cd ~/Desktop
sudo cat /sys/firmware/acpi/tables/DSDT > DSDT.aml

Caso não funcione, use esse:

cd ~/Desktop
sudo cat /proc/acpi/dsdt > DSDT.aml

Seção 2

Adicionando o DSDT/SSDT no bootloader


Depois de editar e compilar, salve o arquivo .dsl para .aml, a partir dai vamos colocar este arquivo para ser carregado pelo bootloader:
Chameleon: /Extra
Clover: /EFI/Clover/ACPI/patched

Note: Se você tem mais de um SSDT e deseja que seja carregado, renomeie os adicionais como: SSDT.aml, SSDT-1.aml, SSDT-2.aml, … etc.

O bootloader carrega a DSDT do sistema a partir do primeiro inicio. Para carregar a SSDT, você precisa adicionar estas flag nos seguinte
bootloaders. DropSSDT=True (Chameleon) ou Drop OEM SSDT=True (Clover)

Seção 3

Como editar e o que usar.

Existem varios editores de DSDT, vou destacar alguns.

O app mais usado é o DSDT Editor, um app leve e facil de usar.

Há também o DSDTSE, esse já ensina a como fazer, não vem com muitos patchs prontos, é muito bom pra quem quer aprender na marra.

Mas existe também o MaciASL que é bem mais completo, e também muito fácil de usar.
Quando aberto pela primeira vez, ele de forma automática já extrai a DSDT que se chama Pre-Edited DSDT. Quando terminar as alterações, somente
salve o arquivo, no menu File - Save As…

[Nota] O MaciASL pode ser inserido alguns repositórios de patchs, poupa tempo em vez de baixar patch por patch. (Vou falar mais abaixo).

Seção 4
Verificar erros/warnings.

Para ver isso, com o DSDT Editor, vá em IASL < Compile.

No MaciASL no icone Compile.

Corrigir erros/warnings.
Vou citar aqui os erros/wangins mais comuns e como resolver.

1 < Warning ResourceTag larger than Field (Tag: 64 bits, Field: 32 bits)

Mude disso:

CreateDWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)

Para:

CreateQWordField (BUF0, \_SB.PCI0._Y0F._LEN, MSLN)

2 < Warning Result is not used, possible operator timeout will be missed

De

Acquire (MUT0, 0x0FFF)

Para

Acquire (MUT0, 0xFFFF)

3 < Warning Not all control paths return a value (_HIDT


Warning Reserved method must return a value (Integer/String required for _HID)

De:

Method (_HID, 0, NotSerialized)


{
If (TCMF) {}
Else
{
Return (0x310CD041)
}
}

Para:

Method (_HID, 0, NotSerialized)


{
If (TCMF)
{
Return (Zero)
}
Else
{
Return (0x310CD041)
}
}

4 < Error Object is not accessible from this scope (_T_0)

Exclua o ultimo “_” (Ex: _T_0 para T_0)

5 - Error Object does not exist (_VPC)

Exclua todos os “_” (Ex: Store (Local0, _VPC)


Return (_VPC)
Para Store (Local0, VPC)
Return (VPC)

Seção 5
Patchs

Talvez se assustou um pouco com a maneira que deve ser corrigido os warnings/erros, mas para facilitar o trabalho, existem varios patchs que fazem
o trabalho pra você.
Há varios patchs uteis que você pode encontrar no Olarila: Patches
E vários packs para as diversas motherboards: Patches by Motherboard

Esses podem ser usados tanto no DSDT Editor como no MaciASL.


Há uns benefícios pra quem usa o MaciASL, que como comentado tem a possibilidade de adicionar repositórios de patchs, veja:

Os mais usados.
Toleda
RehabMan
PJALM

Como adicionar:

(Créditos da imagem Pjalm)

Seção 6
Como aplicar os patchs?

DSDT Editor

Dai você caminha até sua pasta com seus patchs.

Escolhe o patch para sua situação e aplique.

MaciASL

Legenda: Clique no icone Patch, (1) depois escolha qual patch vai usar, (2) e aplique o mesmo.

Veja que existe a opção “Open” onde você vai navegar até sua pasta de patchs.

[Nota] Todo o patch deve ser um documento .txt, para criar o seu, use o TextWrangler, abra, copie e cole, e salve.

Salvando o DSDT/SSDT

Caso precise salvar o DSDT/SSDT, mas tem erros presentes que não foram compilados, faça assim:
Clique em File > Save As..> File Format: Disassembled ASL File

Notará que se tentar salvar no modo padrão "ACPI Machine Language Binary", o MaciASL não vai permitir isto.

Esse recurso é legal pois, caso já tenha partes já editadas, e não quer começar tudo denovo, então poderá continuar o trabalho em outra
hora.

Bonus:

Tenho uns amigos que tem videos muito funcionais para quem tem alguma duvida de como aplicar patchs e quer aprender sobre DSDT.
1 - AppleAbreast (Bruxo)
Hackintosh - DSDT erro external (\TNOT)
HDMI INTEL HD3000
HACKINTOSH AUDIO FUNCIONAL mov

2 - Fábio Qliskra (fabio_qliskra)

Manobra no Device HDEF


Aplicando o HPET
Possible operator timeout is ignored

Ainda estou adicionando coisas novas.


Conselhos e dicas ou duvidas, por favor comentem abaixo.

Creditos: Fabio Qlistra, pokenguyen, oldnapalm, e outros...


Edited January 6, 2016 by Allan

BShot16, C.Frio, krogees and 12 others 15

Allan Posted May 1, 2014 (edited) Author …

V.I.P Member Seção 7


IORegistryExplorer

'
Supervisors

Essa ferramenta é imprescindível para uma boa edição da DSDT.


+ 5,542
Ele lista todos os componentes do Hackintosh, por isso em alguns foruns você percebe que muito pedem uma copia do IORegistryExplorer,
13,124 posts
este pode indicar se o device foi corretamente ativado.
Gender: Male
Location: Brazil
Como fazer uma copia do IORegistryExplorer?

File - Save As...

Verifique se não está corrompido (abra), compacte e envie quando lhe é pedido.

Veja tudo o que falei com o video abaixo.

IORegistryExplorer

Como usar?

O exemplo que vou colocar agora, é como ver se o gerenciamento de energia está correto. Aqui eu uso IvyBridge, mas o gerenciamento de energia estava
configurado como se fosse SandyBridge. Veja:

SandyBridge (errado para meu CPU^

Agora como IvyBridge (correto).

Viram que requer uma boa atenção pra perceber, e ver onde está errado.
Por isso, com o uso do IORegistryExplorer, você conseguira ver os detalhes do seu Hack.
Edited May 1, 2014 by Allan Oliveira

shingai, OuVerRos, Dr.Manhattan and 5 others 8

2 weeks later...

Pimentel Posted May 13, 2014 …

Universe Olá

Prometeu e cumpriu.

Ainda nem parei para ler,vida corrida esses últimos dias, peço até desculpas por não estar dando o devido suporte, mas a vida é assim...

Obrigado Allan.
Retired

+ 1,023 Allan and Jonathan Chagas 2


2,933 posts
Gender: Male
Location: Area 51

Allan Posted May 13, 2014 Author …

V.I.P Member Opa, já tinha feito a um tempinho.

Quanto mais descubro uns macetes sobre DSDT vou colocando aqui.

Vida corrida, sei o que é isso, só agora estou mais "tranquilo".

' Abraços
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

3 weeks later...

waltinho17 Posted June 2, 2014 …

InsanelyMac Protégé Muito bom Allan, este sim fez com que eu compreendesse melhor a respeito de DSDT.

está de parabéns, ótimo post,

Allan 1

Members
+1
6 posts

Allan Posted June 2, 2014 Author …

V.I.P Member Muito obrigado.


Precisando de suporte, estou a disposição.

Max.1974, Dr.Manhattan and waltinho17 3

'
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

1 month later...

erbas Posted July 23, 2014 …

InsanelyMac Protégé Bom Tópico Allan precisamos de mais pessoas assim como você disposta a compartilhar conhecimentos e ajudar!!!

Allan, Max.1974 and augustopaulo 3

Members
+3
19 posts
Gender: Male
Location: São Paulo
Interests: Placa Mãe Asus
P8H77-i

Allan Posted July 23, 2014 Author …

V.I.P Member Obrigado erbas!


E estou trazendo mais coisas para este forum, quero ensinar a todos de uma maneira simples e fácil de entender.

erbas and Dr.Manhattan 2

'
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

1 year later...

bkdwt Posted September 23, 2015 …

InsanelyMac Geek Primeiramente, excelente tutorial, Alan.

Segundamente, me tira uma dúvida: como eu faço pra verificar se algo precisar ser patcheado no DSDT, se tá faltando e etc? Basta apenas usar o IOReg?

Digo com relação as tabelas "HDEF, HPET, GFX0" e etc.

Members
+ 45
247 posts
Gender: Male
Location: Paraíba, Brasil

4 weeks later...

Allan Posted October 18, 2015 Author …

V.I.P Member Nem tudo precisa ser alterado, isso depende do seu uso.

Por ex: Se o Audio está habilitado usando a VoodooHDA, então não precisa de patch para Audio no DSDT, entende?

bkdwt 1
'
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

4 weeks later...

Rody Nunes Posted November 10, 2015 …

InsanelyMac Geek Allan parabéns pelo topico

Segui suas instruções e estou com algumas dúvidas:

Se eu baixar a patcher de minha placa mãe devo inserir as patcher individuais, tipo ALC 889 HDEF, AHCI SATA orange icon, Shutdown Gigabyte?

Usei a ser minha placa mãe e todas descritas acima e apareceu o erro que está no print, como corrigir?
Members
+ 22
155 posts
grato
Gender: Male
3 weeks later...

MaLd0n Posted December 1, 2015 …

olarila.com 1 On 11/9/2015 at 11a42 PM, Grown said: 2

Allan parabéns pelo topico

Segui suas instruções e estou com algumas dúvidas:

' Se eu baixar a patcher de minha placa mãe devo inserir as patcher individuais, tipo ALC 889 HDEF, AHCI SATA orange icon, Shutdown Gigabyte?
Moderators
Usei a ser minha placa mãe e todas descritas acima e apareceu o erro que está no print, como corrigir?

+ 6,578
21,274 posts
grato
Gender: Male
Location: Rio de Janeiro
Interests: HacksLikeMacs erros na dsdt.jpg
se vc está usando um dsdt modificado ou o clover está aplicando patches automaticamente...o problema está aí.

o ideal é sempre aplicar os patches ou o patch da mobo num DSDT virgem.

Allan, Max.1974 and C.Frio 3

Rody Nunes Posted December 1, 2015 …

InsanelyMac Geek 1 On 12/1/2015 at 5a51 PM, MaLd0n said: 2

se vc está usando um dsdt modificado ou o clover está aplicando patches automaticamente...o problema está aí.

o ideal é sempre aplicar os patches ou o patch da mobo num DSDT virgem.


Então devo colocar a DSDT virgem extraída do Windows na pasta EFI/CLOVER/ACPI/WINDOWS

Members Outra pergunta toda vez que preciso inserir algo novo na DSDT eu tenho que pegar ela virgem e inserir todas as patches novamente?
+ 22
155 posts
Gender: Male

Allan Posted December 2, 2015 Author …

V.I.P Member 1 On 12/1/2015 at 5a58 PM, Grown said: 2

Então devo colocar a DSDT virgem extraída do Windows na pasta EFI/CLOVER/ACPI/WINDOWS

Isso não tem necessidade, afinal o Windows já usa seu DSDT (original do BIOS^

'
1 On 12/1/2015 at 5a58 PM, Grown said: 2
Supervisors
Outra pergunta toda vez que preciso inserir algo novo na DSDT eu tenho que pegar ela virgem e inserir todas as patches novamente?

+ 5,542
13,124 posts Se for inserir um patch diferente ou até mesmo modificar o atual, não é necessário fazer tudo e novo.
Gender: Male
Location: Brazil

Rody Nunes Posted December 2, 2015 …

InsanelyMac Geek Estou com problema no repouso, no yosemite funcionava prefeito, retornava ao clico do mouse agora no el capitan ele não volta por completo alguns solução?

Members
+ 22
155 posts
Gender: Male

Allan Posted December 2, 2015 Author …

V.I.P Member Se as configurações foram mantidas deveria funcionar normalmente.

Qual é o modo Sleep de ambos?

'
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

Rody Nunes Posted December 2, 2015 …

InsanelyMac Geek Esse é o problema, nunca precisei me aprofundar tanto, quando agora na instalação do capitan pois montei a máquina mais compatível possível e esse problema
não precisei corretor no yosemite, nem no Mavericks, nem no Lion e nem no snow. Eu não sei te dizer isso pq ainda não entendo disso.

Members
+ 22
155 posts
Gender: Male

Allan Posted December 2, 2015 Author …

V.I.P Member Tudo bem.

Vamos fazer o seguinte, acredito que você deve ter 2 OS X ai certo?


Mesmo assim, rode esse comando no Terminal e poste o resultado aqui:

pmset -g
'
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

Rody Nunes Posted December 2, 2015 …

InsanelyMac Geek Saiu esses resultados:

Active Profiles:
AC Power -1*
Currently in use:
hibernatemode 0
womp 1
networkoversleep 0
Members sleep 0 (sleep prevented by apsd, AddressBookSourceSync)
+ 22 Sleep On Power Button 1
155 posts ttyskeepawake 1
Gender: Male hibernatefile /var/vm/sleepimage
disksleep 10
displaysleep 0

Allan Posted December 2, 2015 Author …

V.I.P Member Quais drivers tem na pasta drivers64UEFI?

Para ter o Sleep/Hibernation funcionando com UEFI é necessario usar o driver OsxAptioFix2Drv-64.efi

NelsonF 1
'
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

Rody Nunes Posted December 2, 2015 …

InsanelyMac Geek Esses que estão em:

EFI/CLOVER/DRIVERS64UEFI/

FSInject-64.efi
HFSPlus-64.efi
OsxAptioFixDrv-64.efi
Members OsxFatBinaryDrv-64.efi
+ 22 VBoxHfs-64.efi
155 posts
Gender: Male

Allan Posted December 2, 2015 Author …

V.I.P Member Remove o VBoxHfs-64.efi, e instala o driver que te falei.

'
Supervisors

+ 5,542
13,124 posts
Gender: Male
Location: Brazil

artur_pt Posted December 2, 2015 …

R.I.P our friend olá

essa pasta é para ser usada em uefi ..

esses são carregados no boot ? podes ver isso no boot.log

teu boot é em legacy .. os drivers deverão estar em Drivers64


Retired

bom hack

+ 1,798
6,646 posts
Gender: Male
Location: Portugal
Interests: TechManiaco

Rody Nunes Posted December 2, 2015 …

InsanelyMac Geek Sim instalei o clover em legacy, olhando no log eles estão sendo carregados, ele criou no root do HD a pasta EFI

Os arquivos que estão dentro de drivers64 são:


FSInject-64.efi
GrubEXFATn64.efi
GrubISO9660n64.efi
GrubNTFSn64.efi
Members GrubUDFn64.efi
+ 22 NvmExpressDxe-64.efi
155 posts
Ps2MouseDxe-64.efi
Gender: Male
UsbMouseDxe-64.efi
VBoxExt2n64.efi
VBoxExt4n64.efi
VBoxHfs-64.efi
VBoxIso9600n64.efi
XhciDxe-64.efi

Então eu posso copiar o arquivo que o Allan comentou para essa pasta?

Devo ter realmente todos esses arquivos nessa pasta?

Allan Posted December 2, 2015 Author …

V.I.P Member Rapaz quanta coisa, essa é a resposta do por que não funcionar.

Remove tudo, não usa os drivers na pasta UEFI, mas sim na Legacy. Se estiver realmente usando em modo Legacy...
Dai coloque na pasta drivers64, esses drivers.

FSInject-64.efi
'
HFSPlus-64.efi
Supervisors
OsxAptioFixDrv-64.efi
OsxFatBinaryDrv-64.efi
+ 5,542 OsxAptioFix2Drv-64.efi
13,124 posts
Gender: Male
Location: Brazil

1 2 3 4 NEXT ∠ Page 1 of 4 %

∠ GO TO TOPIC LISTING

Home Forums International Português Guias e Tutoriais 5Guia] DSDT/SSDT : Conhecimentos Gerais ! All Activity

Designed by Ehren Privacy Policy Contact Us

Você também pode gostar