Contribute
Register

Issue w/ ELAN touchpad (intermittently working)

Status
Not open for further replies.
Joined
Oct 21, 2015
Messages
82
Motherboard
HP Pavilion x360 m3-u103dx
CPU
i5-7200U
Graphics
HD620
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Hello,

I'm having an issue with my touchpad.
I have the latest VoodooI2C + VoodooI2CHID + VoodooPS2Controller kexts installed.
Currently, my I2C touchscreen works PERFECTLY. I only applied the GPI0 Controller Enable [SKL+].
I looked at my GPI0 pinnings and determined that no additional pinning/configuration was required.

My issue is that my touchpad does not have any multitouch gestures (no two finger scrolling, etc).

I've done extensive research and can't quite figure out what's the best way to move forward.
It looks like my Keyboard and Touchpad are routed through PS2.

My keyboard is KBD0 and touchpad seems to be PS2M.
I have used ApplePS2SmartTouchPad.kext for ELAN support, however, it does not work at all (v4.6.5 - v4.7b5).

I've attached some files in hopes that someone may be able to chime in for some assistance.
Included is my CLOVER folder, Terminal Output for some kexts, IORegistry, and patchmatic extractions.

Please feel free to chime in if I have any additional Clover configs or kexts that I don't need.

List of third party kexts -
ACPIBatteryManager
AppleALC
FakeSMC
Lilu
NoTouchID
SATA-unsupported
USBInjectAll
VoodooI2C
VoodooI2CHID
VoodooPS2Controller
WhateverGreen

Thank you so much.
 

Attachments

  • mpckid.zip
    5.1 MB · Views: 49
Some laptops have a dual PS2+I2C trackpad. Try looking for a related BIOS setting (Input mode - Basic vs. Advanced).
No guarantee you have it, but if you do, you should be able to use VoodooI2C to make it work.

BTW, your static OS patch is unnecessary, as you're using _OSI -> XOSI + SSDT-XOSI.
 
Some laptops have a dual PS2+I2C trackpad. Try looking for a related BIOS setting (Input mode - Basic vs. Advanced).
No guarantee you have it, but if you do, you should be able to use VoodooI2C to make it work.

BTW, your static OS patch is unnecessary, as you're using _OSI -> XOSI + SSDT-XOSI.
I don't have many options available in my BIOS so that one unforunately is out of the question.
Looking at a Linux dump, seems that the touchpad is PS/2 according to this -

I: Bus=0011 Vendor=0002 Product=000e Version=0000
N: Name="ETPS/2 Elantech Touchpad"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input5
U: Uniq=
H: Handlers=mouse0 event5
B: PROP=5
B: EV=b
B: KEY=e420 10000 0 0 0 0
B: ABS=661800011000003

I'll be investigating some more on how I can possibily make this work.

Thanks for the heads up about the OS patch!
 
After some debugging, I was able to see that the touchpad was detected and enabled.
The X and Y coordinates were off somehow but managed to test that it actually works.
I performed an EC reset and that managed to solve my problem.

I got my touchpad to work + multigestures on an ELAN touchpad!
However, it seems that my touchscreen is broken (may be unrelated).

I will keep an update here on the touchscreen i2c issue.
Update : i2c touchscreen issue was unrelated.
Resolved by reinstalling/reconfiguring everything related to voodooi2c
 
Last edited:
Update - I have intermittent issues with the touchpad/trackpad being properly enabled by ApplePS2SmartTouchPad.kext.
I'm using the latest version being v4.7b5 and it's working great.

From the logs, it seems that it detects the mouse pad and attempts to enable it.
It even prints that it's enabled, however, sometimes it does not work.

On some reboots, it works perfectly as it should.
On some other reboots, it does not work.
It's pretty frustrating that it works sometimes and other times it doesn't (WITH NO CONFIG CHANGES).

Also, voodooi2c is unrelated as that touchscreen is working perfect as it should and my touchpad is not i2c.

I've attached all my files I currently have on a boot where the touchpad is working and not working.
The one that is working, the only change was booting in -v (verbose, doubt this changes anything).
 

Attachments

  • debug-WORKINGtouchpad.zip
    2.3 MB · Views: 56
  • debug-NOTWORKINGtouchpad.zip
    2.2 MB · Views: 44
Last edited:
Bumping this one, could anyone take a look at the two debugs provided?
No configurations were changed, on one boot my touchpad was working and on reboot or sleep/wake not working.
Thank you!

I just looked at my DSDT, there is a device as TPD0, however, it doesn't show up in my IOReg.
This might be the I2C trackpad, I'm looking into the steps on how to possibily enable this.

EDIT: I was able to enable it but it has a generic ID of XXXX0000 and has no function associated causing a kextpanic for TPD0. Not sure if I can actually force assign the PS2M device to hook into this TPD0 from IC20...
 
Last edited:
Bumping this one, could anyone take a look at the two debugs provided?
No configurations were changed, on one boot my touchpad was working and on reboot or sleep/wake not working.
Thank you!

I just looked at my DSDT, there is a device as TPD0, however, it doesn't show up in my IOReg.
This might be the I2C trackpad, I'm looking into the steps on how to possibily enable this.
Do you have windows on this machine? You should be able to determine if the touchpad is I2C or not and its device ID. Just having TPD0 in the DSDT doesnt necessarily mean that its your device.
 
Do you have windows on this machine? You should be able to determine if the touchpad is I2C or not and its device ID. Just having TPD0 in the DSDT doesnt necessarily mean that its your device.
I checked a while back on Windows and only saw the touchscreen as I2C.
Looks like what I said earlier about the keyboard and mouse is true. It's only PS2.
I reverted my changes back to the previous two debugs listed.
I can't figure out why the touchpad works on some boots and other boots it does not.

There is a kernel log with ApplePS2SmartTouchPad about
"Reconnecting the touchpad......"
"Touchpad enabled."
"Reconnecting the touchpad......"
"Touchpad enabled."

Thanks for the heads up.
 
Status
Not open for further replies.
Back
Top