Jump to content
Allan

[Guia] DSDT/SSDT - Conhecimentos Gerais

100 posts in this topic

Recommended Posts

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 específicos.

 

Por padrão, os bootloaders vão ter todas as tabelas OEM do BIOS/UEFI e transferi-lo para sistemas operacionais.

7MqX4ff.png

 

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.

p1XTYv5.png

 

 

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

 

kQKKXz3.png

 

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, "|xxd -r -p > dsdt.aml") or die; print PIP "$1"; } }'

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

Vá no menu File - Extract DSDT

Screen Shot 2014-04-29 at 8.19.08 PM.png

 

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.

AIDA.png
AIDA2.png
AIDA3.PNG
 
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.

Screen Shot 2014-04-30 at 5.12.09 PM.png 

 

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.

Screen Shot 2014-04-30 at 5.12.02 PM.png

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…

Screen Shot 2014-04-30 at 5.12.19 PM.png

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

Screen Shot 2014-04-30 at 5.16.19 PM.png

 

No MaciASL no icone Compile.

Screen Shot 2014-04-30 at 5.15.54 PM.png

 

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 (_HID)

     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:

Screen Shot 2014-04-29 at 10.44.07 PM.png

(Créditos da imagem Pjalm)

 

Seção 6

Como aplicar os patchs?

 

DSDT Editor

Screen Shot 2014-04-30 at 5.12.09 PM.png 

Screen Shot 2014-04-29 at 10.47.06 PM.png

 

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

Screen Shot 2014-04-29 at 10.47.37 PM.png

 

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

Screen Shot 2014-04-29 at 10.47.52 PM.png

 

MaciASL

Screen Shot 2014-04-30 at 5.12.19 PM.png

 

Screen Shot 2014-04-29 at 10.46.12 PM.png

 

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 by Allan

Share this post


Link to post
Share on other sites
Advertisement

Seção 7

IORegistryExplorer

Screen Shot 2014-04-30 at 10.06.09 PM.png

 

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

Ele lista todos os componentes do Hackintosh, por isso em alguns foruns você percebe que muito pedem uma copia do IORegistryExplorer,

este pode indicar se o device foi corretamente ativado.

 

Como fazer uma copia do IORegistryExplorer?

 

File - Save As...

Screen Shot 2014-04-30 at 10.12.30 PM.png

 

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)

post-1166456-0-70892100-1393262558_thumb

 

 

Agora como IvyBridge (correto).

post-1166456-0-57434600-1393262434_thumb

 

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 by Allan Oliveira

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Primeiramente, excelente tutorial, Alan. :D

 

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. 

Share this post


Link to post
Share on other sites

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?  ;)

Share this post


Link to post
Share on other sites

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?

 

 

grato

 

post-1097441-0-36801700-1447123321_thumb.jpg

Share this post


Link to post
Share on other sites

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?

 

 

grato

 

attachicon.giferros 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.  :rofl:

Share this post


Link to post
Share on other sites

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

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

 

Outra pergunta toda vez que preciso inserir algo novo na DSDT eu tenho que pegar ela virgem e inserir todas as patches novamente?

Share this post


Link to post
Share on other sites

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)

 

Outra pergunta toda vez que preciso inserir algo novo na DSDT eu tenho que pegar ela virgem e inserir todas as patches novamente?

 

 

Se for inserir um patch diferente ou até mesmo modificar o atual, não é necessário fazer tudo e novo.

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Saiu esses resultados:

 

Active Profiles:

AC Power -1*

Currently in use:

 hibernatemode        0

 womp                 1

 networkoversleep     0

 sleep                0 (sleep prevented by apsd, AddressBookSourceSync)

 Sleep On Power Button 1

 ttyskeepawake        1

 hibernatefile        /var/vm/sleepimage

 disksleep            10

 displaysleep         0

Share this post


Link to post
Share on other sites

Esses que estão em:

 

EFI/CLOVER/DRIVERS64UEFI/

 

FSInject-64.efi

HFSPlus-64.efi

OsxAptioFixDrv-64.efi

OsxFatBinaryDrv-64.efi

VBoxHfs-64.efi

Share this post


Link to post
Share on other sites

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

 

bom hack

Share this post


Link to post
Share on other sites

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

GrubEXFAT-64.efi

GrubISO9660-64.efi

GrubNTFS-64.efi

GrubUDF-64.efi

NvmExpressDxe-64.efi

Ps2MouseDxe-64.efi

UsbMouseDxe-64.efi

VBoxExt2-64.efi

VBoxExt4-64.efi

VBoxHfs-64.efi

VBoxIso9600-64.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?

Share this post


Link to post
Share on other sites

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
OsxAptioFixDrv-64.efi
OsxFatBinaryDrv-64.efi
OsxAptioFix2Drv-64.efi

Share this post


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

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By DoZe
      Hi :0)
       
      Hope As usual a perfect matching DSDT for this good Laptop.
       
      Regards, Ray
       
       
      SendMeStudiMac.zip
    • By MaLd0n
      --Donations via PayPal--
      https://tinyurl.com/r2bvzm7
       
      --Original Topic--
      https://www.olarila.com/topic/6874-olarila-hackbook-lenovo-ideapad-s145-mojave-catalina-full-dsdt-patches/
       

       
      -Perfect HackBook, HDMI Audio/Video, Bluetooth, AirPlay, Sleep, Lid Sleep, Auto Sleep, Audio, etc!
      -Wifi card has been replaced with Dell DW1560!
      -I'm using a S145-15IWL Model with Intel Core i5 8265u / Intel UHD Graphics 620
      -Update bios/uefi to last version
       
      --Installation--
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
       
      --Clover Folder--
      Just paste EFI folder inside EFI partition
      https://www.olarila.com/files/Clover.Folder/Lenovo IdeaPad S145.zip
      Notebooks with ELAN trackpad use it with my folder above
      IdeaPad S145 ELAN.zip
       
      Bluetooth Broadcom
      Bluetooth Broadcom.zip
       
      CPUFriend for i5-8265U
      CPUFriend i5-8265U.zip
       
      --Full DSDT Patches--
      -My DSDT
      DSDT Lenovo IdeaPad S145.zip
       
      This DSDT work on S145-14IWL, S145-15IWL, V14-IWL, V15-IWL models
      -Patches
      -FIX ERRORS AND WARNINGS -REMOVE UNUSED SCOPES / DEVICES -HIGH PRECISION EVENT TIMER -SATA SERIE 11 ID -DMAC -REMOVE LINES, PROBLEMATIC and UNUSED -SLPB -DARWIN / WINDOWS 2015 -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -REAL TIME CLOCK -ARTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -FWHD -USBX -PMCR -PPMC -XSPI -GMM -IMEI -EC -PRWs -_DSMs -PNLF -BRIGHTNESS KEYS -I2C -NATIVE USB -ARPT -GFX0 -DTGP -kUSBCompanionIndex -io-device-location -FULL RENAMED DEVICES   --IGPU Patch--
      Video solution with HDMI Audio and Video
      <key>PciRoot(0x0)/Pci(0x2,0x0)</key> <dict> <key>AAPL,GfxYTile</key> <data> AQAAAA== </data> <key>AAPL,ig-platform-id</key> <data> CQClPg== </data> <key>device-id</key> <data> pT4AAA== </data> <key>enable-hdmi20</key> <data> AQAAAA== </data> <key>framebuffer-con0-alldata</key> <data> AAAIAAIAAACYAAAA </data> <key>framebuffer-con0-enable</key> <integer>1</integer> <key>framebuffer-con1-alldata</key> <data> AQEJAAAIAADHAQAA </data> <key>framebuffer-con1-enable</key> <integer>1</integer> <key>framebuffer-con2-alldata</key> <data> AgYKAAAEAADHAQAA </data> <key>framebuffer-con2-enable</key> <integer>1</integer> <key>framebuffer-fbmem</key> <data> AACQAA== </data> <key>framebuffer-patch-enable</key> <data> AQAAAA== </data> <key>framebuffer-stolenmem</key> <data> AAAwAQ== </data> <key>framebuffer-unifiedmem</key> <data> AAAAgA== </data> <key>hda-gfx</key> <string>onboard-1</string> <key>model</key> <string>Intel Corporation, Cannon Point-LP Iris Plus Graphics 655</string> </dict>   --Native USB Fix for Notebooks - No Injector/Kext Required--
      https://www.olarila.com/topic/6878-guide-native-usb-fix-for-notebooks-no-injectorkext-required/
      https://www.olarila.com/topic/6181-guide-native-usb-fix-for-desktops-no-injectorkext-required-skylake/
       
       
      -ScreenShots

































      -Links
       
       
      Clover https://github.com/CloverHackyColor/CloverBootloader
      AirportBrcmFixup.kext https://github.com/acidanthera/AirportBrcmFixup
      AppleALC.kext https://github.com/acidanthera/AppleALC
      Brcm Bluetooth https://github.com/acidanthera/BrcmPatchRAM
      Lilu.kext https://github.com/acidanthera/Lilu
      SystemProfilerMemoryFixup.kext https://github.com/Goldfish64/SystemProfilerMemoryFixup
      VirtualSMC.kext https://github.com/acidanthera/VirtualSMC
      VoodooI2C.kext https://github.com/alexandred/VoodooI2C
      VoodooPS2Controller.kext https://github.com/acidanthera/VoodooPS2
      WhateverGreen.kext https://github.com/acidanthera/WhateverGreen
      MaciASL - https://github.com/acidanthera/MaciASL
      acpica - https://github.com/acpica/acpica
      AptioMemoryFix.efi https://github.com/acidanthera/AptioFixPkg
      ApfsDriverLoader.efi https://github.com/acidanthera/AppleSupportPkg
      HFSPlus.efi https://github.com/JrCs/CloverGrowerPro/blob/master/Files/HFSPlus/X64/HFSPlus.efi?raw=true
      Hackintool https://github.com/headkaze/Hackintool
       
      -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!
       
      Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad, Sampath007, onemanosx, erroruser, Jenny David, Olarila Facebook Community, Hackintosh Facebook Community and many others!
       
      We're all here to have fun and learn from each other!
    • By kevin_1351
      tl;dr: VirtualSMC causes me a flood of log messages and correlated cpu spikes. FakeSMC doesn't.
       
      Hi, I have almost finalized my Huawei Matebook X Pro Opencore setup and everything is working very well besides wifi/bt ofc (which is about to change).
       
      However, I noticed how the cpu usage sometimes went up a little and when looking at the Console I could see a never-ending flood of:
      default 14:05:05.983292+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:05.982975+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:05.982996+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985932+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.985949+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:06.986134+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426574+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:39.426729+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:39.426585+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431085+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431097+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:41.431246+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433068+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:42.433227+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:42.433078+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434453+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434465+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:43.434622+0100 loginwindow clamshellStateChanged | Clamshell state changed: closed=0, shouldSleepWhenClosed=2 default 14:05:44.436155+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0 default 14:05:44.436166+0100 kernel PMRD: clamshell closed 0, disabled 0, desktopMode 0, ac 0 sleepDisabled 0  
      As you can see, multiple of these per second. Another guy with the same computer is also having this issue and posted a dsdt change to fix it. This fix didn't solve anything though
      He tried to limit the Notify call by implementing a state change requirement before calling Notify.
       
      Here is the original acpi:
      Scope (_SB) { Device (LID) { Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } ^^PCI0.GFX0.CLID = Local0 Return (Local0) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } Notify (LID, 0x80) // Status Change } } Which he changed to: 
      Scope (_SB) { Device (LID) { Name (_OLD, One) // assuming everything else.. the lid should start open? Name (_HID, EisaId ("PNP0C0D") /* Lid Device */) // _HID: Hardware ID Method (_LID, 0, NotSerialized) // _LID: Lid Status { Local0 = One Local0 = ^^PCI0.LPCB.EC0.RPIN (0x05, 0x06) If ((Local0 == 0x55)) { Local0 = Zero } Else { Local0 = One } Return (Local0) } } Device (PNLF) { Name (_HID, EisaId ("APP0002")) // _HID: Hardware ID Name (_CID, "backlight") // _CID: Compatible ID Name (_UID, 0x0A) // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C") /* Power Button Device */) // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0B) } } } Scope (_SB.PCI0.LPCB.EC0) { Method (_Q81, 0, NotSerialized) // _Qxx: EC Query, xx=0x00-0xFF { Local0 = ^^^^LID._LID () If ((Local0 == Zero)) { ADBG ("LID-OFF") SGOV (0x02030009, Zero) SGOV (0x02060000, Zero) } Else { ADBG ("LID-ON") SGOV (0x02030009, One) SGOV (0x02060000, One) Notify (ALSD, 0x80) // Status Change } If ((^^^^LID._OLD != Local0)) { Notify (LID, 0x80) // Status Change ^^^^LID._OLD = Local0 } } } Besides me not seeing any reason to declare _OLD in LID. The idea itself shouldn't be too bad right? Well, as I said, his fix didn't work.
       
      In fact, to prove that Method _Q81 doesn't have anything to do with the issue at all, I created a Clover/Opencore patch to change _Q81 to XQ81. This resulted in my lid not working at all of course, but the log flooding still persisted!
      So _Q81 doesn't have anything to do with the issue afaik.
       
      Now, further Google searches led me to a chinese post where he tied the issue to VirtualSMC. And indeed, by migrating to FakeSMC the issue is no more.
       
      Unfortunately, I'm very fond of VirtualSMC for various reasons. So I would very much like to keep it. If not I'd have to implement the old way of doing Battery monitoring etcetc. Which isn't very elegant and update proof as it requires DSDT patching.
       
      So, I do believe that the issue may very well be in the DSDT code, perhaps in the ambient light part. I'm not very skilled at this and just started studying the ACPI spec 3 days ago.
       
      Could someone please help me out? Thanks a lot in advance
       
       
      origin.zip
      OC.zip
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://www.olarila.com/topic/5165-olarila-app-images-and-folders/   Install MacOS with Olarila Image, Step by Step, Install and Post Install
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
        First... If you need DSDT edits... -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app   Installation --Create a bootable copy of El Capitan /  Sierra / High Sierra / Mojave https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick https://github.com/CloverHackyColor/CloverBootloader/releases   --Replace with my Clover folder https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/   --Install EL Capitan / Sierra / High Sierra and boot into system!     Post Installation   --Install Clover and replace with my folder   https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/     --Reboot and activate video!   Bingo! Now you need a fine tune! DSDT Time!   My DSDT GA P35-DS3   DSDT.MaLd0n.zip     Patches -FIX ERRORS AND WARNINGS -HPET -SATA -SLPB -DARWIN -LPC -HDEF -RTC -EHCI -UHCI -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -EC -PNLF --Native Power Management
       
      Use Clover, check Generate P and C States
       
      --Brightness
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
       
      --AUDIO
       
      Device HDEF + AppleAlc + Lilu
       
      --install Lan driver by Mieze
        -Atheros   http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel   http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek   http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   --Links   -FakeSMC   https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio   https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/293863-applehda-patch-requests/   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Apple, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!   ENJOY!  
    • By MaLd0n
      Now have a Olarila app, just download app and clover folder for your Chipset! https://www.olarila.com/topic/5165-olarila-app-images-and-folders/   Nehalem, SandyBridge, IvyBridge, Haswell, Broadwell   https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/   Skylake, Kabylake and Coffeelake is here https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
          First...   ***Update bios to last available version!***   If you need a full patched DSDT...  -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app   Installation   --Create a bootable copy of macOS Sierra / High Sierra / Mojave   https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick   https://github.com/CloverHackyColor/CloverBootloader/releases   --Replace with my Clover folder https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/   --Install Sierra/High Sierra and boot into system!   Post Installation --Install Clover and replace with my folder   https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/   --Reboot and activate video!   Bingo!   Now you need a fine tune! DSDT time!   --DSDT   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -XXXX to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI
       
      --Power Management
      - 1 Generation Intel Processors, use Generate P and C States in config.plist
      - 2 and 3 Generations Intel Processors, Generate SSDT with Piker script and drop CpuPm and Cpu0Ist SSDTs
      ssdtPRGen.command.zip
      Credits-https://github.com/Piker-Alpha/ssdtPRGen.sh
      - 4 Generation+ Intel Processors, use PluginType=1 in DSDT, SSDT or Clover config.plist
       
      for check Power, Frequency, Temperature and Utilization, use it
       
      Install Intel Power Gadget.pkg.zip
       
      --Brightness
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
       
      --Clover
       
      https://sourceforge.net/projects/cloverefiboot/files/Installer/
       
      --AUDIO
       
      Use DSDT + AppleAlc
       
      --install Lan driver by Mieze
        -Atheros   http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel   http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek   http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   --Links   -FakeSMC   https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio   https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/314406-voodoohda-289/   -USB   https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   It's time to Rock   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Apple, Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!  
×