Closed titieo closed 3 years ago
What bootloader? If it's OC, make sure that the order of kext loading is VoodooSMBus.kext, then VoodooRMI.kext, then finally RMISMBus.kext. Make sure that VoodooInput from RMI is being injected as well.
If that doesn't work, can you show what your SMBus looks like in IORegistryExplorer, and get the output from kextstat
in terminal.
@1Revenger1 Maybe the issues is because ProperTree put them in wrong order. One more thing before trying your advice, can RMISMBus.kext be after Whatevergreen like this
Yeah that's fine. The main important thing is that VoodooRMI and VoodooSMBus are before RMISMBus. Doesn't really matter what the order is between the two or if anything is before it/mixed in.
Well, Although I've set everything like what you say, it can't work, ask for what my SMBus looks like in IORegistryExplorer, and get the output from kextstat in terminal, I'll try to get them to you as soon as possible because I don't have any usb mouse and I can't use my built-in mouse so sorry a lot for that. I'll try to send them to you soon. P/S: Here is my SMBUS hardward ID if you want: EFI.zip
@1Revenger1 ,By the way, my bootloader is OpenCore and I don't know why but if I use the VoodooPS2.kext from Acidanthera my mouse won't work but if i use Rehabman's VoodooPS2 from here: https://github.com/RehabMan/OS-X-Voodoo-PS2-Controller, my trackpad can work with 1 finger and some 2 fingers features (not all of them, scrolling is OK but I can zoom in/out). And here is my full specs by AIDA64 Engineer (a .txt and htm in the zip) Report.zip Report.txt
For the others things I will try my best for them
I haven't gotten this to run succesfully on any Ivy Bridge laptops - I'm not entirely sure why. It may be a different version of RMI? Not entirely sure on that, especially since RMI4 goes back to around ~2012. You may have better luck loading it in manually once within the OS just using the keyboard.
sudo chown -R root:wheel *.kext
sudo kextutil -vvvv -d VoodooSMBus.kext -d VoodooRMI.kext VoodooRMI.kext/Contents/PlugIns/VoodooSMBus.kext
Then getting a log by doing
log show --last boot | grep -i voodoo > ~/Desktop/log.txt
The paths need to be accurate, if you are in the same directory as them then the above command should work. But if you aren't, then yes you need to make sure the path is correct to them all.
There is a problem that you don't have VoodooRMI.kext/Contents/PlugIns/VoodooSMBus.kext so I think that I should change it into this: sudo chown -R root:wheel *.kext sudo kextutil -vvvv -d VoodooSMBus.kext -d VoodooRMI.kext VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext
@1Revenger1 Well, I've tried both but couldn't work. Anyway, all the necessary file is here, sorry if is there anything is miss, just tell me and I'll give it to you. Fixing trackpad.zip
https://www.rockbox.org/wiki/pub/Main/SansaFuzePlus/Synaptics_RMI3_Specification.pdf
I guess older touchpads with RMI3 use F10.
@LocTran016 You have to cd into the downloaded and unzipped VoodooRMI folder. Also, make sure to use Debug kext for detailed log information.
For example, running cd ~/Downloads/VoodooRMI-1.0-Debug
prior to 1Rvenger1's command should work if you downloaded file with Safari.
It may be that it is RMI3, I haven't seen any way to detect which RMI version it is. It does look programmed very similarly to RMI4 though.
Log should be located under Downloaded kext folder. However, it seems you need to remove kext from OC bootloader first. (Just delete two Kext files.) You can load kext after boot, and in this way you can test kext without reboot.
BTW, you may want to edit post for minor extra informations rather than posting new comment, as an issue board is somewhat different from chat.
//Edit. Never mind about log file. That command always outputs log to Desktop.
So, what I've noticed is that testing with another person is that on Ivy Bridge, when we ask for the SMBus version, it gets stuck and doesn't get any sort of response, so no attempts are logged to try and get the version. It may be that some sort of timeout may be needed.
Edit: So as far as I can tell with other testing, we're getting stuck in RMISMBus
I am also on an ivy bridge laptop, Inspiron 14z 5423 and my trackpoint is also not working properly. I edited the VoodooSMBus info.plist file and entered my vender id and device id. All the gestures are working but the trackpoint is very laggy. Btw I am using Clover.
@Rohan200220 , I've tried that but didn't work, though
@LocTran016 Sometimes it works for me, sometimes it doesn't. When I restart my laptop the trackpad doesn't even respond.
Does someone mind testing out these new versions of VoodooRMI and VoodooSMBus? https://files.gitter.im/5e938b02d73408ce4fe02f4f/H2AL/VoodooRMI.kext.zip https://files.gitter.im/5e938b02d73408ce4fe02f4f/66yp/VoodooSMBus.kext.zip
This should hopefully fix the freezing, and give better errors. You may need to add your device id again.
If you are injecting these kexts rather than loading it manually within macOS, better way to get logs it to add msgbuf=1048576
to your boot args, and use sudo dmesg
to get logs, as log show --last boot
is pretty atrocious for early boot logs.
My trackpad is still not responding with the above kexts, and I am using clover
I can't do anything without logs. Please reread my last message.
I'd double check which VoodooSMBus kext your using. It looks like it's trying to probe for an Elans trackpad, when all of the Elans stuff should've been taken out in the above VoodooSMBus download.
Edit: And I'm not finding any logging for published nubs which should be seen in recent versions at address 0x2c. Should be seeing something similar to Publishing nub for slave device at address 0x2c
I used voodoosmbus from the above link, and how to take out elen stuff from voodoosmbus?
There isn't any Elans stuff in the above link. If you check the Info.plist for the kext you have injected, it should be version 3.0
, and not have any Elans stuff within it. Additionally, should have a place to put different addresses.
This is currently what I see
Um, sorry for being a noob :p, but what do i have to do?
Double check that you have the right Kext. Make sure that you don't have VoodooSMBus in kextcache, Library/Extensions, or System/Library/Extensions. If that all looks alright, double check that the Info.plist says it's version 3.0. You can find it by right clicking the kext in macOS and pressing "Show Package Contents". If your on windows, the kext already appears a folder so just look in there.
I don't have VoodooSMBus in S/L/E or in L/E, where is kextcache location?
It says version 3.0
Double check for duplicates I guess - the kext cache isn't stored in a place you can mess with. Easiest way I guess to be sure it's gone is to invalidate it using sudo kextcache -i /
. It'll complain about kexts that shouldn't be in L/E or S/L/E as well.
sudo kextcache -i /. It'll complain about kexts that shouldn't be in L/E or S/L/E as well.
just got this- KernelCache ID: C13F4697AEBE1E8A99946DD865E9237F
I never installed any kexts in L/E or in S/L/E so I know no wrong kexts would be there. I just placed them in my EFI folder
Hmm, I guess you could try getting a log again
With the newest version of VoodooRMI and VoodooSMBus, the freezing is fixed as you said before but through System Preference, it doesn't detect my trackpad as a trackpad (I can't even move my mouse so I have to use a USB mouse). I still using the same laptop. I will update the EFI as soon as possible: https://github.com/LocTran016/EFI Here is my log: Terminal Saved Output.txt
I've tried to patch to Prevent Apple SMBus kexts from attaching to SMBUS controller (involve com.apple.driver.AppleSMBusController, com.apple.driver.AppleSMBusPCI) but through kextstat
, the VoodooRMI and its plug-in as well haven't been loaded. I don't know if I could try manually loading the kexts. Here is my new log file (include kextstat):
Log.txt
What does IORegistryExplorer show? I didn't see any traces of VoodooSMBus in the new logs.
PCIDeivces_IOREG.zip
And through kextstat
in terminal, I've found: de.leo-labs.VoodooSMBus
so I personally think that may be the de.leo-labs.VoodooSMBus have been injected
Your log doesn't show VoodooSMBus loading at all. Are you sure something else isn't attaching to SBUS like Apple's own SMBus kext?
What does IORegistryExplorer show? I didn't see any traces of VoodooSMBus in the new logs.
Can you please post new responses rather than editing the one message hours after sending it? I don't get notifications.
It shows VoodooSMBusIntelLpssI2C as attaching to SBUS
, make sure you add the device ID to VoodooSMBus, not VoodooSMBusIntelLpssI2C. They are different personalities in the same Info.plist
As you have already said before, the freezing is fixed but I can't use my mouse (I don't have the ability to move the built-in mouse). Here is everything my config.plist, the kext and terminal log as well as the ioreg file. Through the terminal (sudo dmesg
), there are some RMI configuration and the kexts are loaded as well
I have tested it on my elitebook 9470m VoodooSMBus .kext and VoodooRMI.kext does not loads.. no info in kextstat. I have place these kexts in opencore kexts folder.
I have tested it on my elitebook 9470m VoodooSMBus .kext and VoodooRMI.kext does not loads.. no info in kextstat. I have place these kexts in opencore kexts folder.
You should update (editing the comment) your specs (via AIDA64 is OK). Did you try to clean snap shot, check that no VoodooPS2 mouse and trackpad in the config.plist, add the device id and vendor id (in SMBus troubleshooting section)?
Hmm, that's weird that it doesn't respond.
Oh, that's weird - VoodooRMI is trying to boot up before rooting occurs? I wonder if it's booting up early or if it's inaccurate logging. It may be worth testing to see if delaying when VoodooRMI starts booting up would help. Easiest way is probably just loading it manually from within macOS to see if anything changes. If you can test this, csrutil needs to allow unsigned kexts to load. Assuming VoodooSMBus, VoodooRMI are in the same folder, you can run sudo kextutil -vvvv -d VoodooSMBus.kext -d VoodooRMI.kext VoodooRMI.kext/Contents/PlugIns/RMISMBus.kext
. The kexts do need to be owned by root (and I wouldn't recommend modifying the kexts in OC/Kexts), which you can make happen by running sudo chown -R root:wheel *.kext
(this will make every kext in that directory be owned by Root)
Edit: Oh, those logs look like the one you gave earlier when loading within macOS. So that likely won't help, oops. Maybe I can see if I can throw something together to test for the presence of RMI3 vs RMI4.
I don't know if this may help: I'm using this Touchpad Driver for my Dell Insiron 3421 (OS: Window 10 LTSB 2016), and it seem like a lot of laptops sharing the same driver with mine, even the XPS 12 9Q33 which is using the 4th gen intel cpu. I don't have the enough knowledge to be sure that using the same driver mean the same device but I don't know if could take a look at this. Hope this will help you in some way By the way, I'm using 7 Series/C216 Chipset Family SMBus Controller (8086:1E22) with HM76 chipset
VoodooRMI.kext 2.zip This tries to read Address 0x200, which should give the major/minor RMI version if it's an RMI3 device. Do you mind trying this version? It has no other modifications from master.
The mouse doesn't work, I have tried the lastest VoodooRMI.kext but didn't help (I still keep the same VoodooSMBus) Troubleshooting.zip
This should properly probe for RMI3 (Switches to Page 0x02 and probes address 0x00) I also fixed the mapping table possibly not being zeroed out within RMISMBus, but I doubt that was the issue plaguing you.
I'm not expecting this to work for you, but it should hopefully give more helpful debug info VoodooRMI.kext 4.zip
Edit: Do you have a Clover config by chance? It'd be interesting to see if it works in Clover - might need to enable something within IOPCIDevice if it works in Clover.
Edit 2: If the above VoodooRMI still doesn't work, do you mind trying with this version of VoodooSMBus as well? I enabled bus mastering and memory: VoodooSMBus.kext.zip
With the latest version of VoodooRMI.kext (I haven't change the VoodooSMBus.kext), my trackpad work perfectly, the launchpad work reliably although there is a small problem that when I first try to click, I have to tap with one finger twice but from the second time, it work reliably (this also apply to other gestures as well) Troubleshooting.zip
Do you have a Clover config by chance? It'd be interesting to see if it works in Clover - might need to enable something within IOPCIDevice if it works in Clover.
Sorry, no. I haven't read the Clover guide before reading dortania's OpenCore guide so I only have OpenCore
Huh. So maybe it was not zeroing the mapping table out at boot. I'll upload the changes later after I've taken a look at the logs. Thanks for testing.
On Monday I'll push out a new release with a release binary
Edit: no need to test with clover btw
@Rohan200220 any luck getting this to work on your trackpad?
Do you think that I should try the VoodooSMBus as well because the trackpad work perfectly (the physical buttons work, too)?
Na, functionality doesn't change at all
Oh, have you testing this over a few boots to make sure that we weren't being lucky for some reason?
No, I haven't done that yet. I'll do that.
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
Edit
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,...)
Update for version 1.0.1 by @LocTran016
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
Update regarding to VoodooPS2
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)