This repo is no longer maintained. Refer to https://github.com/leo-labs/VoodooSMBus for an improved version.
The objective of this project is to provide support to the ELAN Touchpads which use SMBUS to report the touch information. It has been created to work on the Thinkpad T480s.
"New ICs are using a different scheme for the alternate bus parameter. Given that they are new and are only using either PS2 only or PS2 + SMBus Host Notify, we force those new ICs to use the SMBus solution for enhanced reporting. This allows the touchpad found on the Lenovo T480s to report 5 fingers every 8 ms, instead of having a limit of 2 every 8 ms." https://patchwork.kernel.org/patch/10324629/
lspci
in Linux)VoodooPS2Controller.kext
for the keyboard to work. ElanSMBus.kext
provided here. SSDT-SMBUS.dsl
and config.plist patches similar to CoolStar ones SMBUS patches
. VoodooPS2Mouse
plugin from VoodooPS2Controller.kext
must be disabled or deleted (less elegant), so our touchpad do not use the PS2 interface to report the information and the initialization is done via SMBUS.config.plist
file (in the KextsToPatch section) to avoid the use of AppleSMBusPCI
and AppleSMBusController
kexts or remove them (again less elegant).SMBUS.dsl
, it just creates a device representing the touchpad so the kext can be attached to it.AppleIntelLpssiI2C.kext
and AppleIntelLpssiI2CController.kext
(If there is no "replacing" kext they get loaded and the driver does not work).ElanSMBus.kext
in /L/Esudo kextcache -i /
AppleIntelLpssiI2C.kext
and AppleIntelLpssiI2CController.kext
(more elegant).Follow the GPL3.0 license as per LICENSE.txt
Thanks to:
Please feel free to propose and/or share anything you think that might be useful.