voodoosmbus / voodoormi Goto Github PK
View Code? Open in Web Editor NEWSynaptic Trackpad driver over SMBus/I2C for macOS
License: GNU General Public License v2.0
Synaptic Trackpad driver over SMBus/I2C for macOS
License: GNU General Public License v2.0
Hi, thanks for the effort on making this awesome project. I'm using it on a T460s a so far it's pretty much perfect.
The only issue I found is when click (with trackpad) and dragging on text or windows, the pointer remain stuck at the starting point until drag is released, making it unusable to select a portion of text.
When click is made with physical button or with 3-finger drag (set in accessibility settings) the behaviour is correct.
Thanks again
We should modify the templates to have VoodooRMI in them. Additionally, when using dmesg, new lines are not automatically added. We should double check all logging statements have new lines in them or edit the template Debug/error logs to do so. The addition of an Info template log should be done as well.
Describe the bug
Trackpad does not register touch input occasionally. Interval is seemingly random.
To Reproduce
Steps to reproduce the behavior:
Install driver. Corresponding patches are applied.
Expected behavior
Should register input everytime.
Log
kernel: (IOHIDFamily) VoodooI2CMT2SimulatorDevice:0x10000033a failed to create user client: 0xe00002c7
kernel: (IOHIDFamily) VoodooI2CMT2SimulatorDevice:0x1000004a6 failed to create user client: 0xe00002c7
kernel: (IOHIDFamily) VoodooI2CMT2SimulatorDevice:0x10000033a failed to create user client: 0xe00002c7
kernel: (IOHIDFamily) VoodooI2CMT2SimulatorDevice:0x1000004a6 failed to create user client: 0xe00002c7
kernel: (IOHIDFamily) VoodooI2CMT2SimulatorDevice:0x1000004a6 failed to create user client: 0xe00002c7
kernel: (IOHIDFamily) VoodooI2CMT2SimulatorDevice:0x10000033a failed to create user client: 0xe00002c7```
Basically kext spams this log every <1 ms.
RMI4 in Linux has I2C bindings alongside with SMBus bindings. This should be very easy to add to this kext as I've already done all the abstractions needed.
VoodooI2C already does have their own Synaptics kext so this is very low priority. I2C bindings for this kext should only be needed if people want to use F12 or the trackpoint.
https://github.com/torvalds/linux/blob/master/drivers/input/rmi4/rmi_i2c.c
OpenCore 0.6.0, clean install macOS 10.15.6 Catalina, ThinkPad X1 Yoga 3rd, only two-finger swiping gesture for notification center don't work
This function is likely used for touchscreens, as it mentions Pens.
I haven't seen any sensor actually use this, but it likely is something we should likely implement at some point anyways just in case it isn't just for touchscreens.
Feel free to comment below if you get logging related to a missing F12 function.
Edit: Here is the linux implementation of F12:
https://github.com/torvalds/linux/blob/master/drivers/input/rmi4/rmi_f12.c
Hi, I have a problem on my T440. Touchpad works well with VoodooRMI but the click is to sensitive. The problem is that if I move the cursor across the display I accidentally click on items and so on.
If I set it to Firm in the settings it's still the same.
Can I change some settings for that in plist?
Excuse me. Can you help me with this, please. I'm using OpenCore 0.5.9 DEBUG for my Ivy Bridge laptop. Although I’ve tried to used the VoodooRMI.kext, VoodooSMBus.kext but my synaptic trackpad didn’t work (Even I’ve tried disable VoodooPS2Mouse,Trackpad and then VoodooInput inside VoodooPS2 as wel, it can’t movel). I had used the troubleshoot page, too. As you see, there aren’t any SMBus-related SSDT and I’ve modified the VoodooSMBus.kext, too. Here is my EFI as well if you want. Thanks a lot for reading my message.
P/S: I also tried to add these patch from here: https://github.com/leo-labs/macOS-ThinkPad-T480s/blob/master/EFI/CLOVER/config.example.plist#L500-L535 but my mouse still can’t move
EFI.zip
My laptop is a Ivy Bridge:
DELL INSPIRON 3421:
Core i5 3337U-HD4000
7 Series/C216 Chipset Family SMBus Controller
PS2SmartTouchpad.kext and Rehabman VoodooPS2.kext work with some 2 fingers feature (exclude zoom in, out,...)
I don't know if this is a bug or may be that kind of thing but when I inject VoodooSMBus.kext and VoodooRMI.kext (involves the plug-in as well) but I can't do anything in my laptop (include moving the mouse and shut down) because my laptop just keep loading with a rainbow circle, I haven't had the ability to click on the apple icon for shutting down, too. It just keep loading for very long time so I did force turn off my laptop. I don't know if this is a bug in my laptop only or with some other laptops, too. What do you think about this, then. @1Revenger1 (The 1.0.0 has the same problem like this)
P/S: This hadn't occurred before I inject the kext through OpenCore
I have just found a interesting link about VoodooPS2 (don't know if your kexts have the same issues): here. I don't know if you can take a look at that link. I've used the SSDT-Enable_DynamicEWMode.dsl to fix my trackpad with the VoodooPS2 grabbed from acidanthera. It work quite good with force touch but physic buttons don't work. Thanks for reading my message, then (If this is off-topic, just leave a comment and I will delete the update as soon as possibe)
Describe the bug
Unable to load the kext with OpenCore, so I tried to load it with kextload after OS booted.
Load VoodooRMI after VoodooSMBus and VoodooInput.
Log
2020-07-24 17:38:06.486412+0800 localhost sudo[963]: eric : TTY=ttys004 ; PWD=/Volumes/Data/eric/Downloads/VoodooRMI-0.5-Debug ; USER=root ; COMMAND=/sbin/kextload VoodooSMBus.kext
2020-07-24 17:38:06.518160+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.518236+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.522370+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.522673+0800 localhost kextd[116]: (IOKit) [com.apple.kext:kextlog] Kext with invalid signature (-67030) allowed: <OSKext 0x6000006b8fc0 [0x7fff8be0cb60]> { URL = "file:///Volumes/Data/eric/Downloads/VoodooRMI-0.5-Debug/VoodooSMBus.kext/", ID = "de.leo-labs.VoodooSMBus" }
2020-07-24 17:38:06.533999+0800 localhost kextd[116]: (Security) Created Activity ID: 0x9a95, Description: SecTrustEvaluateIfNecessary
2020-07-24 17:38:06.542340+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.543287+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.543349+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.546063+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.547032+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.547094+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.547169+0800 localhost kextd[116]: (IOKit) [com.apple.kext:kextlog] Invalid signature -67030 for kext <OSKext 0x6000006b8fc0 [0x7fff8be0cb60]> { URL = "file:///Volumes/Data/eric/Downloads/VoodooRMI-0.5-Debug/VoodooSMBus.kext/", ID = "de.leo-labs.VoodooSMBus" }
2020-07-24 17:38:06.547934+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:06.548102+0800 localhost kextd[116]: (Security) [com.apple.securityd:security_exception] MacOS error: -67030
2020-07-24 17:38:08.345308+0800 localhost sudo[968]: eric : TTY=ttys004 ; PWD=/Volumes/Data/eric/Downloads/VoodooRMI-0.5-Debug ; USER=root ; COMMAND=/sbin/kextload VoodooRMI.kext
2020-07-24 17:38:08.387962+0800 localhost kextd[116]: (IOKit) [com.apple.kext:kextlog] Kext with invalid signature (-67050) allowed: <OSKext 0x6000006afe40 [0x7fff8be0cb60]> { URL = "file:///Volumes/Data/eric/Downloads/VoodooRMI-0.5-Debug/VoodooRMI.kext/", ID = "com.1Revenger1.VoodooRMI" }
2020-07-24 17:38:08.389708+0800 localhost kextd[116]: (IOKit) [com.apple.kext:kextlog] /Volumes/Data/eric/Downloads/VoodooRMI-0.5-Debug/VoodooRMI.kext - dependency 'de.leo-labs.VoodooSMBus' not found.
2020-07-24 17:38:08.390202+0800 localhost kextd[116]: (IOKit) [com.apple.kext:kextlog] com.1Revenger1.VoodooRMI's dependencies failed security checks; failing.
$ sudo kextstat| grep -i voodoo
69 1 0xffffff7f84913000 0x14000 0x14000 as.acidanthera.voodoo.driver.PS2Controller (2.1.5) 2529B917-EE1A-3F67-88B9-12F21B0F5D0A <12 8 6 5 3 1>
103 0 0xffffff7f8492c000 0xd000 0xd000 as.acidanthera.voodoo.driver.PS2Keyboard (2.1.5) 2BDE73B8-0F0D-3915-8D25-9DE623F7A209 <69 61 8 6 5 3 1>
174 0 0xffffff7f8498b000 0x2d000 0x2d000 de.leo-labs.VoodooSMBus (2.1) 672C9AAE-BC8B-3B92-9387-EB6CD2290386 <61 13 6 5 3>
175 0 0xffffff7f84901000 0x12000 0x12000 me.kishorprins.VoodooInput (1.0.6) 4CCC7C09-5BB8-355E-B104-2C81D8A29A91 <61 6 5 3>
2/3rds of the time, RMISMBus is still retained. This occurs even if nothing loads except RMISMBus (No RMIBus or Functions)
Need to add resume/suspend methods to all of the RMI Functions.
I would like to make following changes
That tiny pointer thingy we all love
HP, Dell, and others use 'Pointer stick'/'Pointing stick'/'Point stick' as a general term, while Lenovo uses trademarked 'TrackPoint'. Wikipedia uses 'Pointing stick'.
I think codebase should settle with one of popular terms instead of trackstick.
Touchpad / Trackpad
Touchpad is general term for flat touch input device. Trackpad is Apple's trademarked counterpart. I think 'touchpad' fits most cases and can avoid confusion with genuine Apple ones.
Describe the bug
When only enabling VoodooPS2 (Controller, Mouse, Keyboard, Trackpad) I had my trackpad working perfectly except the buttons which were doing nothing (nor the touch click).
I saw that I had a SMBus Synaptic device, so I installed VoodooRMI + VoodooSMBus + RMISMBus, and disabled VoodooPS2 Mouse and Trackpad.
But I can't get my trackpad to work at all anymore, and when I look at OpenCore logs, I see that it can't load RMISMBus.kext but doesn't say why ('Invalid parameter', seems like a generic error).
Since I'm trying to boot Catalina Recovery, and does not have a physical mouse, I do not have any system logs, but I attached my zipped EFI and the OpenCore logs.
Hi! i'm using your driver and everything is working fine, but for some reason i can't use the touchpad to drag windows or select text.
i just attempted to install this on my x1 hoping it would solve the click-and-drag problems i had with PS2. i believe i followed the instructions properly.
however the touchpad behaviour is now very erratic. it seems to time out constantly, and response is intermittent. the log has about a dozen messages like this over the course of 15 minutes.
2020-09-27 16:30:01.845267-0700 0x9ec3 Default 0x0 0 0 kernel: (kernel) VRMI - Error: Could not read F11 attention data: -6
sitting in my clover kext folder are VoodooRMI and VoodooSMBus as supplied here, and the latest version of VoodooPS2Controller minus all of the kexts but VoodooPS2Keyboard. did i make some obvious error? i hope i can get to the bottom of this as the touchpad is one of the last outstanding, frustrating, issues i have with this hack.
First time trying to use your kext
I would like to try the SMBus version because I've a SYNA3602.
I've applied the 4 patches in my config.plisti. SMBus is shown in ioReg and these 2 kexts are loaded:
kextstat | grep "Voodoo"
77 1 0xffffff7f84b88000 0x17000 0x17000 de.leo-labs.VoodooSMBus (3.0) 3DAE1A14-5846-37EB-B491-D24A6765115A <63 13 6 5 3>
83 1 0xffffff7f84b5d000 0x1f000 0x1f000 com.1Revenger1.VoodooRMI (1.1) CE1D615A-B3BF-344F-8266-7BB55F8C0CFC <63 6 5 3>
But the trackpad doesn't move and I've this error ..
mattia@Mattias-MacBook-Pro ~ % sudo dmesg | grep VRMI
VRMI - Error: Error: Failed to read SMBus version. Code: 0xFFFFFFFA
Attached you will find a copy of my ioReg ..
any suggestions ?
Mattia’s MacBook Pro (1).zip
If I try the VoodooI2C version I got this error :
VRMI - Error: RMII2C::TPD1 Could not get valid HID descriptor
and these kexts are loaded :
mattia@Mattias-MacBook-Pro ~ % kextstat | grep "Voodoo"
50 1 0xffffff7f83f4d000 0xb000 0xb000 com.alexandred.VoodooI2CServices (1) DBFA5EBE-2783-30ED-8E39-5829C42D6832 <5 3>
69 1 0xffffff7f83f58000 0x1a000 0x1a000 org.coolstar.VoodooGPIO (1.1) 652E2512-9BF1-35AD-85ED-880C9C5ABE9F <12 6 5 3>
79 1 0xffffff7f840e0000 0x2e000 0x2e000 com.alexandred.VoodooI2C (2.4.4) F1763DBE-345B-3E9D-B3E4-208419389F6B <69 64 50 13 12 6 5 3 1>
101 1 0xffffff7f84bc0000 0x1f000 0x1f000 com.1Revenger1.VoodooRMI (1.1) CE1D615A-B3BF-344F-8266-7BB55F8C0CFC <64 6 5 3>
Device: Lenovo T490, OpenCore 0.5.9
Issue: Trackpad is not detecting any input, even though trackpoint is working.
What I did:
IOReg is showing 2 nubs at 0x2c and 0x15. Trackpad device is detected but doesn't react to input. Trackpoint and the buttons are working.
❯ kextstat | grep -i voodoo
65 1 0xffffff7f8354b000 0x14000 0x14000 as.acidanthera.voodoo.driver.PS2Controller (2.1.4) F6B9B0C1-59C1-3CA8-9560-79D727E35BB2 <12 8 6 5 3 1>
76 1 0xffffff7f8555a000 0x31000 0x31000 de.leo-labs.VoodooSMBus (2.1) 672C9AAE-BC8B-3B92-9387-EB6CD2290386 <60 13 6 5 3>
79 0 0xffffff7f8559b000 0x1d000 0x1d000 com.1Revenger1.VoodooRMI (0.4) A7DD59E2-EF24-3BCB-8A47-7A865BA245AD <76 60 6 5 3>
98 0 0xffffff7f83564000 0xd000 0xd000 as.acidanthera.voodoo.driver.PS2Keyboard (2.1.4) AC45F7E0-7AAB-397E-8E50-864E40EB4F4A <65 60 8 6 5 3 1>
My EFI folder can be found from here.
Is this a bug or am I doing something wrong? Thank you
Describe the bug
I just wanted to give the project a shot and it's quite pleasing.
It works nicely on a Thinkpad T480 with synaptics touchpad. Both Pad and Stick!
Scrolling on the touchpad feels even much more like a native apple one. Nice Work!
But one little oddity stuck to my eye when I was checking the logs:
2020-06-21 16:58:15.978884+0200 0xf5 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: No response
[... around 10 repeats of the same message...]
2020-06-21 16:58:16.986326+0200 0xf5 Default 0x0 0 0 kernel: (VoodooSMBus) Error: Could not initialize ELAN device.
2020-06-21 16:58:59.459198+0200 0x1ce0 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
Also there seem to be little delay in the boot process - maybe because of the above error?
Is there any possibility to remove/disable the driver for the Elan-touchpad?
Not real sure how buttons work - seems like RMI Function F30 captures buttons, but get sent to F03. Need to look further. Currently we get no data back from either Functions.
Describe the bug
Trackpoint button does nothing
To Reproduce
Install driver. Corresponding patches are applied.
Expected behavior
Three trackpoint button works accordingly.
Log
N/A
Please note that my model has trackpoint buttons integrated to trackpad assembly, not keyboard. Thus it could send click signal via SMBus.
Describe the bug
When trying to load RMISMbus.kext following error occurs.
To Reproduce
Build with xcodebuild and try loading with kextutil.
Expected behavior
Loads properly
Log
Dependency Resolution Failures:
Kexts found for these libraries lack valid OSBundleCompatibleVersion:
de.leo-labs.VoodooSMBus
Some devices do not respond when trying to read the PDT tables, producing an output similar to:
VRMI - Info: SMBus version 2
VRMI - Debug: Config TrackpointMultiplier loaded: a -> a
VRMI - Debug: Config TrackpointScrollMultiplierX loaded: a -> 1e
VRMI - Debug: Config TrackpointScrollMultiplierY loaded: a -> 1e
VRMI - Debug: Config TrackpointDeadzone loaded: 1 -> 1
VRMI - Debug: Config DisableWhileTypingTimeout loaded: 1f4 -> 64
VRMI - Debug: Config DisableWhileTrackpointTimeout loaded: 1f4 -> 64
VRMI - Debug: Config ForceTouchMinPressure loaded: 50 -> 5a
VRMI - Debug: Config ForceTouchEmulation loaded: 1 -> 1
VRMI - Debug: Config MinYDiffThumbDetection loaded: c8 -> c8
VRMI - Debug: Updating Configuration
VRMI - Info: RMI Bus (DEBUG) Starting up!
VRMI - Error: Read PDT entry at 0x00e9 failed, code: -6
VRMI - Error: RMI initial reset failed! Continuing in spite of this
VRMI - Error: Could not read PDT properties from 0x00ef (code -6). Assuming 0x00.
VRMI - Debug: rmi_probe_interrupts: Counting IRQs
VRMI - Error: Read PDT entry at 0x00e9 failed, code: -6
VRMI - Error: IRQ counting failed with code -6
VRMI - Error: Could not probe
VRMI - Error: Could not probe
VRMI - Debug: Freeing function list
They respond to the version being read.
I haven't seen why this occurs - it generally occurs on older devices (Ivy Bridge), but also seen it on devices as late as Broadwell.
Related Issues:
I've tried rigging VoodooPS2Trackpad to reset the trackpad then notify VoodooRMI (where VRMI will then load) but a similar output was gotten.
Describe the bug
when laptop goes to sleep , sometimes it will wake up automatically and becomes very hot , with screen doesn't light up , suscepted kernel panic.
I am a thinkpad x1 yoga 2018 user , now using voodoormi to drive touchpad & voodooi2c+voodooi2chid to drive usb touchscreen , but finding out kernel panic when laptop goes to sleep , which doesn't seems to happen when I used voodoops2 to drive touchpad & voodooi2c+voodooi2chid to drive usb touchscreen ; here is my error-reporting file in voodooi2c-documentation request format, thanks!
Although I have add debug=0x100 and keepsysm=1 in clover boot argument , I don't (know) find out the kernel panic message ><
To Reproduce
Expected behavior
Sleep with normal behavior.
Log
the log is no recorded after the kernel panic , I will upload another log after boot when there is another kernel panic when laptop sleeping.
log 2.txt
The default value for TrackstickMultiplier
and TrackstickScrollMultiplier
are far too high.
Although I have set TrackstickScrollMultiplierX
& TrackstickScrollMultiplierY
down to 1
, the scroll speed is still too fast.
Is it possible to get scroll speed even more slower?
Here goes the log:
2020-06-24 15:39:59.975729+0800 0xf2 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Publishing nub for slave device at address 0x2c
2020-06-24 15:39:59.977100+0800 0xf2 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Publishing nub for slave device at address 0x15
2020-06-24 15:39:59.989546+0800 0xfb Default 0x0 0 0 kernel: (VoodooSMBus) Debug: No response
2020-06-24 15:45:44.742873+0800 0x29c2 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 15:46:09.408034+0800 0x2e3f Default 0x0 0 0 kernel: (VoodooSMBus) Debug: No response
2020-06-24 15:46:09.408061+0800 0x2e3f Default 0x0 0 0 kernel: (VoodooRMI) Error: Could not read F11 attention data: -6
2020-06-24 15:46:10.155364+0800 0x2e7d Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 15:46:25.469369+0800 0x32fd Default 0x0 0 0 kernel: (VoodooSMBus) Debug: No response
2020-06-24 15:46:25.469394+0800 0x32fd Default 0x0 0 0 kernel: (VoodooRMI) Error: Could not read F11 attention data: -6
2020-06-24 15:47:24.758617+0800 0x34b6 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 21:22:46.110585+0800 0x20933 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 21:24:24.739075+0800 0x214f2 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 21:24:25.294500+0800 0x21519 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 21:24:28.869456+0800 0x2164f Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 21:24:40.577869+0800 0x21a35 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 21:24:48.647345+0800 0x21d0a Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
2020-06-24 21:24:50.429867+0800 0x21da1 Default 0x0 0 0 kernel: (VoodooSMBus) Debug: Lost arbitration
as the title , my hackintosh 10.14.6 can work with 0.4 release, bug 0.5 can't drive the stuff, unfortunately the commond "log show --last boot | grep -i voodoo > ~/Desktop/RMILog.txt" give me nothing , maybe I should use debug one , I will push the log to this issue this night.
by pass
my device is Elan touchpad
Hey, I followed all the instructions and my trackpad and gestures are working but there is no trackpoint.
Describe the bug
I've tried to build VoodooRMI-master with VoodooSMBUS-master and can't get it to build/work. It works fine with the VoodooSMBus-build from the VodooRMBUS-release-zip.
Problem seems to be the missing VoodooSMBusDeviceNub:wakeupController()-method which is, according to the headers, available in the Release-zip and missing in VoodooSMBUS-master.
If I remove the call in VoodooRMBUS it builds, but VoodooRMBUS doesn't attach to VoodooSMBusDeviceNub.
(If this is expected at the current stage, a note in the readme would be fine!)
To Reproduce
Steps to reproduce the behavior:
Log
+++ b/VoodooRMI/Transports/RMISMBus.cpp
@@ -35,7 +35,7 @@ RMISMBus *RMISMBus::probe(IOService *provider, SInt32 *score)
return NULL;
}
- device_nub->wakeupController();
+ // device_nub->wakeupController();
device_nub->setSlaveDeviceFlags(I2C_CLIENT_HOST_NOTIFY);
do {
Describe the bug
I look at IORegistryExplorer, the device name shows up as <"SYNA2B42">.
Not a bug/issue as much as my attempt to use VoodooRMI on a device that's not on your list.
Catalina 10.15.6, OpenCore 0.6.1, Lenovo laptop i7-8550U, VoodooI2C.kext.
The trackpad works for a minute or two freshly after boot, and then it stops responding.
Once the trackpad stops working, Console keeps on repeating these two lines:
kernel: (RMII2C) VRMI - Error: RMII2C::TPD0 RMI_READ_DATA_REPORT_ID mismatch 1
kernel: (VoodooRMI) VRMI - Error: Unable to read IRQ
To Reproduce
Steps to reproduce the behavior:
I believe the relevant kexts are VoodooI2C.kext and VoodooRMI.kext.
Boot.
Watch trackpad work.
Play around for a minute or two.
Watch it stop working.
Go to Console at review log.
Expected behavior
Not sure what to expect, since the device name isn't on the list yet.
Log
I might have to use the debug version of VoodooRMI and capture a better log, if that's going to be part of the effort to get this working. Let me know what to do here.
F3A was recently added to the Linux kernel so we can actually implement it now
VoodooRMI already supports DisableWhileTypingTimeout
. But it is also common that trackpad having accidental input when using trackpoint.
VoodooSMBus has a configuration DisableWhileTrackpoint
but it has been removed from VoodooRMI bundled one. So I assume there is no Palm detection for trackpoint at this moment.
Currently Trackpoint scroll (with middle button) feels like mouse wheel: things scroll line by line.
Is it possible to make trackpoint scroll in a smooth way (like two fingers gesture on touchpad)?
when I didi what the readme said, I still can't make the trackpad of T450s work. When I use the kextstat, I found that the kext wasn't loaded.
I have use the debug kext, the boot log has nothing about voodoo, so the txt file is bank.
this is the kext.
The middle Trackpoint button on my X270 emits a mouse click on both the press and release, i.e. middle clicking a link on Safari or Firefox will open two new tabs. This also affects scrolling, if you start scrolling over a link the link will open in a new tab as well as scrolling the page.
I am using the latest release on a Thinkpad X270.
After failing to get voodooRMI to work via SMBus, I finally got voodooRMI to load by injection with voodooI2C and RMII2C - but button clicks aren't working. Also, cursor tracking / velocity scaling is noticeably less accurate than it is under the already-janky I2C / I2CHID. Clearly I'm doing something wrong.
Via dmesg or log-grepping VRMI, I can see F12 packet activity and can move the cursor, but button clicks aren't being recognized. They aren't being registered by the system and the logs always show "button: 0". Using 'tap to click', tap-clicks are registered by the system, but still appear as "button: 0" in all logs.
(The button-clicks are recognized under VoodooI2C / VoodooI2CHID (without voodooRMI))
Specs:
Relevant log / config info is attached. Any help would be greatly appreciated.
Right now, we currently make the timeout from typing or using the trackpoint completely reject all touches for ~0.5 seconds.
We should look into creating zones in which the timeouts reject touches and don't reject touches.
This list may change over time, but I eventually want to accomplish:
I believe many of these would fit well within VoodooInput as well.
Many of these come from https://wayland.freedesktop.org/libinput/doc/1.11.3/palm_detection.html
HP 8570w (3rd Ivy bridge). SBUS@1F,3 (1e228086)
OS -- Mojave
Upper 3button & trackstick not working
bottom 3button working (middle button wired)
Touchpad working (all gestures.. good)
HP 850G1 (4th Haswall), SBUS@1F,3 (9c228086)
OS -- Catalina
(trackstick not test)
bottom 2 button & Touchpad working (all gestures..so good)
HP 8460p (2nd sandbridge) - OS : Sierra
not connected SBUS. blank.
What should i do?
Describe the bug
After wake from deep sleep, sometimes touchpad and Trackpoint do not work.
To Reproduce
Put device in deep sleep, then wake.
Expected behavior
Touchpad and Trackpoint should work properly.
Log
I was using Release target kext. I'll switch to Debug one and try to reproduce bug.
i use your VoodooSMBus kext in assiociation with VoodooRMI kext foe working gestures/trackpad on my synaptic SMBus trackpad (PCI 8086:9C22) but no gestures(tap to click, 3/4 gestures etc...) or trackpad detected. how to fix please ?
Whenever the kext loads and tries to run a method from VoodooSMBusDeviceNub, it throws an error like this:
https://cdn.discordapp.com/attachments/573338555305295903/715777634146975764/IMG_20200528_210436.jpg
My guess is that it isn't able to link properly, either due to incorrect headers or not finding VoodooSMBus at all. Adding VoodooSMBus to the CFBundleDependencies list throws an error upon load about not being able to find VoodooSMBus if it is added to the list. This occurs if VoodooSMBus is loaded, even through a bootloader like OpenCore,
First of all, Thank you very much for the excellent project.
When I used Trackpoint in Windows 10 OS, I found that the Trackpoint is so smooth than any other OS distribution.
So if we can optimize it in OS X, thanks again.
Hi,
I'm trying using your project for the two devices in the object.
SSDT-SBUS.aml
SSDT-TPXX.aml
controls TPD0
(which is Touchscreen-> SYNA2393
) and TPL1
(which is Touchpad-> SYNA1D31
) using VoodooI2C and VoodooI2CHID with GPI0 pinning (they were working but with the following issue, so it was suggested to give a try to your project!)config.plist
I disabled all calls to VoodooI2C and VoodooI2CHID and enabled (but I'm not sure whether the loading order is right and whether I need to load also Trackpoint) calls to VoodooRMI and VoodooSMBusCould you give it a look, please?
Thanks in advance! @profzei
MateBookXPro-OC-v1.6.0-beta.zip
Update: I'm using Release v. 1.1.0
The timeouts for commandSleep don't seem to be working right. Removing the deadline though also seems to prevent responses from the device.
The Trackpoint does still operate correctly otherwise - but we could configure stuff on it pretty easily if we could get working tx/rx with it
While using the trackpad, some people have come across an issue where the trackpad will randomly stop working for a second or two, before macOS acts upon whatever actions occurred during that time. This only occurs on some devices.
The only time this has happened to me is when using ACPIBatteryManager.kext, and I rarely get it after sleeping under Catalina. This may be related to some scheduling issues and VoodooInput, or other weird interaction between VoodooInput and VoodooRMI? I've seen people with these issues have similar issues with Acidanthera's VoodooPS2 while are fine with Rehabman's VoodooPS2. I have no clue why this would happen though - and don't have a good way to figure out why this happens.
Related Issues:
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
A clear and concise description of what you expected to happen.
Log
Run log show --last boot | grep -i voodoo > ~/Desktop/RMILog.txt
when using the DEBUG version of the driver. If you attach a log using the RELEASE version, we may ask you to use the DEBUG version and redo the log. This will provides logs for VoodooRMI from when the device was booted up.
Describe the bug
I've made my trackpad (Synaptics SynPS/2) in my hp Spectre x360 13-4104ng work using VoodooRMI via SMBus. However, the macOS Settings still show "No trackpad found".
To Reproduce
Steps to reproduce the behavior:
Expected behavior
Trackpad settings
Log
Since it seems to work, what logs do you need exactly?
My hardware: https://linux-hardware.org/index.php?probe=d258888474
My config: https://github.com/mbirth/hp-spectre-x360-4104ng-hackintosh
Create trackpoint device. Requires RMI Function 0x03
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.