Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
I made all changes... i removed kext from sle and reinstalled to le... i made even other points... rebooted but still the same issue to touch...
From your kernel log:
kernel: (VoodooI2C) VoodooI2CControllerDriver::VoodooI2CDeviceNub Warning: Incompatible APIC interrupt pin (0x5f > 0x2f) and no GPIO interrupts found; if your chosen satellite implements polling then VoodooI2CDeviceNub will run in polling mode.
You should patch your DSDT (ETPD device) for GPIO interrupts (Add SBFG, set correct GPIO pin, change the return statement of _CRS to SBFB, SBFG instead of SBFB, SBFI)
 
dsdt.dsl is my vanilla dsdt,
screenshot from IORegexplorer
Screenshot 2018-11-12 at 11.44.36 AM.png Screenshot 2018-11-12 at 11.45.00 AM.png
from above picture, i know i should use the HID Satellite Kexts,
and my APIC pin is 33, so the pin list is 0x1B or 0x7B
am i correct, but i dont know how to apply those patches, can someone lead me?
device "\\_SB.PCI0.I2C0" but the picture above seems wrong.
i'm trying to get polling mode working
2018-11-12 11:31:58.862714+0800 0xde Default 0x0 0 0 kernel: (kernel) VoodooI2CPCIController::pci8086,9d60 Starting I2C controller
2018-11-12 11:31:58.862745+0800 0xde Default 0x0 0 0 kernel: (kernel) VoodooI2CPCIController::pci8086,9d60 Set PCI power state D0
2018-11-12 11:31:58.862881+0800 0xde Default 0x0 0 0 kernel: (kernel) VoodooI2CPCIController::pci8086,9d60 Publishing nub
2018-11-12 11:31:58.863083+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::pci8086,9d60 Probing controller
2018-11-12 11:31:58.863105+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::pci8086,9d60 Found valid Synopsys component, continuing with initialisation
2018-11-12 11:31:58.863193+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerNub::pci8086,9d60 SSCN not implemented in ACPI tables
2018-11-12 11:31:58.863200+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerNub::pci8086,9d60 FMCN not implemented in ACPI tables
2018-11-12 11:31:58.863202+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::pci8086,9d60 Warning: Error getting bus config, using defaults where necessary
2018-11-12 11:31:58.863238+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::pci8086,9d60 Publishing device nubs
2018-11-12 11:31:58.863244+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::pci8086,9d60 Found I2C device: MSFT0001
2018-11-12 11:31:58.863334+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::VoodooI2CDeviceNub Could not find an I2C Serial Bus declaration
2018-11-12 11:31:58.863337+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::TPD0 Could not get device resources
2018-11-12 11:31:58.863340+0800 0x103 Default 0x0 0 0 kernel: (kernel) VoodooI2CControllerDriver::pci8086,9d60 Could not initialise nub for MSFT0001
2018-11-12 11:33:21.652605+0800 0x5a2 Default 0x0 0 0 kernel: I2C0: match category IODefaultMatchCategory exists
2018-11-12 11:33:28.140712+0800 0x61a Default 0x0 0 0 kernel: I2C0: match category IODefaultMatchCategory exists
and DSDT_mypatched.dsl is my patched version is it correct?
 

Attachments

  • DSDT.dsl
    919.7 KB · Views: 144
  • DSDT_mypatched.dsl
    911.3 KB · Views: 99
Last edited:
Asus ux305ca laptop
Cpu m3 6y30
macOS 10.14.1
VoodooI2C and VoodooI2CHID.kext v2.1.4
My touchpad can use as a simple mouse, left click and right click. But can't use Mutil touch.
And trackpad not showing up in System Preferences.
 

Attachments

  • Archive.zip
    5.8 MB · Views: 87
  • debug_18137.zip
    2.9 MB · Views: 76
  • trackpad.jpg
    trackpad.jpg
    178.7 KB · Views: 90
dsdt.dsl is my vanilla dsdt,
screenshot from IORegexplorer
View attachment 364971 View attachment 364972
from above picture, i know i should use the HID Satellite Kexts,
and my APIC pin is 33, so the pin list is 0x1B or 0x7B
am i correct, but i dont know how to apply those patches, can someone lead me?
device "\\_SB.PCI0.I2C0" but the picture above seems wrong.
i'm trying to get polling mode working

and DSDT_mypatched.dsl is my patched version is it correct?
Don't put an explicit pin number in SBFG, leave it 0. There's also no need to remove SBFI.
Just patch _CRS to this (you didn't do it):
Code:
Return (ConcatenateResTemplate (SBFB, SBFG))

If you need more help, attach a full troubleshooting archive made with gen_debug.sh.
 
Asus ux305ca laptop
Cpu m3 6y30
macOS 10.14.1
VoodooI2C and VoodooI2CHID.kext v2.1.4
My touchpad can use as a simple mouse, left click and right click. But can't use Mutil touch.
And trackpad not showing up in System Preferences.
While your touchscreen requires VoodooI2CHID.kext, your trackpad only works as a mouse with this kext.
Install VoodooI2CELAN.kext too, to have multitouch capability for your trackpad.
 
On my laptop I can't get it to work, the touchpad just doesn't respond at all and as soon as I touch it the keyboard stops working as well (it's PS2 and I've got VoodooPS2Controller.kext installed).
I'm on Skylake and looking at the log.txt I can see the "Unknown Synopsys component type: 0xffffffff" error, but unfortunately if I try to apply the I2C controllers patch in DSDT I get a lot of errors when compiling (see the attached screenshots).
 

Attachments

  • VoodooI2C.zip
    12.9 MB · Views: 98
this is my full debug, still can't get voodooi2c working
 

Attachments

  • debug_14183.zip
    8.8 MB · Views: 96
On my laptop I can't get it to work, the touchpad just doesn't respond at all and as soon as I touch it the keyboard stops working as well (it's PS2 and I've got VoodooPS2Controller.kext installed).
I'm on Skylake and looking at the log.txt I can see the "Unknown Synopsys component type: 0xffffffff" error, but unfortunately if I try to apply the I2C controllers patch in DSDT I get a lot of errors when compiling (see the attached screenshots).
A BIOS update may change the DSDT structure and you won't need the patch. In this case, re-extract and re-patch DSDT after the update, obviously.
Anyway, you can manually apply the patch (your DSDT doesn't look like other Skylake DSDTs...):
Change this code:
Code:
    Scope (_SB.PCI0)
    {
        Device (I2C0)
        {
            Name (LINK, "\\_SB.PCI0.I2C0")
        }
    }

    If (LNotEqual (SMD0, 0x02))
    {
        Scope (_SB.PCI0.I2C0)
        {
            Name (_HID, "INT3442")  // _HID: Hardware ID
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
            {
                Return (LHRV (SB10))
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (LCRS (SMD0, SB00, SIR0))
            }

            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                GETD (SB10)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                LPD0 (SB10)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                LPD3 (SB10)
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (LSTA (SMD0))
            }
        }
    }

    If (LEqual (SMD0, 0x02))
    {
        Scope (_SB.PCI0.I2C0)
        {
            Name (_ADR, 0x00150000)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                Return (Zero)
            }
        }
    }
To this:
Code:
    Scope (_SB.PCI0)
    {
        Device (I2C0)
        {
            Name (LINK, "\\_SB.PCI0.I2C0")
            Method (_PSC, 0, NotSerialized)  // _PSC: Power State Current
            {
                GETD (SB10)
            }

            Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
            {
                LPD0 (SB10)
            }

            Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
            {
                LPD3 (SB10)
            }
        }
    }

    If (LNotEqual (SMD0, 0x02))
    {
        Scope (_SB.PCI0.I2C0)
        {
            Name (_HID, "INT3442")  // _HID: Hardware ID
            Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
            {
                Return (LHRV (SB10))
            }

            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Return (LCRS (SMD0, SB00, SIR0))
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                Return (LSTA (SMD0))
            }
        }
    }

    If (LEqual (SMD0, 0x02))
    {
        Scope (_SB.PCI0.I2C0)
        {
            Name (_ADR, 0x00150000)  // _ADR: Address
            Method (_DSM, 4, Serialized)  // _DSM: Device-Specific Method
            {
                If (PCIC (Arg0))
                {
                    Return (PCID (Arg0, Arg1, Arg2, Arg3))
                }

                Return (Zero)
            }
        }
    }
 
this is my full debug, still can't get voodooi2c working
Remove DSDT.aml from Clover/ACPI. You should only put it in Clover/ACPI/patched.
No OS patch applied, use Windows 2015 (Windows 10) patch.
 
Remove DSDT.aml from Clover/ACPI. You should only put it in Clover/ACPI/patched.
No OS patch applied, use Windows 2015 (Windows 10) patch.
yeah, just got it working thank you
 
Status
Not open for further replies.
Back
Top