Contribute
Register

[GUIDE/KEXT] Elan (elantech) PS/2 kext

Status
Not open for further replies.
Joined
Feb 2, 2012
Messages
57
Motherboard
Asus UX 305LA - OpenCore
CPU
i7-5500U
Graphics
HD 5500 (3200x1800)
Mobile Phone
  1. Android
Voodoo PS/2 for Elan, Elantech touchpad

If you are a user of elan ps/2 touchpad, you know support for it is pretty limited in Hackintosh. There is SmartPS2Touchpad kext, which is buggy and works unreliable or VoodooPS2 kext, which only supports relative mode (mouse emulation) which means no multitouch.

I have written the kext - elan touchpad integration for VoodooPS2 kext.

Why this is not in VoodooPS2?
Because the kext has to be tested. It works well for me (asus), but I would like to hear feedback from more users, from more devices. Once it is confirmed the kext works well, it might be merged into VoodooPS2 main project.

What should work?
Actually, everything. Basic touch, two finger scroll, multitouch, three and more fingers gestures, apple touchpad settings panel - everything.

How to install:
Just like normal VoodooPS2 controller - just copy the kext to Clover/OC (and add appropriate entries to OC config in case you use OpenCore). If you already have VoodooPS2 controller - just replace the file with this release.

Download: https://github.com/BAndysc/VoodooPS2/releases/

Special thanks to: Kishor Prins and whole Voodoo Input team

Please leave feedback even if it works.
 
Last edited:
 
I try but not working on my Asus GL552JX with ELAN trackpad
1. Copy to CLOVER/kexts/Other: keyboard and trackpad not working.
2. Install to /Library/Extensions: keyboard working, trackpad only basic, no multitouch. And Trackpad Prefpane not showing

Code:
Titan@Titan-MacBook-Pro ~ % sudo kextcache -i /   
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0f5a570 [0x7fff8c376090]> { URL = "file:///Library/Extensions/BrcmPatchRAM2.kext/", ID = "com.no-one.BrcmPatchRAM2" }
/Library/Extensions/BrcmPatchRAM2.kext - dependency 'com.no-one.BrcmFirmwareStore' not found.
/Library/Extensions/BrcmPatchRAM2.kext is missing dependencies (including anyway; dependencies may be available from elsewhere)
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d280afb0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakeSMC.kext/", ID = "org.netkas.driver.FakeSMC" }
Kext with invalid signature (-67050) allowed: <OSKext 0x7ff8d2806790 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooInput.kext/", ID = "me.kishorprins.VoodooInput" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d2801bc0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/", ID = "as.acidanthera.voodoo.driver.PS2Mouse" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0f48010 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/", ID = "as.acidanthera.voodoo.driver.PS2Controller" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0f4f6e0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/", ID = "as.acidanthera.voodoo.driver.PS2Keyboard" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0f4b770 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/", ID = "as.acidanthera.voodoo.driver.PS2Trackpad" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0f2b880 [0x7fff8c376090]> { URL = "file:///Library/Extensions/BrcmFirmwareRepo.kext/", ID = "as.acidanthera.BrcmFirmwareStore" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0d10cd0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakeSMC_CPUSensors.kext/", ID = "org.hwsensors.driver.CPUSensors" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0d0cdf0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakePCIID.kext/", ID = "org.rehabman.driver.FakePCIID" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0f1d770 [0x7fff8c376090]> { URL = "file:///Library/Extensions/BrcmBluetoothInjector.kext/", ID = "as.acidanthera.injector.BrcmBluetoothInjector" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0cfa450 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakeSMC_ACPISensors.kext/", ID = "org.hwsensors.driver.ACPISensors" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0cb30e0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/USBInjectAll.kext/", ID = "com.rehabman.driver.USBInjectAll" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0c5b960 [0x7fff8c376090]> { URL = "file:///Library/Extensions/RealtekRTL8111.kext/", ID = "com.insanelymac.RealtekRTL8111" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0d047d0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/WhateverGreen.kext/", ID = "as.vit9696.WhateverGreen" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0c09a60 [0x7fff8c376090]> { URL = "file:///Library/Extensions/Lilu.kext/", ID = "as.vit9696.Lilu" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0d03710 [0x7fff8c376090]> { URL = "file:///Library/Extensions/CodecCommander.kext/", ID = "org.tw.CodecCommander" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0c0fce0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/AppleALC.kext/", ID = "as.vit9696.AppleALC" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7ff8d0d03550 [0x7fff8c376090]> { URL = "file:///Library/Extensions/ACPIBatteryManager.kext/", ID = "org.rehabman.driver.AppleSmartBatteryManager" }
Invalid signature -67050 for kext <OSKext 0x7ff8d2806790 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooInput.kext/", ID = "me.kishorprins.VoodooInput" }
kxld[as.acidanthera.voodoo.driver.PS2Trackpad]: The vtable for ApplePS2Elan is unpatchable because its class declares the method 'ApplePS2Elan::message(unsigned int, IOService*, void*)' without providing an implementation.
kxld[as.acidanthera.voodoo.driver.PS2Trackpad]: The vtable for ApplePS2Elan is unpatchable because its class declares the method 'ApplePS2Elan::message(unsigned int, IOService*, void*)' without providing an implementation.
Link failed (error code 5).
Prelink failed for as.acidanthera.voodoo.driver.PS2Trackpad; omitting from prelinked kernel.
KernelCache ID: 09977C8F6ED5F676F5AAFCA923EA14FA
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0f8c0cd00 [0x7fff8c376090]> { URL = "file:///Library/Extensions/ACPIBatteryManager.kext/", ID = "org.rehabman.driver.AppleSmartBatteryManager" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0f8c0d7d0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/Lilu.kext/", ID = "as.vit9696.Lilu" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0f8c114d0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/AppleALC.kext/", ID = "as.vit9696.AppleALC" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0faf81340 [0x7fff8c376090]> { URL = "file:///Library/Extensions/CodecCommander.kext/", ID = "org.tw.CodecCommander" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0faf61590 [0x7fff8c376090]> { URL = "file:///Library/Extensions/WhateverGreen.kext/", ID = "as.vit9696.WhateverGreen" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fafe7bb0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/RealtekRTL8111.kext/", ID = "com.insanelymac.RealtekRTL8111" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fafdac60 [0x7fff8c376090]> { URL = "file:///Library/Extensions/USBInjectAll.kext/", ID = "com.rehabman.driver.USBInjectAll" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb81c500 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakeSMC_ACPISensors.kext/", ID = "org.hwsensors.driver.ACPISensors" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb824ea0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/BrcmBluetoothInjector.kext/", ID = "as.acidanthera.injector.BrcmBluetoothInjector" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb84ff50 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakePCIID.kext/", ID = "org.rehabman.driver.FakePCIID" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb85ae10 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakeSMC_CPUSensors.kext/", ID = "org.hwsensors.driver.CPUSensors" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb86a820 [0x7fff8c376090]> { URL = "file:///Library/Extensions/BrcmFirmwareRepo.kext/", ID = "as.acidanthera.BrcmFirmwareStore" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb86c400 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/", ID = "as.acidanthera.voodoo.driver.PS2Controller" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb86eb00 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Trackpad.kext/", ID = "as.acidanthera.voodoo.driver.PS2Trackpad" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb871900 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/", ID = "as.acidanthera.voodoo.driver.PS2Keyboard" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb873b30 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Mouse.kext/", ID = "as.acidanthera.voodoo.driver.PS2Mouse" }
Kext with invalid signature (-67050) allowed: <OSKext 0x7fc0fb8816b0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/VoodooPS2Controller.kext/Contents/PlugIns/VoodooInput.kext/", ID = "me.kishorprins.VoodooInput" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb86e3f0 [0x7fff8c376090]> { URL = "file:///Library/Extensions/FakeSMC.kext/", ID = "org.netkas.driver.FakeSMC" }
Kext with invalid signature (-67062) allowed: <OSKext 0x7fc0fb888720 [0x7fff8c376090]> { URL = "file:///Library/Extensions/BrcmPatchRAM2.kext/", ID = "com.no-one.BrcmPatchRAM2" }
Code:
Titan@Titan-MacBook-Pro ~ % kextstat | grep PS2
   61    2 0xffffff7f80e9c000 0x11000    0x11000    as.acidanthera.voodoo.driver.PS2Controller (2.1.5) B5F1B529-3B83-31CE-B7BC-07A6A7B7D7DC <12 8 6 5 3 1>
   99    0 0xffffff7f80eb6000 0x6000     0x6000     as.acidanthera.voodoo.driver.PS2Keyboard (2.1.5) A01FB095-930D-3F47-BE2C-4A45FB01A0FF <61 57 8 6 5 3 1>
  100    0 0xffffff7f80eb0000 0x4000     0x4000     as.acidanthera.voodoo.driver.PS2Mouse (2.1.5) EC558203-3F8A-35F3-AD67-DCEA44BB3786 <61 57 6 5 3>
 
Last edited:
I fixed add method ::message from VoodooPS2SynapticsTouchPad.cpp. Wow it's work nice charm, everything with multitouch all most the same magic trackpad
Code:
IOReturn ApplePS2Elan::message(UInt32 type, IOService* provider, void* argument)
Only one thing when i move with one finger cursor not very smooth.
Sorry, my English so bad. Hope you understand! Tks
 
Last edited:
Thanks, I will try on my Thinkpad T490s (found no tutorial for this laptop)

edit: it works only like the original (keyboard + trackpad without scrolling or gesture)
 
Last edited:
I fixed add method ::message from VoodooPS2SynapticsTouchPad.cpp. Wow it's work nice charm, everything with multitouch all most the same magic trackpad
Code:
IOReturn ApplePS2Elan::message(UInt32 type, IOService* provider, void* argument)
Only one thing when i move with one finger cursor not very smooth.
Sorry, my English so bad. Hope you understand! Tks
Tell me, how did you fix it? What do you need to add or change? Share information or kext.
 
I'm using Xcode to edit source code then build new kext
I do not know what code to add and to which file. Share information please. Share your kext. I will see if this works or not.
 
I do not know what code to add and to which file. Share information please. Share your kext. I will see if this works or not.
You can try my modified kext.
 

Attachments

  • VoodooPS2Controller.kext.zip
    126.5 KB · Views: 792
Hi hongvietmtb,
Thanks for your modified kext! Scrolling is now working with my Thinkpad t490s :clap:
Unfortunately, clicks don't work anymore :banghead:

Maybe could you help me?

Anyway, I'm happy because it's the first time I can use gestures on this laptop.
Thanks to bandysc too!
 
Status
Not open for further replies.
Back
Top