Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
It should be _INI in the SSDT. The rename to XINI is meant to allow you to add an _INI method of your own - Via the SSDT.

For some reason, setting USTP via _INI does not work.
One alternative may be patching If (USTP) to If (One) or If (Ones).
Another may be patching USTP, 8 to XSTP, 8 and adding Name (USTP, One) via an SSDT.

Not sure what are the find/replace values of the former, but the latter is just the ASCII values of the names, with a fifth byte of 8 (i.e. Find: 55 53 54 50 08, Replace: 58 53 54 50 08).

Hmm... This is a bit over my head and will take me a bit of time to figure out... I guess I'll live with the handicapped trackpad for now and do some more trial and error testing with the patching as time permits.

Thank you very much for your time and patience. I truly appreciate it. :clap:
 
Hmm... This is a bit over my head and will take me a bit of time to figure out... I guess I'll live with the handicapped trackpad for now and do some more trial and error testing with the patching as time permits.

Thank you very much for your time and patience. I truly appreciate it. :clap:
you also seem to be loading VoodooInput.kext twice, it is part of VoodooPS2Controller.kext or with VoodooI2C you could try....

also you could try enabling one of your trackpad .aml files (maybe not SSDT-XOSI.aml)
 
NkkI.gif

Look what I have!!! All gestures working!!!
Screen Shot 2020-09-11 at 10.13.12 PM.png

After leaving here, I proceeded to do the GPIO Pinning in hopes that would solve my problem and, in fact, it did, sort of... TPD0 was now attached to VoodooI2C but the trackpad still wasn't recognized as a trackpad. Looking at the kernel logs, I saw the problem.
Screen Shot 2020-09-11 at 10.30.13 PM.png
SSCN and FMCN were not working right. A whole lot of Googling led me to the discovery of a hot patch that addresses this very problem, SSDT-I2CxConf. No other SSDTs are needed, including XOSI and GPIO. I'm using the basic VoodooI2CHID. VoodooI2CELAN doesn't work.

The acidanthera fork of VoodooPS2Controller must be used for VoodooI2C to work. It will not work with Rehabman's VoodooPS2Controller.

Trackpad pointer control works in Recovery partition but clicking and gestures don't. Therefore, if you need to do anything in Recovery, make sure you have a mouse.

I have attached the .aml file for those who may come across the same problem as I did.

Lastly, for anyone with the same laptop as mine, the GPIO pin is 0x0083.
 

Attachments

  • SSDT-I2CxConf.aml
    1 KB · Views: 146
Last edited:
View attachment 487883

Look what I have!!! All gestures working!!!
View attachment 487879

After leaving here, I proceeded to do the GPIO Pinning in hopes that would solve my problem and, in fact, it did, sort of... TPD0 was now attached to VoodooI2C but the trackpad still wasn't recognized as a trackpad. Looking at the kernel logs, I saw the problem.
View attachment 487882
SSCN and FMCN were not working right. A whole lot of Googling led me to the discovery of a hot patch that addresses this very problem, SSDT-I2CxConf. No other SSDTs are needed, including XOSI and GPIO. I'm using the basic VoodooI2CHID. VoodooI2CELAN doesn't work.

The acidanthera fork of VoodooPS2Controller must be used for VoodooI2C to work. It will not work with Rehabman's VoodooPS2Controller.

Trackpad pointer control works in Recovery partition but clicking and gestures don't. Therefore, if you need to do anything in Recovery, make sure you have a mouse.

I have attached the .aml file for those who may come across the same problem as I did.

Lastly, for anyone with the same laptop as mine, the GPIO pin is 0x0083.
Great!

Notice your DSDT already has SSCN and FMCN, they are just disabled by the USTP variable.
You can try to patch this variable to a non-zero value (One/Ones) to make a simpler patch, if you want to spend some more time and make the values non-hardcoded (Slightly lower CPU usage? Better performance? Really no idea) :)
 
Great!

Notice your DSDT already has SSCN and FMCN, they are just disabled by the USTP variable.
You can try to patch this variable to a non-zero value (One/Ones) to make a simpler patch, if you want to spend some more time and make the values non-hardcoded (Slightly lower CPU usage? Better performance? Really no idea) :)

I previously had "Store (One, USTP)" in my SSDT-AWAC.aml but it wasn't enough... I was still getting the SSCN and FMCN errors.
 
I previously had "Store (One, USTP)" in my SSDT-AWAC.aml but it wasn't enough... I was still getting the SSCN and FMCN errors.
On my device I patch USTP, 8 (Find: 55535450 08) to XSTP, 8 (Replace: 58535450 08).
Then added this via an SSDT: Name (USTP, One)
 
On my device I patch USTP, 8 (Find: 55535450 08) to XSTP, 8 (Replace: 58535450 08).
Then added this via an SSDT: Name (USTP, One)

Ah! Thanks for that! I'll give it a go in the coming days. :thumbup:
 
Hi guys,
i need your help again to fix SYNA3602 touchpad.
Kexts are loaded correctly (VoodooI2C and HID) and VoodooGPIOSunrisePointLP is present in Ioreg under GPI0. Trackpad preferences are visibile under system preference but the pointer doesn't move.

I've done various try without any luck.. Thanks
Mattia
 

Attachments

  • Archive.zip
    26.5 MB · Views: 104
Hello all.

Thank you guys for fantastic piece of work - VoodooI2C.

Used it in a few of my builds but with the latest one I hit a dead end.

I got a ASUS ZenBook PRO UX580GE with ScreenPad 2.0 and Touch Screen. The Touch Screen is working with VoodooI2C without anything done for it but the ScreenPad is giving me hard time. I managed to have the VoodooI2C and VoodooI2CHID loaded for it but is seems that something is wrong with enabling it or with my GPIO pinning.

The ETPD device is reported to be GDX1515

I've follows the VoodooI2C guide and did a SSDT with GPIO pinning and also attempted to do it with the help of GenI2C app and in both chases I got the same result - Kexts are loaded but there is no response from trackpad.

I also attempted the polling method with the same result.

I've tested with the following values for GPIO pinning: 57, D7 and F7.

I also replaced _STA method in ETPD device to return 0x0F with the same result as without replacing the method (with both I get the value of _STA set to 0xf - checked it with IOReg in ETPD device).

Any help or hints are welcome.
View attachment 453287View attachment 453288

I had the same problem with my ASUS UX434FLC. The Screenpad device did not work at all. A little detail helped to solve the problem in my case: As you can see in your ioreg the VoodooI2CTouchscreenHIDEventDriver is binding to ETPD. This is probably caused by the nature of Screenpad (it is both: Touchpad and Touchscreen). Thanks to the user zhen-zen who gave me this hint I could make my Screenpad usable:

- Find the right gpio-pin (as you already did).
- Use the latest version of VoodooI2C.kext and VoodooI2CHID.kext.
- Inside of VoodooI2CHID.kext edit the file Content/Info.plist and remove the whole section starting with "<key>VoodooI2CHIDDevice Touchscreen HID Event Driver" and also the following "<dict>" section.

This way there is no Touchscreen support inside VoodooI2CHID.kext. After this change, the "... Touchpad HID Event Driver" is now binding to ETPD. From now on the Screenpad is working for me.

A small problem remains: The clicks are not recognized properly and the multitouch is not working at all - but it is a start.
 
@boardschauer thank you for the hint.
I will dig into it and see if it works for my rig and if it dose I will check why needs the Touchscreen HID to be removed from the VoodooI2CHID.kext.
 
Status
Not open for further replies.
Back
Top