Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
I see you have an old version of VoodooI2C (< 2.1). Try updating to latest release (VoodooI2CHID too, of course).
Also update VoodooPS2Controller, which now integrates with VoodooI2C to ignore accidental trackpad input while typing.
Updated to the latest versions of the everything and the problem still remains. I just decided to check the compatibility list and realized my device is not fully supported, so that's probably why. My ACPI Device is PNP0C09 and I also have to add in pci8086,a368 to the VoodooI2C.kext under IOKitPersonalities - VoodooI2CPCIController-IONameMatch to make my trackpad work. I got this fix from a support thread for my specific laptop, Razer Blade 15 (2018).
 
This thread is intended for users of VoodooI2C to get support for using the kext on their system.

What is VoodooI2C?

VoodooI2C is a project consisting of macOS kernel extensions that add support for I2C bus devices. The project is split into two main components: the core extension and various other satellite extensions.

The Core
The core is the VoodooI2C.kext kernel extension. This kext is intended to be installed by anyone whose computer requires some form of I2C support. It consists of I2C controller drivers and is responsible for publishing device nubs to the IOService plane.

I finally managed to fix my trackpad, using the VoodooI2C and VoodooI2CHID kexts, but my mouse trackpad seems to have an issue - if I move the cursor slightly and let go, the cursor keeps moving in that direction even after I let go. This stops if I tap, but recurs if I move it a bit. Also, no gestures are working as of now, not even scrolling. Now that I fixed the DSDT, I have no clue in what way this can be fixed. I'll recheck the GPIO pinning guide as that could be one of the places I might have messed up something or the other. I have the ELAN1000 trackpad (TPL1 is it's ACIP ID, and 0x6d...the corresponding GPIO decimal pin was 85). I've attached my ioreg, DSDT, and config.plist files. BTW, I tested with VooDooI2CELAN kext and that made the trackpad completely non responsive. Also tested other common GPIO pins(17,55), and it seems to do the same thing as using 85, keeps moving to the side. Please help me in anyway possible.
 

Attachments

  • support.zip
    732.7 KB · Views: 113
I finally managed to fix my trackpad, using the VoodooI2C and VoodooI2CHID kexts, but my mouse trackpad seems to have an issue - if I move the cursor slightly and let go, the cursor keeps moving in that direction even after I let go. This stops if I tap, but recurs if I move it a bit. Also, no gestures are working as of now, not even scrolling. Now that I fixed the DSDT, I have no clue in what way this can be fixed. I'll recheck the GPIO pinning guide as that could be one of the places I might have messed up something or the other. I have the ELAN1000 trackpad (TPL1 is it's ACIP ID, and 0x6d...the corresponding GPIO decimal pin was 85). I've attached my ioreg, DSDT, and config.plist files. BTW, I tested with VooDooI2CELAN kext and that made the trackpad completely non responsive. Also tested other common GPIO pins(17,55), and it seems to do the same thing as using 85, keeps moving to the side. Please help me in anyway possible.
Your trackpad is ETPD, not TPL1.
You can see it in IOReg.
Please try re-patching DSDT, but with ETPD instead.

You do have some input with VoodooI2CHID because it supports polling mode (which is really not preferred). Only single touch, of course, as your trackpad is using a proprietary ELAN interface for multitouch.
You don't have any input via VoodooI2CELAN because it only supports interrupts.

If you need further help, please attach the full requested troubleshooting archive. You can create it (and more) automatically with gen_debug.sh. Make sure you press F2 + F4 in the Clover GUI before booting.

BTW, Usually APIC pin 0x6D results in GPIO pin 0x55 (not 55!).
 
Your trackpad is ETPD, not TPL1.
You can see it in IOReg.
Please try re-patching DSDT, but with ETPD instead.

You do have some input with VoodooI2CHID because it supports polling mode (which is really not preferred). Only single touch, of course, as your trackpad is using a proprietary ELAN interface for multitouch.
You don't have any input via VoodooI2CELAN because it only supports interrupts.

If you need further help, please attach the full requested troubleshooting archive. You can create it (and more) automatically with gen_debug.sh. Make sure you press F2 + F4 in the Clover GUI before booting.

BTW, Usually APIC pin 0x6D results in GPIO pin 0x55 (not 55!).

So, yeah I do know that it's ETPD, But I think it's name under I2c1 in the DSDT file was TPL1. As requested, I've hunted down those files you need. and yeah, I did type in 0x55 in the //pins part. So as you mentioned, since ELAN did not work for me, is there no possibility of it ever working? Am I stuck with HID's polling mode and it's single clicks? Sorry to bother you, but I've been stuck with this same problem for over 6 months now, and I've only got 2 USB ports, and 1 being gobbled up by a mouse all the time is really hard to deal with! Thank you in advance for your wonderful knowledgable advice! :)
 

Attachments

  • debug_28893.zip
    2.6 MB · Views: 132
So, yeah I do know that it's ETPD, But I think it's name under I2c1 in the DSDT file was TPL1. As requested, I've hunted down those files you need. and yeah, I did type in 0x55 in the //pins part. So as you mentioned, since ELAN did not work for me, is there no possibility of it ever working? Am I stuck with HID's polling mode and it's single clicks? Sorry to bother you, but I've been stuck with this same problem for over 6 months now, and I've only got 2 USB ports, and 1 being gobbled up by a mouse all the time is really hard to deal with! Thank you in advance for your wonderful knowledgable advice! :)
You can have multiple devices under a single controller.
The I2C controller your trackpad is attached to is indeed I2C1.
Additionally, DSDTs usually contain devices that don't really exist. They are constructed from templates + machine specific data.

Undo every patch you have in TPL1 (it does not exist), and patch ETPD.
You can, of course, find it With Command+F in MaciASL :p

After you correctly patch ETPD for GPIO interrupts, it'll work just fine with VoodooI2CELAN :)

Note: This IOReg looks different than the previous one. That's due to Apple's kexts attaching to your I2C controllers.
Add CoolStar's patches to your config.plist to make them not attach. You can find both of them here (add both):
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_patches.plist

Of course, please attach a new archive after you make changes (Very simple with gen_debug.sh).
 
You can have multiple devices under a single controller.
The I2C controller your trackpad is attached to is indeed I2C1.
Additionally, DSDTs usually contain devices that don't really exist. They are constructed from templates + machine specific data.

Undo every patch you have in TPL1 (it does not exist), and patch ETPD.
You can, of course, find it With Command+F in MaciASL :p

After you correctly patch ETPD for GPIO interrupts, it'll work just fine with VoodooI2CELAN :)

Note: This IOReg looks different than the previous one. That's due to Apple's kexts attaching to your I2C controllers.
Add CoolStar's patches to your config.plist to make them not attach. You can find both of them here (add both):
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_patches.plist

Of course, please attach a new archive after you make changes (Very simple with gen_debug.sh).
Thank you so much for this! I will do all this and get back to you in a day. Have a good day :)
 
Has anyone tried yet on Lenovo V330 ( i5-8250u) ? Touchpad (Synaptics ) not working/recognized at all, totally useless. Would like even single touch for start, better times to come :)
 
Has anyone tried yet on Lenovo V330 ( i5-8250u) ? Touchpad (Synaptics ) not working/recognized at all, totally useless. Would like even single touch for start, better times to come :)
You should have single touch working with VoodooI2C + VoodooI2CHID.
If you need some help, please attach a troubleshooting archive. You may do it with gen_debug.sh (Press F2 + F4 in the Clover GUI before using it).

BTW, there's a progress with the Synaptics satellite kext. With a supported device, next release might give you multitouch functionality.
First have single touch working with VoodooI2CHID. After the release, 'moving' to VoodooI2CSynaptics will be a matter of updating VoodooI2C and replacing the HID kext with the Synaptics kext.
 
You should have single touch working with VoodooI2C + VoodooI2CHID.
If you need some help, please attach a troubleshooting archive. You may do it with gen_debug.sh (Press F2 + F4 in the Clover GUI before using it).

BTW, there's a progress with the Synaptics satellite kext. With a supported device, next release might give you multitouch functionality.
First have single touch working with VoodooI2CHID. After the release, 'moving' to VoodooI2CSynaptics will be a matter of updating VoodooI2C and replacing the HID kext with the Synaptics kext.

I'm not that much into patching, i will try but i don't think it will work :)
 
Updated to the latest versions of the everything and the problem still remains. I just decided to check the compatibility list and realized my device is not fully supported, so that's probably why. My ACPI Device is PNP0C09 and I also have to add in pci8086,a368 to the VoodooI2C.kext under IOKitPersonalities - VoodooI2CPCIController-IONameMatch to make my trackpad work. I got this fix from a support thread for my specific laptop, Razer Blade 15 (2018).

Hello vettz, I have the same device id pci8086,a368 and ACPI device PNP0C05. I tried adding the name in the IONameMatch with DSDT edits for Polling mode. For me the trackpad does not work at all. The logs says it has some trouble starting with polling mode.
Can you share with me the steps you took. I will try the same to make my trackpad work.

Thanks and regards,
Shubham
 
Status
Not open for further replies.
Back
Top