Jump to content
onemanosx

Enable I2C Trackpad (VoodooI2C) - Not a Guide... not really

Recommended Posts

This post is not meant to be a guide. Instead, I hope this thread is able to gather all VoodooI2C kext users to share their knowledge and new users to be able to activate their I2C track pads. This write up is a simplified version of the original to benefit new hackintoshers. It is always advised to read the actual documentation by the developer in case I had missed out important key points.


Another note, users are urged to participate in developer's gitter chat for better support or report major issues. And you are expected to had done the preliminary steps mentioned below. I would like to point out again that this is not an official VoodooI2C help page.


IMPORTANT 1: Ensure 'Disable built-in trackpad when...' is disabled within accessibility preferencesThis setting usually appears when your I2C device is fully detected in ioreg app but trackpad still do not function. Or, trackpad do not function when a USB mouse is connected. So, if you have not got your trackpad working, then move on to the next steps.


https://i.imgur.com/OixkqsSl.png


IMPORTANT 2: Enable advanced option for trackpad in bios if option is available.


IMPORTANT 3: Delete Trackpad and Mouse plugin from within VoodooPS2Controller kext to avoid conflict. We only need the keyboard plugin. Except in certain scenarios where touch screen is an I2C device and trackpad is a PS2, then do not remove the plugin.


https://imgur.com/4EonIZO


IMPORTANT 4: Disable _DSM to XDSM/ZDSM patches. This is one of the common mistakes found from most new users. DO NOT USE THESE PATCHES.


https://imgur.com/oy1cdhT



IMPORTANT 5: Disable Apple's I2C Kext to patch by adding Coolstar's patch below


Include Coolstar's patch in Clover's kext to patch.

 

<key>KextsToPatch</key>
	<array>          
		<dict>
			<key>Comment</key>
			<string>Prevent Apple I2C kexts from attaching to I2C controllers, credit CoolStar</string>
			<key>Disabled</key>
			<false/>
			<key>Find</key>
			<data>
			SU9LaXQ=
			</data>
			<key>InfoPlistPatch</key>
			<true/>
			<key>Name</key>
			<string>com.apple.driver.AppleIntelLpssI2C</string>
			<key>Replace</key>
			<data>
			SU9LaXM=
			</data>
		</dict>
		<dict>
			<key>Comment</key>
			<string>Prevent Apple I2C kexts from attaching to I2C controllers, credit CoolStar</string>
			<key>Disabled</key>
			<false/>
			<key>Find</key>
			<data>
			SU9LaXQ=
			</data>
			<key>InfoPlistPatch</key>
			<true/>
			<key>Name</key>
			<string>com.apple.driver.AppleIntelLpssI2CController</string>
			<key>Replace</key>
			<data>
			SU9LaXM=
			</data>
		</dict>
	</array>
</dict>

 

Or, if you are using plist editor/ xcode/ clover configurator. Refer to the the screenshot below.



Plist Editor/Xcode

https://imgur.com/66T16Z7



Clover Configurator

https://imgur.com/vrqjgh5



IMPORTANT 6: Update to the latest BIOS version if available. Some machines had been reported to have working/ better trackpad experience after a BIOS update.


IMPORTANT 7: Never.

NEVER INSTALL KEXTS in System/Library/Extension (S/L/E)!

For the ease of troubleshooting, keep your kexts in Clover/Kexts/Other and that works majority of the time!

If you have had installed kexts using kext installer app or similar, REMOVE the installed kexts in S/L/E (or L/E) NOW!! Keep kexts at Clover/Kexts/Other only.


OPTIONAL:


In the past, track pad tends to be disabled after every OS update and a simple rebuild of kext cache then rebooting will solve that minor issue. However, adding these in config.plist force loads trackpad without rebuilding kext cache (I'd recommend to still do a rebuild, anyway ;) )

 

<key>ForceKextsToLoad</key>
<array>
<string>\System\Library\Extensions\IOGraphicsFamily.kext</string>
</array>

 


Additional Info :


Some users might want to check that the trackpad settings are ticked or configured. In some cases, trackpad will only work like a normal mouse if the settings are not chosen. If you do not have these trackpad settings appear, it is likely you do not have a working battery status or you are using the wrong voodooI2C satellite kext or you did not choose advance setting for trackpad in BIOS.


https://imgur.com/ZzzIq6h




This is the official VoodooI2C gitter chat where you can ask the dev for comprehensive support

https://gitter.im/alexandred/VoodooI2C




It is also a known issue (at least in my knowledge at this point of writing) that certain version of kexts are not compatible with some devices and may involve some trial and error of different releases of kexts.



*Note: You must not have any other I2C kexts installed except for VoodooI2C kexts.


The following device classes are fully supported:


- I2C-HID devices

- ELAN devices

- FTE devices


Before posting for help and attaching send me files, new users are advised to take the below steps which are crucial. These preliminary steps are also outlined by the original dev in his wiki guide.


How to provide debug files


An easy way to provide debugging files is to run to run this app http://Olarila.com/files/Utils/RunMe.app.zip.

Run the app and do not do anything until the app has finished collecting all necessary files. Then upload the sendme folder created on desktop.

Also, before using Run_me app, make sure you boot from your SSD/HDD clover and NOT from USB bootable disk!



VoodooI2C Dev guide can be read HERE.


Lets Begin!


Basically, we are required to know these 3 main items


1. ACPI ID

2. APIC Pin Number

3. Ensure I2C Serial bus name are correctly labelled in DSDT.



Below are the steps on how to achieve the 3 criteria mentioned above.




Step 1 - Identify ACPI ID or GPIO pinning


If you have windows installed in another partition or drive, use Windows Device Manager to locate your device's ACPI ID like shown in the picture below.



https://imgur.com/FIJPN8P



In this example, the ACPI ID is TPL0



If you do not have windows installed, dont worry, continue to follow the step below


Step 2. Determining your interrupt pinning situation/ APIC pin number


a. First compile your DSDT by simply pressing F4 at clover boot. The file will be available at Clover/ACPI/Origin

b. Patch your DSDT with windows patch script below using MaciASL

 

into_all method code_regex If\s+\([\\]?_OSI\s+\(\"Windows\s2015\"\)\) replace_matched begin If(LOr(_OSI("Darwin"),_OSI("Windows 2015"))) end;

 


c. Place the patched DSDT into your clover/ACPI/patched folder. Reboot.

d. Use IOREG to find your ACPI ID like below picture



https://imgur.com/arLFTF3



In this example, the ACPI ID is TPD1.


Click on IOInterruptSpecifiers to reveal the hexadecimal APIC pin number. In this example the APIC pin number is 0x33. If we convert 0x33 to decimal, it will be 51.


If your APIC pin number is equal or less than 47, you can proceed to install kexts.

If you do not have IOInterruptSpecifiers, you can also proceed to install kexts.


Download latest kexts HERE


Always install 3rd party kexts in Clover/kexts/other. DO NOT install kexts in S/L/E! NEVER!



Step 3. Ensure I2C Serial bus name is correctly labelled



You will also need to make sure that your I2C Serial Bus Name is correctly labelled. Search for your device ACPI ID in your DSDT until you reach its device entry, you should be able to find a Name called SBFB. If you cannot find it, you may find something that looks like this instead:

 

Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
               {
                   Name (SBFI, ResourceTemplate ()
                   {
                       I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                           AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                           0x00, ResourceConsumer, , Exclusive,
                           )
                       Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
                       {
                           0x0000006D,
                       }
                   })
                   Return (SBFI)
               }

 


In this case, rename SBFI to SBFB and remove the following from it:


 

Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
   {
       0x0000006D,
   }

 





But, what if your APIC pin number is greater than 47?


to be continued..




Note: All guide and thanks to the hardwork of original developer whom can be contacted at https://gitter.im/alexandred/VoodooI2C

My ACPI pin no. is ETPD@1 can your method works for me??
Link to comment
Share on other sites

[ref]nikhilrathore_1999[/ref], ETPD@1 is not a PIN number but instead it is an ACPI ID.


This guide is generic for supported I2C trackpad or touchscreen devices

Edited by Guest

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

hallo, im new for hackintosh and i have installed hackintosh catalina, but my trackpad not work, i check trackpad type in windows ELAN1200, ACPI ID is TPD0

 

Replace Clover folder. Reboot. Extract new sendme files.

https://drive.google.com/file/d/1h0Cyzw9osWBVKsxAEkBXAKK-omRx9fJ7/view?usp=sharing

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

Work fine, but trackpad always not sensitive and delay why?

Check with preference settings.


Otherwise, you can try polling mode. ASUS laptops are known to have buggy GPI0 when running in interrupt mode.

DSDT in with trackpad in polling mode: https://drive.google.com/file/d/1hmlbKI1_1kYXV1-Cfb-TpzdI3KdQKiKK/view?usp=sharing

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

Check with preference settings.


Otherwise, you can try polling mode. ASUS laptops are known to have buggy GPI0 when running in interrupt mode.

DSDT in with trackpad in polling mode: https://drive.google.com/file/d/1hmlbKI1_1kYXV1-Cfb-TpzdI3KdQKiKK/view?usp=sharing

 

work fine i use you dsdt with trackpad in polling mode, always sensitive, but why when i startup my brightnes is always blank and after 5 minutes is it normal again ? :(, do you help me to fix ?

Link to comment
Share on other sites

when i startup my brightnes is always blank and after 5 minutes

Update Whatevergreen kext and see if that improves.


Added in 23 seconds:

work fine i use you dsdt with trackpad in polling mode, always sensitive,

;)

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

[ref]Fraquel[/ref], Click the Download button. A folder will be created on your desktop. Place all kexts in Clover/Kexts/Other.

https://imgur.com/ZY0DB2X

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

hai oneman why this animation is stopped in Trackpad?, and trackpad not working ?

No idea. How often does this happen? Also, check if you have a new bios update.

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

Hi,

I tried to come here after realizing my trackpad was failing with clicks, or holding the click when it shouldn't


I did the whole process, but it happened was my trackpad stop working =c

updated the pin in SBFG (set 0x3F), and I'm returning in _CRS -> Return (ConcatenateResTemplate (SBFB, SBFG))


This is my Runme: https://drive.google.com/open?id=1_RBge ... opdoeUNd-r

Link to comment
Share on other sites

This is my Runme: https://drive.google.com/open?id=1_RBge ... opdoeUNd-r

Your debug file is not accessible.


https://imgur.com/SqPqHXY

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

[ref]luccasoli[/ref], Your DSDT has native GPI0 pin. Therefore, there is no need to specify a pin manually.


Give this a go and feedback with a new sendme file.

https://drive.google.com/file/d/1u8Ts22O9Q1lzQ4OvrY5EsU4gl11pVK0t/view?usp=sharing

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

Link to comment
Share on other sites

[ref]onemanosx[/ref], Now the clicks work great, thanks!


To be perfect, I think it just needs to be recognized as an apple trackpad (with those gestures), but thanks for the help! : D


new send_me: https://drive.google.com/file/d/1Qvjyq4L2CKm8xqzQ6VLaywHiB-c5XZQt/view?usp=sharing


to gain knowledge, can you explain to me what you did to correct?

Link to comment
Share on other sites

Hello.


I have a nice Lenovo 320-15IKB with 8250u CPU and a i2c Synaptics Trackpad.


Its a SYNA2B3C


I have almost everything running but no Trackpad. Its working but it move and jumping.


I have generate DSDT.aml with Clover F4 and add Windows 10 Patch and GPIO Patch.



Sunrise Point-LP Serial IO I2C Controller #0 Signal processing co Signal processing co PCI0.I2C0 pci8086,9d60


IOInteruptSpecifiers <57 00 00 00 03 00 00 00>

IONAME SYNA2B3C


So the GPIO Pin must be 0x3F I I understand the Tutorial.


57 = 63 = Dezimal to HexDecimal = 0x3F


But the Trackpad is not working properly :-(



Please can someone help me.

DSDT Files Orifinal & IOREG File.zip

Systemreport 2.zip

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...