Closed Andrw0830 closed 4 years ago
Can you provide a troubleshooting archive for when VoodooI2CHID.kext doesn't load?
Sorry for not getting back sooner. What will you need for the troubleshooting archive? Is there a command I can run? Do you need my Clover package? Please let me know.
Here is my attached files per your link. The IORegistry is when VoodooI2C is working so let me know if you need one when it doesn't work as will have to wait for the next update to do so.
OK I was able to get an update and here is the files when VoodooI2C doesn't work.
Does this issue still occur if VoodooI2C and the satellites are installed in /L/E (with the appropriate Clover patch of course).
Hey man sorry about the delay, yep that worked! Is there a way to make it work without keeping it in /L/E similar to how VoodooPS2Controller works? I know if I ever have to boot into Recovery or reinstall Mac OSX, the same issue will happen.
@Andrw0830 same situation as you
After some tests, I think I find a workaround for this issue.
From the log given by @Andrw0830, we can see
Kext com.alexandred.VoodooI2CHID - library kext com.apple.iokit.IOGraphicsFamily not found.
So I add the following code in config.plist
to force loading IOGraphicsFamily:
<key>ForceKextsToLoad</key>
<array>
<string>\System\Library\Extensions\IOGraphicsFamily.kext</string>
</array>
under <key>KernelAndKextPatches</key>
It works on my device, not sure for other people's. It is still recommended to rebuild kextcache after update to let the kext automatically load.
@stevezhengshiqi How did you test it? I add IOGraphicsFamily
item to ForceKextsToLoad, then reboot into Recovery mode, touchpad still not work.
@darkhandz I installed a fresh new system to see whether it works. Recovery mode is not tested, maybe it works in a different mechanism. What I have tested is Mojave 10.14.3. At the language choose page, the trackpad is working with the patch; without the patch, the trackpad fails to load. No need to rebuild the kextcache, which is still recommended.
@stevezhengshiqi I'll try it when next beta update available. 😀
Hey @stevezhengshiqi great find! I will test that too during the next update
After some tests, I think I find a workaround for this issue. From the log given by @Andrw0830, we can see
Kext com.alexandred.VoodooI2CHID - library kext com.apple.iokit.IOGraphicsFamily not found.
So I add the following code in
config.plist
to force loading IOGraphicsFamily:<key>ForceKextsToLoad</key> <array> <string>\System\Library\Extensions\IOGraphicsFamily.kext</string> </array>
under
<key>KernelAndKextPatches</key>
It works on my device, not sure for other people's. It is still recommended to rebuild kextcache after update to let the kext automatically load.
Working great !! Even on clean install and recovery environment.
After some tests, I think I find a workaround for this issue. From the log given by @Andrw0830, we can see
Kext com.alexandred.VoodooI2CHID - library kext com.apple.iokit.IOGraphicsFamily not found.
So I add the following code inconfig.plist
to force loading IOGraphicsFamily:<key>ForceKextsToLoad</key> <array> <string>\System\Library\Extensions\IOGraphicsFamily.kext</string> </array>
under
<key>KernelAndKextPatches</key>
It works on my device, not sure for other people's. It is still recommended to rebuild kextcache after update to let the kext automatically load.Working great !! Even on clean install and recovery environment.
It's weird I tried this by adding the ForeKextsToLoad under 'KernelandKextsPatches' and VoodooI2C and VoodooI2CHID is now in /Clover/kexts/Other, but recovery partition didn't make it work. Is your InjectKexts on Yes or Detect? Mine is Detect so wonder if the Recovery partition is just not thinking it's needed to be injected.
After some tests, I think I find a workaround for this issue. From the log given by @Andrw0830, we can see
Kext com.alexandred.VoodooI2CHID - library kext com.apple.iokit.IOGraphicsFamily not found.
So I add the following code inconfig.plist
to force loading IOGraphicsFamily:<key>ForceKextsToLoad</key> <array> <string>\System\Library\Extensions\IOGraphicsFamily.kext</string> </array>
under
<key>KernelAndKextPatches</key>
It works on my device, not sure for other people's. It is still recommended to rebuild kextcache after update to let the kext automatically load.Working great !! Even on clean install and recovery environment.
It's weird I tried this by adding the ForeKextsToLoad under 'KernelandKextsPatches' and VoodooI2C and VoodooI2CHID is now in /Clover/kexts/Other, but recovery partition didn't make it work. Is your InjectKexts on Yes or Detect? Mine is Detect so wonder if the Recovery partition is just not thinking it's needed to be injected.
I think rec mode may not allow injecting iographicfamily because it actually don't load in rec mode.
That must be it. I just did the 10.14.3 supplement update and VoodooI2CHID did load and the trackpad worked. Thanks everyone for the suggestion!
Hey everyone, I was wondering if anyone found a solution to using VoodooI2C if you need to boot up in recovery mode or have to reinstall Mac using a USB Installer? With the solution to force IOGraphicsFamily to load, doesn't seem to work in recovery or a USB installer. I read that VoodooI2CHID supports both polling and interrupts mode. According to the documentation, polling should be used when booting in recovery. If we are already patched for the GPIO Interrupts method, would that be why the touchpad doesn't work in recovery and is there a solution without reverting the patches we applied to get GPIO working for the times we do need to boot in recovery? Basically if VoodooI2C can automatically enable Polling for times when it knows you are booting in recovery and use GPIO Interrupts when booting normally, not sure if that's possible? Just wanted to ask if anyone has gotten VoodooI2C working in both recovery and when booting normally?
Let me know if you need anything else?
Hey everyone, I was wondering if anyone found a solution to using VoodooI2C if you need to boot up in recovery mode or have to reinstall Mac using a USB Installer? With the solution to force IOGraphicsFamily to load, doesn't seem to work in recovery or a USB installer. I read that VoodooI2CHID supports both polling and interrupts mode. According to the documentation, polling should be used when booting in recovery. If we are already patched for the GPIO Interrupts method, would that be why the touchpad doesn't work in recovery and is there a solution without reverting the patches we applied to get GPIO working for the times we do need to boot in recovery? Basically if VoodooI2C can automatically enable Polling for times when it knows you are booting in recovery and use GPIO Interrupts when booting normally, not sure if that's possible? Just wanted to ask if anyone has gotten VoodooI2C working in both recovery and when booting normally?
Let me know if you need anything else?
I think VoodooI2C actually load flawlessly. If you checked the IOReg, you will find nothing's attached to VoodooI2C. The point we discussed is that the dependency of VoodooI2C HID, IOGraphicsFamily, not present in recovery and also the first boot after update. Since the kextcache is rebuilt at that time, and VoodooI2CHID are loaded by bootloader before that.
If we track the commits regarding IOGraphicsFamily, this dependency is introduced with auto rotation feature. IMHO, maybe separate VoodooI2CSensors into a satellite kext and have that dependency moved there could solved this issue?
After some tests, I think I find a workaround for this issue. From the log given by @Andrw0830, we can see
Kext com.alexandred.VoodooI2CHID - library kext com.apple.iokit.IOGraphicsFamily not found.
So I add the following code in
config.plist
to force loading IOGraphicsFamily:<key>ForceKextsToLoad</key> <array> <string>\System\Library\Extensions\IOGraphicsFamily.kext</string> </array>
under
<key>KernelAndKextPatches</key>
It works on my device, not sure for other people's. It is still recommended to rebuild kextcache after update to let the kext automatically load.
This works for me as well (tested on Catalina Beta 7)! Thank you!
Anytime I install an OS Update, after booting up the system, the VoodooI2CHID.kext doesn't load and I have to rebuild kext cache with Kext Utility. I have both VoodooI2C.kext and VoodooI2CHID.kext in EFI/Clover/kexts/Other. With kextstat, it does show VoodooI2C.kext load during the first boot, but the other kext does not. This has happened with the last few releases of VoodooI2C I've tried and don't have the issue with VoodooPS2Controller. I am using 10.14 on a Dell Inspiron 7567.
Let me know if you need anything else.