Contribute
Register

VoodooI2C Help and Support

Status
Not open for further replies.
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
 
HI,
I've been trying to make my Elan trackpad work but I failed
So here is what I did :
first It’s ELAN061B
I applied the windows 10 + the patch for Skylake+ to DSDT . ( I followed Rehabman's guide on how to patch DSDT)
Identified the device ACPI ID in windows = TPD0

In IORegExplorer the APIC PIN number is = 53
So it not less than or equal 0x2F


I2C Serial Bus is correctly labeled I can find SBFB

Code:
 Scope (_SB.PCI0.I2C1)
    {
        Device (TPD0)
        {
            Name (HID2, Zero)
            Name (SBFB, ResourceTemplate ()
            {
                I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, _Y30, Exclusive,
                    )
            })
            Name (SBFI, ResourceTemplate ()
            {
                Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y31)
                {
                    0x00000000,
                }
            })
            Name (SBFG, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0000
                    }
            })


So I suppose I don’t have to rename or remove anything .

- the device is configured to support GPIO pins.

Code:
 Name (SBFG, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0000
                    }
            })

The name is in the root not _CRS method so it’s root pinned

pin list is zero :
Code:
   {   // Pin list
         0x0000
                    }

So it’s not well pinned

I guess step 2c then .
-
Code:
   Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LEqual (TPTY, One))
                {
                    Store (0x15, BADR)
                    Store (One, HID2)
                }

                If (LEqual (TPTY, 0x02))
                {
                    Store (0x2C, BADR)
                    Store (0x20, HID2)
                }

                If (LEqual (TPTY, 0x03))
                {
                    Store (0x2A, BADR)
                    Store (0x20, HID2)
                }

                If (LLess (OSYS, 0x07DC))
                {
                    Return (SBFI)
                }

                If (LEqual (TPDM, Zero))
                {
                    Return (ConcatenateResTemplate (SBFB, SBFG))
                }

                Return (ConcatenateResTemplate (SBFB, SBFI))
            }

Returns : Return (ConcatenateResTemplate (SBFB, SBFI))
So it’s definitely not well-pinned

Step 2d manually pinning the device.

the device hexadecimal is 53

In the first list : #define GPP_C11_IRQ 0x53

In the second list : #define GPP_C11 59

So the decimal GPIO PIN number is 59

Decimal 59 = 3B hexadecimal
3B is not in the range of 0x5c and 0x77 inclusive

It indeed appears twice in the first list :
#define GPP_F11_IRQ 0x3b
#define GPP_B11_IRQ 0x3b


First case :
#define GPP_F11 131
Decimal 131 = 83 hex

Pin list should be 0x83 right . Did that it did not work.

Second case :
#define GPP_B11 35

Decimal 35 = 23 hex
Changed pin list to 0x23 it did not work either .

Tried all those proposed numbers, not working too . 0x17, 0x1B, 0x34 and 0x55.

I changed the _CRS method to

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}

Not sure if I should remove everything except the return statement .

Copied kexts to Clover/kexts/Other
First I tried:
VoodooI2C + VoodooI2CHID .
Then
VoodooI2C + VoodooI2CElan
and finally
VoodooI2C + VoodooI2CElan + VoodooI2CHID

None of the combinations worked .

Now I think the damn device is not compatible or I missed something .
I googled the device name : ELAN061B google shows zero results !
one more thing I don't know if I should remove VoodooPS2controller or not, it's the only thing that makes the keyboard work.

In windows device manger, it’s and ELAN pointing device .

Any suggestions .
Thanks in Advance
 

Attachments

  • report_file.zip
    899 KB · Views: 79
HI,
I've been trying to make my Elan trackpad work but I failed
So here is what I did :
first It’s ELAN061B
I applied the windows 10 + the patch for Skylake+ to DSDT . ( I followed Rehabman's guide on how to patch DSDT)
Identified the device ACPI ID in windows = TPD0

In IORegExplorer the APIC PIN number is = 53
So it not less than or equal 0x2F


I2C Serial Bus is correctly labeled I can find SBFB

Code:
 Scope (_SB.PCI0.I2C1)
    {
        Device (TPD0)
        {
            Name (HID2, Zero)
            Name (SBFB, ResourceTemplate ()
            {
                I2cSerialBusV2 (0x0015, ControllerInitiated, 0x00061A80,
                    AddressingMode7Bit, "\\_SB.PCI0.I2C1",
                    0x00, ResourceConsumer, _Y30, Exclusive,
                    )
            })
            Name (SBFI, ResourceTemplate ()
            {
                Interrupt (ResourceConsumer, Level, ActiveLow, ExclusiveAndWake, ,, _Y31)
                {
                    0x00000000,
                }
            })
            Name (SBFG, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0000
                    }
            })


So I suppose I don’t have to rename or remove anything .

- the device is configured to support GPIO pins.

Code:
 Name (SBFG, ResourceTemplate ()
            {
                GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
                    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
                    )
                    {   // Pin list
                        0x0000
                    }
            })

The name is in the root not _CRS method so it’s root pinned

pin list is zero :
Code:
   {   // Pin list
         0x0000
                    }

So it’s not well pinned

I guess step 2c then .
-
Code:
   Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LEqual (TPTY, One))
                {
                    Store (0x15, BADR)
                    Store (One, HID2)
                }

                If (LEqual (TPTY, 0x02))
                {
                    Store (0x2C, BADR)
                    Store (0x20, HID2)
                }

                If (LEqual (TPTY, 0x03))
                {
                    Store (0x2A, BADR)
                    Store (0x20, HID2)
                }

                If (LLess (OSYS, 0x07DC))
                {
                    Return (SBFI)
                }

                If (LEqual (TPDM, Zero))
                {
                    Return (ConcatenateResTemplate (SBFB, SBFG))
                }

                Return (ConcatenateResTemplate (SBFB, SBFI))
            }

Returns : Return (ConcatenateResTemplate (SBFB, SBFI))
So it’s definitely not well-pinned

Step 2d manually pinning the device.

the device hexadecimal is 53

In the first list : #define GPP_C11_IRQ 0x53

In the second list : #define GPP_C11 59

So the decimal GPIO PIN number is 59

Decimal 59 = 3B hexadecimal
3B is not in the range of 0x5c and 0x77 inclusive

It indeed appears twice in the first list :
#define GPP_F11_IRQ 0x3b
#define GPP_B11_IRQ 0x3b


First case :
#define GPP_F11 131
Decimal 131 = 83 hex

Pin list should be 0x83 right . Did that it did not work.

Second case :
#define GPP_B11 35

Decimal 35 = 23 hex
Changed pin list to 0x23 it did not work either .

Tried all those proposed numbers, not working too . 0x17, 0x1B, 0x34 and 0x55.

I changed the _CRS method to

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (SBFB, SBFG))
}

Not sure if I should remove everything except the return statement .

Copied kexts to Clover/kexts/Other
First I tried:
VoodooI2C + VoodooI2CHID .
Then
VoodooI2C + VoodooI2CElan
and finally
VoodooI2C + VoodooI2CElan + VoodooI2CHID

None of the combinations worked .

Now I think the damn device is not compatible or I missed something .
I googled the device name : ELAN061B google shows zero results !
one more thing I don't know if I should remove VoodooPS2controller or not, it's the only thing that makes the keyboard work.

In windows device manger, it’s and ELAN pointing device .

Any suggestions .
Thanks in Advance
You may use gen_debug.sh to generate all of the necessary problem reporting files. Make sure you press F2, F4 in the Clover GUI before running the script.

VoodooI2C doesn't appear in the log, doesn't seem to be loaded... Please upload the files from gen_debug.sh for further analysis.

Which Skylake patch are you referring to? I assume you don't mean the I2C Controllers patch (it's Skylake only, you're on Coffee Lake and don't need it).

You don't need to specify GPIO port 0x83, or any other port. Revert back to 0, it's auto-filled by the system during runtime.

The patch for _CRS might be changed so the 'Store' commands are still performed, so patched method looks like this:
Code:
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LEqual (TPTY, One))
                {
                    Store (0x15, BADR)
                    Store (One, HID2)
                }

                If (LEqual (TPTY, 0x02))
                {
                    Store (0x2C, BADR)
                    Store (0x20, HID2)
                }

                If (LEqual (TPTY, 0x03))
                {
                    Store (0x2A, BADR)
                    Store (0x20, HID2)
                }

                Return (ConcatenateResTemplate (SBFB, SBFG))

Actually, the Coffee Lake GPIO controller isn't currently supported, the next VoodooI2C release should support it.
You currently can use polling instead:
https://voodooi2c.github.io/#Polling Mode/Polling Mode
Perform the same advised _CRS patch, but modify the return value to fit (Keep those 'Store' calls).
When the new release is out, change _CRS so it works with GPIO interrupts.

You should keep VoodooPS2Controller installed, for your keyboard...

If you need further help, after you perform all necessary changes, reboot, press F2 and F4 in the Clover GUI, then collect files with gen_debug.sh and upload.
 
You may use gen_debug.sh to generate all of the necessary problem reporting files. Make sure you press F2, F4 in the Clover GUI before running the script.

VoodooI2C doesn't appear in the log, doesn't seem to be loaded... Please upload the files from gen_debug.sh for further analysis.

Which Skylake patch are you referring to? I assume you don't mean the I2C Controllers patch (it's Skylake only, you're on Coffee Lake and don't need it).

You don't need to specify GPIO port 0x83, or any other port. Revert back to 0, it's auto-filled by the system during runtime.

The patch for _CRS might be changed so the 'Store' commands are still performed, so patched method looks like this:
Code:
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                If (LEqual (TPTY, One))
                {
                    Store (0x15, BADR)
                    Store (One, HID2)
                }

                If (LEqual (TPTY, 0x02))
                {
                    Store (0x2C, BADR)
                    Store (0x20, HID2)
                }

                If (LEqual (TPTY, 0x03))
                {
                    Store (0x2A, BADR)
                    Store (0x20, HID2)
                }

                Return (ConcatenateResTemplate (SBFB, SBFG))

Actually, the Coffee Lake GPIO controller isn't currently supported, the next VoodooI2C release should support it.
You currently can use polling instead:
https://voodooi2c.github.io/#Polling Mode/Polling Mode
Perform the same advised _CRS patch, but modify the return value to fit (Keep those 'Store' calls).
When the new release is out, change _CRS so it works with GPIO interrupts.

You should keep VoodooPS2Controller installed, for your keyboard...

If you need further help, after you perform all necessary changes, reboot, press F2 and F4 in the Clover GUI, then collect files with gen_debug.sh and upload.
Thank you for explaining the _CRS method patch. the guide does not specify exactly what to do . only mentioned to keep the return statement at the end .
I contacted the developer on Gitter .
and said the Coffee Lake is not supported yet .
I was referring to the patch that is suppose to be for Skylake and later . obviously there are two patches one for Skylake only and the other one with the + sign. I'm aware my CPU is Coffee Lake .
The developer suggested to change the plist for VoodooI2C to match my device ID and use polling mode .
I know I should add it in VoodooI2CACPIController in IONameMatch there are already some like INT33C2
I got my device Id in Linux it's :
Code:
E: DEVPATH=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-ELAN061B:00/0018:04F3:304B.0005
E: DRIVER=hid-multitouch
E: HID_ID=0018:000004F3:0000304B
E: HID_NAME=ELAN061B:00 04F3:304B
E: HID_PHYS=i2c-ELAN061B:00
E: HID_UNIQ=
E: MODALIAS=hid:b0018g0004v000004F3p0000304B
E: SUBSYSTEM=hid
I'm not sure how to exactly add the id and in which format, reversed or add INT .... It will be a trial and error .
I asked the dev to make things easy to edit it but he is ignoring me and said If I didn't know I should wait until he releases the Coffee Lake support .
do you have any idea how I should write the device id on the info.plist ?
Thanks again for your response it helps a lot .
 
Thank you for explaining the _CRS method patch. the guide does not specify exactly what to do . only mentioned to keep the return statement at the end .
I contacted the developer on Gitter .
and said the Coffee Lake is not supported yet .
I was referring to the patch that is suppose to be for Skylake and later . obviously there are two patches one for Skylake only and the other one with the + sign. I'm aware my CPU is Coffee Lake .
The developer suggested to change the plist for VoodooI2C to match my device ID and use polling mode .
I know I should add it in VoodooI2CACPIController in IONameMatch there are already some like INT33C2
I got my device Id in Linux it's :
Code:
E: DEVPATH=/devices/pci0000:00/0000:00:15.1/i2c_designware.1/i2c-6/i2c-ELAN061B:00/0018:04F3:304B.0005
E: DRIVER=hid-multitouch
E: HID_ID=0018:000004F3:0000304B
E: HID_NAME=ELAN061B:00 04F3:304B
E: HID_PHYS=i2c-ELAN061B:00
E: HID_UNIQ=
E: MODALIAS=hid:b0018g0004v000004F3p0000304B
E: SUBSYSTEM=hid
I'm not sure how to exactly add the id and in which format, reversed or add INT .... It will be a trial and error .
I asked the dev to make things easy to edit it but he is ignoring me and said If I didn't know I should wait until he releases the Coffee Lake support .
do you have any idea how I should write the device id on the info.plist ?
Thanks again for your response it helps a lot .
Yeah, you also need to add your I2C controller's PCI ID to VoodooI2C so it will attach to it.
Your device (TPD0) is connected to I2C1. Looking at the PCI ID in IOReg: pci8086,a369
You should add it to the IONameMatch of VoodooI2CPCIController in the info.plist.

If you don't want/know how to do this, and/or want to use GPIO interrupts, wait for next official release.
Until then, you must add the I2C controller to the info.plist and use polling instead of interrupts.
 
Yeah, you also need to add your I2C controller's PCI ID to VoodooI2C so it will attach to it.
Your device (TPD0) is connected to I2C1. Looking at the PCI ID in IOReg: pci8086,a369
You should add it to the IONameMatch of VoodooI2CPCIController in the info.plist.

If you don't want/know how to do this, and/or want to use GPIO interrupts, wait for next official release.
Until then, you must add the I2C controller to the info.plist and use polling instead of interrupts.
Thanks,
I give it a try and here are the results.
first I removed
  • AppleHPM.kext
  • AppleIntelLpssI2CController.kext
  • AppleIntelLpssI2C.kext
As I saw in the gitter chat . that they cause interference with I2C .
I added the device Id you suggested to the info.plist
and installed the VoodooI2C.kext with Elan satellite .
Applied the Windows10 patch and modified the _CRS method according to Polling mode guide.

After rebooting the kext is now loading but the trackpad is still empty in Settings.
I think there is some progress :)
it appears now in IOREG
I check the System log with
Code:
log show --predicate 'process == "kernel"' --start "2018-11-20 12:40:00" | grep Vo
And the results are:
Code:
2018-11-20 12:41:07.097137+0100 0x121      Default     0x0                  0      0    kernel: (VoodooPS2Trackpad) VoodooPS2SynapticsTouchPad: Version 1.9.2 starting on OS X Darwin 18.0.
2018-11-20 12:41:33.992481+0100 0x4b3      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CPCIController::pci8086,a369 Starting I2C controller
2018-11-20 12:41:33.992512+0100 0x4b3      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CPCIController::pci8086,a369 Set PCI power state D0
2018-11-20 12:41:33.992563+0100 0x4b3      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CPCIController::pci8086,a369 Publishing nub
2018-11-20 12:41:33.995121+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Probing controller
2018-11-20 12:41:33.995126+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Found valid Synopsys component, continuing with initialisation
2018-11-20 12:41:34.011718+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerNub::pci8086,a369 SSCN not implemented in ACPI tables
2018-11-20 12:41:34.011729+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerNub::pci8086,a369 FMCN not implemented in ACPI tables
2018-11-20 12:41:34.011732+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Warning: Error getting bus config, using defaults where necessary
2018-11-20 12:41:34.011764+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Publishing device nubs
2018-11-20 12:41:34.011778+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Found I2C device: ELAN061B
2018-11-20 12:41:34.012014+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::VoodooI2CDeviceNub Warning: Incompatible APIC interrupt pin (0x53 > 0x2f) and no GPIO interrupts found; if your chosen satellite implements polling then VoodooI2CDeviceNub will run in polling mode.
2018-11-20 12:41:34.013039+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan Touchpad probe
2018-11-20 12:41:34.013045+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan ELAN device found (ELAN061B)
2018-11-20 12:41:34.013058+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan Could not get interrupt event source
2018-11-20 12:41:34.013063+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan VoodooI2CELAN resources have been deallocated

I tried with the other Satellite got the same result.
I'm attaching the full report.

Thank you for helping.
 

Attachments

  • debug_30584.zip
    2 MB · Views: 102
Thanks,
I give it a try and here are the results.
first I removed
  • AppleHPM.kext
  • AppleIntelLpssI2CController.kext
  • AppleIntelLpssI2C.kext
As I saw in the gitter chat . that they cause interference with I2C .
I added the device Id you suggested to the info.plist
and installed the VoodooI2C.kext with Elan satellite .
Applied the Windows10 patch and modified the _CRS method according to Polling mode guide.

After rebooting the kext is now loading but the trackpad is still empty in Settings.
I think there is some progress :)
it appears now in IOREG
I check the System log with
Code:
log show --predicate 'process == "kernel"' --start "2018-11-20 12:40:00" | grep Vo
And the results are:
Code:
2018-11-20 12:41:07.097137+0100 0x121      Default     0x0                  0      0    kernel: (VoodooPS2Trackpad) VoodooPS2SynapticsTouchPad: Version 1.9.2 starting on OS X Darwin 18.0.
2018-11-20 12:41:33.992481+0100 0x4b3      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CPCIController::pci8086,a369 Starting I2C controller
2018-11-20 12:41:33.992512+0100 0x4b3      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CPCIController::pci8086,a369 Set PCI power state D0
2018-11-20 12:41:33.992563+0100 0x4b3      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CPCIController::pci8086,a369 Publishing nub
2018-11-20 12:41:33.995121+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Probing controller
2018-11-20 12:41:33.995126+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Found valid Synopsys component, continuing with initialisation
2018-11-20 12:41:34.011718+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerNub::pci8086,a369 SSCN not implemented in ACPI tables
2018-11-20 12:41:34.011729+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerNub::pci8086,a369 FMCN not implemented in ACPI tables
2018-11-20 12:41:34.011732+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Warning: Error getting bus config, using defaults where necessary
2018-11-20 12:41:34.011764+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Publishing device nubs
2018-11-20 12:41:34.011778+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::pci8086,a369 Found I2C device: ELAN061B
2018-11-20 12:41:34.012014+0100 0x4cc      Default     0x0                  0      0    kernel: (VoodooI2C) VoodooI2CControllerDriver::VoodooI2CDeviceNub Warning: Incompatible APIC interrupt pin (0x53 > 0x2f) and no GPIO interrupts found; if your chosen satellite implements polling then VoodooI2CDeviceNub will run in polling mode.
2018-11-20 12:41:34.013039+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan Touchpad probe
2018-11-20 12:41:34.013045+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan ELAN device found (ELAN061B)
2018-11-20 12:41:34.013058+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan Could not get interrupt event source
2018-11-20 12:41:34.013063+0100 0x4f8      Default     0x0                  0      0    kernel: (VoodooI2CELAN) VoodooI2CELANTouchpadDriver::elan VoodooI2CELAN resources have been deallocated

I tried with the other Satellite got the same result.
I'm attaching the full report.

Thank you for helping.
No need to remove:
  • AppleHPM.kext
  • AppleIntelLpssI2CController.kext
  • AppleIntelLpssI2C.kext
Just use CoolStar's 2 patches inside your config.plist. You may find them here:
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_patches.plist


VoodooI2CELAN does not support polling. Remove it and install VoodooI2CHID, attach a new set of files (system log will definitely look different).
You may need the HID satellite anyway. Not all ELAN trackpads can work with VoodooI2CELAN, the newer Precision Trackpads work with VoodooI2CHID.
 
Last edited:
I'm on VoodooI2C + VoodooElan v2.1.4 - Asus Skylake - ELAN1000

in VoodooI2C 2.1.4, clicking the bottom right corner of the trackpad for right-click doesn't work anymore. The bottom right corner right-click still works fine on v2.0.3.

In 2.1.4, even if I set the bottom right corner for right-click in the trackpad settings, it still doesn't work.

trackpad_right_corner_zoom.png
 
Last edited:
Just wanted to confirm that this is working excellent with an older Dell 9350 XPS 13 with UHD+ with touchscreen.

This is what I did:
  1. Patched the DSDT with Enable Controller and Windows 10 patches
  2. Removed three apple I2C kexts
  3. Installed VoodooI2C.kext and VoodooI2CHID.kext to /L/E
  4. Set permissions and updated the cache
  5. Reboot
Now the track pad works wonderfully including three fingers gestures (zoom, three fingers drag, etc.), but the best thing is that the touchscreen has these as well!

This is just awesome, thank you guys for your excellent work! I am very happy and very grateful!
 
Hi!

Razer Blade Stealth 2018, 13,3" w/ i7-8550u CPU here. First posted it in Mojave/laptop

After countless attempts, compulsive forum reading, failed GPIO Pinning etc... I still can't get the trackpad to work. At all :(

Some days ago I came across that guide :
https://github.com/stevensaid/Razer-Blade-Stealth-Hackintosh-Guide
and simply tried it.
I've installed Kext in L/E using kextbeast, ran the sudo kextcache -i / command etc... (trying to make it all properly)

And...

... for the first time, it seems that OSX recognizes my trackpad, as shown in the attached screenshot... but still, it doesn't work.

Now, if I use the config.plist in the aforementionned guide, I'm stuck in a bootloop right after Clover's screen.

So I can boot the RBS using instead the automatically generated config.plist when running Rehabman's Clover fork (that's the one included in my bug report, hopefully done right). I have to use that computer for work, hence the clumsy temporary workaround.

I've attached the guide's .plist as well for reference.

Any help would be tremedously appreciated, I've never felt that much of a big noob.

Cheers!

Ps: I'll make a fresh, clean install whenever I'll finally get it right. Still have a small Win10 partition to access the OSX partition if needed, but will wipe it out as soon as I get a solid configuration.
 

Attachments

  • debug_9126.zip
    1.8 MB · Views: 77
  • Kext.zip
    3.7 MB · Views: 85
  • NilBook.ioreg
    7.1 MB · Views: 133
  • stevensaid RBS config.plist.zip
    2.9 KB · Views: 76
  • Capture d’écran 2018-11-26 à 19.07.57.png
    Capture d’écran 2018-11-26 à 19.07.57.png
    975.4 KB · Views: 239
Status
Not open for further replies.
Back
Top