Jump to content
deomkds

VoodooI2C - Patch para DSDT do Acer Aspire F15 (ACER-F5-573G)

7 posts in this topic

Recommended Posts

Posted (edited)

Esse post tem o propósito de documentar os patches necessários para a utilização da kext VoodooI2C e seu satélite VoodooI2CHID no notebook Acer Aspire F15 (ACER-F5-573G).

 

VoodooI2C é um projeto que adiciona suporte para dispositivos que utilizam o barramento I2C. O trackpad ELAN0501 do notebook Acer Aspire F15 utiliza esse barramento internamente.

 

As outras opções para ativar o trackpad neste notebook envolvem usar o VoodooPS2Controller ou o ApplePS2SmartTouchPad. O problema do primeiro é que... bem, ele não funciona. No momento em que o trackpad é tocado, o cursor pula pela tela toda sem parar. Já o segundo é o mais fácil pois funciona bem e é capaz de prover funções de multitoque e gestos. Porém, eu sempre achei alguns gestos do ApplePS2SmartTouchPad meio esquisitos, como a rolagem que não acompanha o toque precisamente como aconteceria em trackpads Synaptics no macOS.

 

Então descobri que era possível usar o VoodooI2C com trackpads ELAN e resolvi tentar. Ao contrário do ApplePS2SmartTouchPad, o VoodooI2C necessita de muita configuração prévia, sendo o mais complicado o processo de GPIO pinning, mas fiquei bastante feliz com os resultados. Esse post documenta os patches usados.

 

Meu hackintosh é baseado na EFI de johnnywolinger para macOS 10.14. Não o conheço, mas já deixo meus agradecimentos por ter facilitado minha vida. Como estou rodando o Catalina 10.15.5, tive que atualizar algumas kexts (WhateverGreen se não me engano) para evitar um KP durante o boot. A DSDT que eu estou utilizando veio do repositório dele. As únicas alterações que fiz foram os patches necessários ao VoodooI2C.

 

PASSOS

1. Baixe o MaciASL neste link.

2. Abra a sua DSDT nele e aplique os patches [GPIO] GPIO Controller Enable [SKL+] e [Windows] Windows 10 Patch, conforme foto no spoiler. O propósito desses patches é explicado em detalhes no guia de instalação do VoodooI2C. Simplificando, o primeiro patch ativa os interrupts e o segundo permite que o macOS enxergue o dispositivo I2C.

Spoiler

Untitled.thumb.jpg.eaaab76f88bb6d746857491aa6bfcc3d.jpg

3. A partir disso, é necessário aplicar os patches específicos de cada computador. No spoiler, eu explico o processo que usei para encontrar as informações. O texto só faz sentido se você já leu o guia de instalação original. Caso não esteja interessado nos detalhes, siga em frente.

Spoiler

Primeiro, encontrei o nome do dispositivo usando o Gerenciador de Tarefas Dispositivos do Windows. Nesse caso, o nome do dispositivo é TPDE. Na DSDT, ele se encontra em "\_SB.PCI0.I2C0.TPDE".

 

Depois apliquei os patches mencionados no ponto anterior para que o IORegExplorer pudesse enxergar o dispositivo.

Usando o IOJones, procurei pelo dispositivo TPDE e encontrei o pin APIC Hexadecimal: 0x52.

 

Esse APIC pin é maior que 0x2F, o que significa que temos que fazer o pinning do dispositivo manualmente. Usando os termos do tutorial original em inglês, my device is unpinned.

 

Então consultei as tabelas para encontrar o GPIO Label, o pin decimal do GPIO e suas versões convertidas para hexadecimal. Ficou assim:

GPIO Labels: GPP_C10_IRQ e GPD2_IRQ.

GPIO pin decimal: 58 e 154.

GPIO pin hexadecimal: 0x3A e 0x9A

 

Encontrei dois labels, porém, somente o primeiro é usado. Como este notebook é Cannon Lake, não existe incompatibilidade entre o pin de GPIO e o pin de hardware.

 

Finalmente, chegamos no número mágico: 0x3A. Este é o pin do GPIO onde o dispositivo TPDE será pinnado.

4. Na DSDT, encontre o method _CRS, que está no final do dispositivo TPDE.

Spoiler

2.jpg.33a1f31d09e29bdb0eb90a27e473ed12.jpg

5. Encontrado o Method _CRS, copie o código abaixo.

            Name (SBFG, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x003A
                    }
            })
            Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
            {
                Name (SBFB, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C0",
                        0x00, ResourceConsumer, , Exclusive,
                        )
                })
                Return (ConcatenateResTemplate (SBFB, SBFG))
            }

6. Copiado, volte ao MaciASL e selecione todo o Method _CRS, conforme a foto. Selecione desde o "Method (_CRS" até aquela última chave que está no mesmo nível de Method.

3.jpg.d1b7ecdad7f7e41be92a9a77f7cc6c06.jpg

 

7. Cole, substituindo todo o Method. Deverá ficar assim depois de colado. Note que temos um item chamado Name SBFG e um chamado Method _CRS.

4.jpg.8ac7687d88cf4145bd1db03b48f75f59.jpg

 

8. Se estiver tudo certo, compile a DSDT e coloque na pasta EFI/ACPI/Patched, onde o Clover está instalado.

 

Pra finalizar, basta instalar as kexts VoodooI2C e VoodooI2CHID na pasta de kexts do Clover. Ambas podem ser baixadas aqui.

Se tudo der certo, ao reiniciar, o trackpad deverá estar funcionando corretamente.


CONSIDERAÇÕES FINAIS

Se isso parece difícil demais, não esquenta. A VoodooI2C nem é tão melhor que a ApplePS2SmartTouchPad assim. Fiz mais por curiosidade do que por necessidade.

Se você quiser BAIXAR A DSDT PRONTA, acesse o repositório do johnnywolinger. Tem tudo lá.

Por que usar VoodooI2CHID em vez de VoodooI2CELAN? Basicamente, a segunda não funciona. Eu testei tanto com o pin 0x3A quanto com o pin 0x9A. Aparentemente, ela só funciona com dispositivos ELAN mais antigos.

Por fim, quero transformar esse patch num patch automático a ser utilizado no MaciASL, só que não sei como faz. Se eu aprender, edito o post.

Edited by deomkds

Share this post


Link to post
Share on other sites
Advertisement
Posted (edited)

Thank you for this, I have exactly the same touchpad : (ELAN0501, TPDE) However this doesn't seems to work for me. 

On 6/6/2020 at 1:23 AM, deomkds said:

Depois apliquei os patches mencionados no ponto anterior para que o IORegExplorer pudesse enxergar o dispositivo.

Usando o IOJones, procurei pelo dispositivo TPDE e encontrei o pin APIC Hexadecimal: 0x52.

I dint see TPDE in IOJones, nor in IORegistryExplorer. 

I patched the DSDT, added the VoodoI2C.kext and VoodoI2CHID, but the touchpad is not working.

Here is an IROEG and a DSDT (patched) DSDT-Original.dsl (unpatched), I'll appreciate any help. This is the very last issue on my Acer Aspire V5-591G.

 

MacBook Pro.ioreg

DSDT.aml

DSDT-Original.dsl

Edited by kushwavez

Share this post


Link to post
Share on other sites
2 hours ago, kushwavez said:

Thank you for this, I have exactly the same touchpad : (ELAN0501, TPDE) However this doesn't seems to work for me. 

I dint see TPDE in IOJones, nor in IORegistryExplorer. 

I patched the DSDT, added the VoodoI2C.kext and VoodoI2CHID, but the touchpad is not working.

Here is an IROEG and a DSDT (patched) DSDT-Original.dsl (unpatched), I'll appreciate any help. This is the very last issue on my Acer Aspire V5-591G.

 

MacBook Pro.ioreg

DSDT.aml

DSDT-Original.dsl

Post in Portuguese.

Poste em Português.

Share this post


Link to post
Share on other sites
On 7/9/2020 at 12:31 PM, kushwavez said:

Thank you for this, I have exactly the same touchpad : (ELAN0501, TPDE) However this doesn't seems to work for me. 

I dint see TPDE in IOJones, nor in IORegistryExplorer

 I patched the DSDT, added the VoodoI2C.kext and VoodoI2CHID, but the touchpad is not working.

Here is an IROEG and a DSDT (patched) DSDT-Original.dsl (unpatched), I'll appreciate any help. This is the very last issue on my Acer Aspire V5-591G.

 

MacBook Pro.ioreg

DSDT.aml

DSDT-Original.dsl

 

I'm sorry for the late response, college has been taking up all of my time. I hope you have solved this by now, but if you didn't, can you tell me if you have applied this patch here? Your system is Skylake which needs them, and by comparing the DSDTs you provided it seems that you don't have them applied.

Edited by deomkds

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.

Announcements

  • Similar Content

    • By Tasco
      Hello there,
      Anybody here could help me to understand about 'Polling' mode and 'Interrupt' mode in I2C touchpad?
      My questions are:
      1. How get to know if we are running Polling or Interrupt mode in IOreg?
      2. How to set trackpad to 'Polling' mode?
      3. Which one is the best?
       
    • By ltooz_audis
      This is the way I patched my DSDT and SSDTs to get perfect sleep/wake and USB ports on my Skylark i7-6600u HD520 HP EliteBook 820 G3.
       
       
      Cheers,
      Louis
    • By MaLd0n
      -EFI OpenCore Folder Desktop 10th Intel Processors
      Paste this EFI folder in EFI partition in your USB STICK
      https://tinyurl.com/ybwr9kq3
       
      -Tutorial
      https://tinyurl.com/re2c9sz
       
      -Post Installation
      Paste EFI folder into EFI Partition in your SSD, reboot and extract one full dump with this app and post here!
      https://tinyurl.com/ybwr9kq3
      RunMe.app
      https://tinyurl.com/y9562hz7
       
      --DSDT PATCHES--
       
      -FIX ERRORS AND WARNINGS -FIX ACPI ERRORS -REMOVE UNUSED SCOPES / DEVICES -HIGH PRECISION EVENT TIMER -SATA SERIE ID -DMAC -REMOVE LINES, PROBLEMATIC and UNUSED -FIX K.P in REBOOT -NVRAM -REAL TIME CLOCK -SLPB -DARWIN / WINDOWS -XHCI -PLUGIN TYPE -HDEF -ARTC -IPIC -TIMR -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -UAR1 -LAN -FWHD -USBX -PMCR -PPMC -XSPI -GMM -kUSBCompanionIndex -io-device-location -IMEI -EC -PNLF -ARPT -GFX0 -NVME -ACPI-WAKE-GPE -DTGP -ACQUIRE MUT0 0XFFFF -MUTEX MUT0 0x00 -EXTERNAL REFERENCES -UNKNOWNOBJ -HDMI / HDAU -FULL RENAMED DEVICES  
      --SCREENSHOTS--
       









































       
       
      Big Thanks to XLR and your Badass Motherboard, Ultrafast CPU, Coolest Heatsink, Huge Graphics Card, Tonnes of RAM,
      Gigantic Hard Drive, Lightspeed Disk Burner, Professional Sound Card, Massive LCD Display.
       
       
      -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, headkaze, onemanosx, erroruser, Jenny David, Sampath007, Facebook Hackintosh community, Facebook Olarila community, SchmockLord, daliansky and many, many, many others!
       
      We're all here to have fun and learn from each other!
    • By MaLd0n
      ---USB---
      https://pikeralpha.wordpress.com/2016/07/13/simple-skylake-usb-fix-no-kexts-required/
       
      ---CLOVER FOLDER---
      https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/
       
       
      --MOBO
      GigaByte Z390 M Gaming



      --PROCESSOR
      Intel Core i9-9900K


      --COOLER
      CoolerMaster MasterLiquid ML120R RGB


      --MEMORY
      Corsair Dominator Platinum 16GB (2 x 8GB)


      --GPU
      Sapphiretech Radeon RX 590 8 GB GDDR5


       
      --SSD
      Samsung 970 EVO NVMe M2 Flash Drive


      --POWER SUPPLY
      EVGA 750 N1, 750W


      --WIRELESS
      TP-Link Archer T9E


      --BLUETOOTH
      Orico BTA-403


      --CASE
      Thermaltake View 21 Tempered Glass Edition


      --DSDT Patches--
      -FIX ERRORS AND WARNINGS -FIX ACPI ERRORS -REMOVE UNUSED SCOPES / DEVICES -HIGH PRECISION EVENT TIMER -SATA SERIE 10 ID -DMAC -REMOVE 22K LINES, PROBLEMATIC and UNUSED -FIX K.P in REBOOT -NVRAM -REAL TIME CLOCK -SLPB -DARWIN / WINDOWS 2015 -XHCI -PLUGIN TYPE -HDAS to HDEF -HDEF -REAL TIME CLOCK -ARTC -IRQs -SBUS -MIKEY -BUS1 -MCHC -ALS0 -SHUTDOWN -UAR1 -LAN -FWHD -USBX -PMCR -PPMC -XSPI -GMM -IMEI -EC -PNLF -ARPT -GFX0 -NVME -DTGP -ACQUIRE MUT0 0XFFFF -OPERATION REGION GPIO -MUTEX MUT0 0x00 -EXTERNAL REFERENCES -UNKNOWNOBJ -HDMI / HDAU -FULL RENAMED DEVICES  
      --SCREENSHOTS--





























      --BruceX--
       
      --USB-C-- test with SanDisk Ultra USB-STICK 128gb


       
      -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 MaLd0n
      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!  
×