Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
Please attach a full troubleshooting archive made with gen_debug.sh :)
Are you sure you're using latest release of VoodooI2C and VoodooI2CHID?

Make sure 'Disable built-in trackpad when...' is unchecked in SysPrefs>Accessibility>Mouse & Trackpad.

I made debug archive.
I hope, I used latest version of VoodooI2C-2.2.
In Mojave I didn't find this is 'Disable built-in trackpad when...' in hackintosh and real mac os.
 

Attachments

  • debug_27014.zip
    3.7 MB · Views: 50
I made debug archive.
I hope, I used latest version of VoodooI2C-2.2.
In Mojave I didn't find this is 'Disable built-in trackpad when...' in hackintosh and real mac os.
Meant the one in the attached picture :)

Make sure you follow the GPIO pinning guide correctly. You're using Cannon Lake-LP, not Sunrise Point. You'll probably have multiple GPIO pins to try.
 

Attachments

  • Screen Shot 2019-08-06 at 19.57.14.png
    Screen Shot 2019-08-06 at 19.57.14.png
    155.8 KB · Views: 99
Meant the one in the attached picture :)

Make sure you follow the GPIO pinning guide correctly. You're using Cannon Lake-LP, not Sunrise Point. You'll probably have multiple GPIO pins to try.

Thanks you for picture, that was unchecked.
I read GPIO pinning again and I cannot find IOInterruptSpecifiers for l2C1/ETPD. Do you know how to find hexadecimal APIC pin number?
Maybe it's my mistake, because I used pin is 0x55

I found in dsdt file:
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000006D, // Is APIC pin number?
}
 
Last edited:
Thanks you for picture, that was unchecked.
I read GPIO pinning again and I cannot find IOInterruptSpecifiers for l2C1/ETPD. Do you know how to find hexadecimal APIC pin number?
Maybe it's my mistake, because I used pin is 0x55

I found in dsdt file:
Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,, )
{
0x0000006D, // Is APIC pin number?
}
Yes, your APIC pin is 0x6D.
 
Yes, your APIC pin is 0x6D.

Thanks you :)
I tried setup touchpad again and again :(. I took this APIC pin 0x6D, found in Cannon Point-LP list value GPP_D13_IRQ 0x6d, then found decimal GPIO pin GPP_D13 81. Next, calculated new GPIO pin from CNL_GPP(0, 68, 92, 96) /* GPP_D */. Took my decimal GPIO pin 81 subtract base value = 68 and add gpio_base value = 96, and I got decimal number is 109 and converted to hex, I got again 0x6D, is it strange or not?

Then i add to DSDT file this section:
Code:
Name (SBFG, ResourceTemplate ()
{
   GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
   "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
   )
   {   // Pin list
       0x6D
   }
})

and changed _CRS section for Scope (_SB.PCI0.I2C1) and Device (ETPD):
Code:
Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
{
   Name (SBFB, ResourceTemplate ()
   {
      I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                      AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                      0x00, ResourceConsumer, , Exclusive,
                      )
       })
       Return (ConcatenateResTemplate (SBFB, SBFG))
}

But mac os didn't launch and stopped on Virtual SMC error.
I have Scope (_SB.PCI0.I2C0) and Device (TPL0). This is scope and device need to patch too?

P.S. I run OS from usb stick.
 
Thanks you :)
I tried setup touchpad again and again :(. I took this APIC pin 0x6D, found in Cannon Point-LP list value GPP_D13_IRQ 0x6d, then found decimal GPIO pin GPP_D13 81. Next, calculated new GPIO pin from CNL_GPP(0, 68, 92, 96) /* GPP_D */. Took my decimal GPIO pin 81 subtract base value = 68 and add gpio_base value = 96, and I got decimal number is 109 and converted to hex, I got again 0x6D, is it strange or not?

Then i add to DSDT file this section:
Code:
Name (SBFG, ResourceTemplate ()
{
   GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
   "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
   )
   {   // Pin list
       0x6D
   }
})

and changed _CRS section for Scope (_SB.PCI0.I2C1) and Device (ETPD):
Code:
Method (_CRS, 0, Serialized)  // _CRS: Current Resource Settings
{
   Name (SBFB, ResourceTemplate ()
   {
      I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                      AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                      0x00, ResourceConsumer, , Exclusive,
                      )
       })
       Return (ConcatenateResTemplate (SBFB, SBFG))
}

But mac os didn't launch and stopped on Virtual SMC error.
I have Scope (_SB.PCI0.I2C0) and Device (TPL0). This is scope and device need to patch too?

P.S. I run OS from usb stick.
You only need to patch _SB.PCI0.I2C1.ETPD.
0x6D seems like one option, but there's another IRQ in the first list for 0x6D. Try it too.

VirtualSMC error is probably unrelated, though. In case of a wrong GPIO pin you should see something like busy ETPD.
 
You only need to patch _SB.PCI0.I2C1.ETPD.
0x6D seems like one option, but there's another IRQ in the first list for 0x6D. Try it too.

VirtualSMC error is probably unrelated, though. In case of a wrong GPIO pin you should see something like busy ETPD.

Ok, I tried new number 0x41.
But again error busy ETPD and after some time os is launched without touchpad. :(
 
Ok, I tried new number 0x41.
But again error busy ETPD and after some time os is launched without touchpad. :(
GPIO pin 0x55 didn't hang busy? Did you get a few seconds of operation with it?
If so, please try reverting to 0x55 and attach a new troubleshooting archive, after removing VoodooI2C* and installing to /L/E.
Re-download the kexts before installing, just to be sure it's latest.

Patching Apple's I2C kexts is usually necessary when installing to /L/E, if VoodooI2C doesn't load:
Edit: Cannon Lake/Coffee Lake/Whisky Lake era controllers might not need the patch, actually. Try installing to /L/E without adding the patch, first.
 
Last edited:
GPIO pin 0x55 didn't hang busy? Did you get a few seconds of operation with it?
If so, please try reverting to 0x55 and attach a new troubleshooting archive, after removing VoodooI2C* and installing to /L/E.
Re-download the kexts before installing, just to be sure it's latest.

Patching Apple's I2C kexts is usually necessary when installing to /L/E, if VoodooI2C doesn't load:
Edit: Cannon Lake/Coffee Lake/Whisky Lake era controllers might not need the patch, actually. Try installing to /L/E without adding the patch, first.
Yes, GPIO 0x55 didn't hang busy.
I added VoodooI2C.kext and VoodooI2CHID.kext to /L/E and removed from System/EFI/Clover/kext/other. Then returned 0x55 APIC pin in dsdt. But touchpad not found. If placed VoodooI2C* to /S/L/E touchpad found in system preference, but didn't work or worked after login to system about 5-10 seconds and stoped. I tried with/without patch for config.plist
 

Attachments

  • debug_26656.zip
    3.3 MB · Views: 53
Yes, GPIO 0x55 didn't hang busy.
I added VoodooI2C.kext and VoodooI2CHID.kext to /L/E and removed from System/EFI/Clover/kext/other. Then returned 0x55 APIC pin in dsdt. But touchpad not found. If placed VoodooI2C* to /S/L/E touchpad found in system preference, but didn't work or worked after login to system about 5-10 seconds and stoped. I tried with/without patch for config.plist
Don't install to /S/L/E, only /L/E...
kextcache output shows you didn't install kexts properly. Remove them, then re-install like this:
Bash:
# For each kext run this
sudo cp -R kextName.kext /Library/Extensions

# After copying all kexts, rebuild kextcache
sudo kextcache -i /
 
Status
Not open for further replies.
Back
Top