Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
BTW, you should disable VoodooPS2's trackpad&mouse plugins. See the README.
Thanks for reply,
what README is to see ?
Ioreg shows Voodoo2CHIDDevice under TPD0, what should be there instead ?
 
You should patch your DSDT for GPIO interrupts.


It doesn't look like VoodooI2C is loaded under your trackpad. Looking at the logs - _CRS was not found. Original _CRS was indeed renamed, but the new one wasn't found...
It looks like the SSDT was also patched for some reason (See SSDT-15.aml in the patchmatic extraction). Might be something with TgtBridge? Or something in your Clover configuration?
BTW, you should disable VoodooPS2's trackpad&mouse plugins. See the README.

Many thanks Ben.
Now My DSDT is patched with "GPIO Controller Enable (SKL+), but i have the same problem.
I think i need to modify my DSDT manually (GPIO Pinning).
For the moment unsuccessful, but I continue and try to understand this guide.
I may need to put the list of pins 0x55 in ETPD (touchpad) and the list of pins 0x5c in TPL0 (touch screen), but I'm not sure and I do not even see where I should write them.
I attach my patched DSDT and IOreg filed.
 

Attachments

  • GPIO Pinning.zip
    840.5 KB · Views: 68
Thanks for reply,
what README is to see ?
Ioreg shows Voodoo2CHIDDevice under TPD0, what should be there instead ?
This code will disable the trackpad plugin of VoodooPS2. Not sure of mouse plugin can be disabled (you can also just remove them from VoodooPS2Controller.kext/Contents/PlugIns).

Look at your touchscreen in IOReg to see how it should look. It's connected via USB.

How can I

How can I find use gen_debug.sh :((
https://www.tonymacx86.com/threads/tool-generate-proper-problem-reporting-files.235953/
Press F2 and F4 in the Clover GUI before running the script.

Surface Pro 3 Core i5 4300 U 1.9 GHz 4 GB RAM 128 GB It is trying to install Voodoo I 2 C on SSD.
I am reading the installation procedure, but I have something to tell you.

I'm about to use it in polling mode and I'm trying to patch DSDT.
Changed part of _CRS method as follows.

Change before:

Method (_CRS, 0, NotSerialized) // _ CRS: Current Resource Settings
{
Name (SBFI, ResourceTemplate ()
{
I2cSerialBusV2 (0x0060, ControllerInitiated, 0x000F4240,
Addressing Mode 7 Bit, "\\ _ SB.PCI 0. I 2 C 1",
0x00, ResourceConsumer,, Exclusive,
)
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,,,)
{
0x00000022,
}
})
Return (SBFI)
}

After change:

Method (_CRS, 0, NotSerialized) // _ CRS: Current Resource Settings
{
Name (SBFB, ResourceTemplate ()
{
I2cSerialBusV2 (0x0060, ControllerInitiated, 0x000F4240,
Addressing Mode 7 Bit, "\\ _ SB.PCI 0. I 2 C 1",
0x00, ResourceConsumer,, Exclusive,
)
})
Return (SBFB)
}

When starting up, the following error was output to system.log.
Could not get interrupt event source

Is it necessary to patch GPIO Pinning?
IOInterruptSpecifiers are not displayed like the attached image.
This patch is wrong. You want interrupts, not polling.
Your APIC pin is lower than 0x2F, you can use APIC interrupts. No need to use GPIO interrupts. Just revert that _CRS patch.

Many thanks Ben.
Now My DSDT is patched with "GPIO Controller Enable (SKL+), but i have the same problem.
I think i need to modify my DSDT manually (GPIO Pinning).
For the moment unsuccessful, but I continue and try to understand this guide.
I may need to put the list of pins 0x55 in ETPD (touchpad) and the list of pins 0x5c in TPL0 (touch screen), but I'm not sure and I do not even see where I should write them.
I attach my patched DSDT and IOreg filed.
Yes, of course you need GPIO pinning.
Your ETPD GPIO pin is indeed 0x55, TPL0 pin is 0x5C.
Follow the GPIO pinning guide, it is very clear.
Find _CRS of both devices, remove the Interrupt part from SBFI and rename it to SBFB. Then add SBFG, and put inside the correct GPIO pin.
Finally, change the return statement from Return (SBFI) to Return (ConcatenateResTemplate (SBFB, SBFG)).
 
This code will disable the trackpad plugin of VoodooPS2. Not sure of mouse plugin can be disabled (you can also just remove them from VoodooPS2Controller.kext/Contents/PlugIns).

Look at your touchscreen in IOReg to see how it should look. It's connected via USB.


https://www.tonymacx86.com/threads/tool-generate-proper-problem-reporting-files.235953/
Press F2 and F4 in the Clover GUI before running the script.


This patch is wrong. You want interrupts, not polling.
Your APIC pin is lower than 0x2F, you can use APIC interrupts. No need to use GPIO interrupts. Just revert that _CRS patch.


Yes, of course you need GPIO pinning.
Your ETPD GPIO pin is indeed 0x55, TPL0 pin is 0x5C.
Follow the GPIO pinning guide, it is very clear.
Find _CRS of both devices, remove the Interrupt part from SBFI and rename it to SBFB. Then add SBFG, and put inside the correct GPIO pin.
Finally, change the return statement from Return (SBFI) to Return (ConcatenateResTemplate (SBFB, SBFG)).

I have checked the touch panel device (TCH1) with IOReg, but there is no item of IOInterruptSpecifiers.
Is there any other way to check the APIC pin number?

If the IOInterruptSpecifiers are not displayed, is it unnecessary to patch the DSDT?
Does it work simply by installing VoodooI2C.kext and VoodooI2CHID.kext?
 

Attachments

  • picture1.jpg
    picture1.jpg
    128.9 KB · Views: 53
  • MacBook Air.ioreg
    6.8 MB · Views: 72
Last edited:
hey guys, any idea how I'd get my elan1200 trackpad running on my Lenovo Thinkpad T480s? I get a KP when I put VoodooI2c.kext + VoodooI2CHID.kext in EFI/CLOVER/Kexts/OTHER even after applying OS Check (Win10) + GPIO enable DSDT patches. profile is filled out and PR files are attached, thanks.
 

Attachments

  • debug_6898.zip
    1.7 MB · Views: 56
Thank you very much ben9923.
So I was well on the way, some details of which i was not very sure, but you managed to answer with a good anticipation.
The touchpad work perfectly and does not disappear anymore.
For the touchscreen, it's much better and more fluid.
I enclose my complete DSDT ".dsl" and 2 text files.
Thank you for sharing .....
 

Attachments

  • DSDT + text.zip
    90.2 KB · Views: 67
I have checked the touch panel device (TCH1) with IOReg, but there is no item of IOInterruptSpecifiers.
Is there any other way to check the APIC pin number?

If the IOInterruptSpecifiers are not displayed, is it unnecessary to patch the DSDT?
Does it work simply by installing VoodooI2C.kext and VoodooI2CHID.kext?
You should attach a full set of troubleshooting files. Use gen_debug.sh.
IOReg is not enough.

this is my reporting files
Files from gen_debug.sh are not attached. You're missing IOReg, system logs...
Please run the script and attach the output.

hey guys, any idea how I'd get my elan1200 trackpad running on my Lenovo Thinkpad T480s? I get a KP when I put VoodooI2c.kext + VoodooI2CHID.kext in EFI/CLOVER/Kexts/OTHER even after applying OS Check (Win10) + GPIO enable DSDT patches. profile is filled out and PR files are attached, thanks.
KP log is not attached. Should be collected automatically via gen_debug.sh, interesting... Doesn't it show after booting once more? You can then copy the panic log.
That's when NVRAM is working properly.

Are you sure it's ELAN1200? What does Windows Device Manager say?
 
Status
Not open for further replies.
Back
Top