Jump to content
Tasco

Explanation About I2C Touchpad

1 post in this topic

Recommended Posts

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?

 

Share this post


Link to post
Share on other sites
Advertisement

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 deomkds
      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.
      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.
      4. Na DSDT, encontre o method _CRS, que está no final do dispositivo TPDE.
      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.

       
      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.

       
      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.
    • By Lorkiyn
      Hey,
       
      so I just can't get my trackpad working. I'm running Catalina with OC (v0.5.8 debug) on my Gigabyte Aero 15x9.
      I followed the OC vanilla laptop guide and created a GPI0 SSDT fitting to my device name but it didn't help. I have VoodooI2C and VoodooI2CHID in my kexts folder because the publisher of my trackpad is "Microsoft" accordingly to Windows.
      I have stumbled across the DSDT patches from VoodooI2C, but since you can't load your patched DSDT on OC I didn't know what to do with them.
       
      According to VoodooI2C-HID satellite description you need a "PNP0C50" trackpad, which mine is.
       
      I noticed that there are some messages during, boot from Voodoo-Something, after selecting boot device in OC. But these messages are not logged in any log file I can find. So I don't know what exactly they are saying.
       
      Thank you in advance
       
      EFI.zip
      opencore-2020-05-31-141607.txt
      Windows_device_manager.tar
    • By williamdc
      EDIT: configurazione completata e funzionante!
      Guida: 
      - Sostituire la vostra cartella Clover con quella in allegato
      - Installare, i Kext in L/E (vedi archivio allegato):
      [VoodooTSCSync (risolve il lag dopo lo sleep); FakePCIID_Intel_HD_Graphics.kext; FakePCIID.kext (questi ultimi due non so se son necessari onestamente)]
       
      Cosa non funziona:
       
      - Scheda di rete wireless Intel integrata, da sostituire
      - Radeon 530
      - Facetime/iMessage
      - Dopo lo sleep, il touchpad ogni tanto impazzisce. Basta soltanto cliccare il tasto sinistro del touchpad e torna a funzionare egregiamente. 
       
      Tutto il resto funziona!
       
       
      Migliorie apportate: 
       
      - Sostituito HDD 2TB (molto lento) con un SSD Crucial (dalle stalle alle stelle).
       
      - Installato Boom2 per l'audio. Costa 10€ ma permette di avere un audio potente come su Windows, super consigliato!
       
      - DA SOSTITUIRE: Scheda Wifi. Aggiornerò il post appena fatto, sto cercando l'opzione migliore. Per ora sto usando un pennino Wifi mini, il TP-Link TL-WN823N v3, che è compatibile con MacOs (i driver li fornisce la stessa TP-Link). Tuttavia credo ci siano opzioni ben più performanti e a un prezzo migliore, io già lo avevo. 
       
      - Sostituito pannello LCD con uno più performante; Il problema di questo laptop è sempre stato il suo display orribile. Pessimi colori, risoluzione solo HD, e angoli di visione penosi. Sostituitelo con il seguente modello e trasformerete questo laptop: 
       
      B156HAN01.1 o B156HAN01.2
       
      Il display in questione ha risoluzione full HD, ha angoli di visione perfetti e colori molto migliori. Davvero un ottima scelta. Il connettore è un 30 pin, io personalmente l'ho preso su Amazon ma non è più disponibile, in ogni caso si trova in giro, basta cercare la sigla. 
       
      ATTENZIONE: Per la sostituzione del display NON SEGUITE LE GUIDE SU YOUTUBE o potreste danneggiare irreparabilmente l'hinge cover! Seguite questa guida: 
       
      https://it.ifixit.com/Guida/Lenovo+IdeaPad+330+Screen+Replacement+Guide/120240
       
       
       
      Credits: un sentito grazie ad Insanelymac.com e a  MaLd0n che ha sistemato gran parte delle cose! Buon Hackintosh 
       
       
      CLOVER.zip
       
      Kext in L-E.zip
       
       

    • By Drovosek
      Hey. I found a repository with modified voodoops2controller kext. Finalized it sysctl and kprinssu and the-darkvoid based on the kext from RehabMan.
      https://github.com/syscl/OS-X-Voodoo-PS2-Controller
       
      This kext almost like VoodooPS2Trackpad from acidanthera.
      https://github.com/acidanthera/VoodooPS2
      https://applelife.ru/threads/acidanthera-voodoops2trackpad-dlja-synaptics.2944059/
       
      I attach the compiled version.
      https://vk.com/doc183234383_514349114

      P.S. If you try it, then naturally remove other kexts for the touchpad and keyboard and, first install via KextUtility. If it works fine, then remove it from /S/L/E and throw in /kexts/Other
      VoodooPS2Controller modified syscl.zip
      P. P. S.
      I wanted to upload this archive to the forum in the "Downloads" section to where the cupcakes are located, but I didn't see a button to create a theme there. Also I have there is no opportunity to leave comments. Why?
      It would be nice if someone moved this kext there, too.
×