Contribute
Register

[Guide][New VoodooI2C] Asus Vivobook S15 X510UAR 10.13+

@mksim: I doubt that. Running High Sierra I just navigated into my Mojave install via Finder and compared the two folders: in High Sierra the entire folder 'perf_sdb_udm' doesn't even exist. Also these are aliases not files. KPCM utility might not be fully compatible with Mojave. Even in my Mojave install BT is running fine. Very most likely you can simply ignore this message from KCPM.
Yes!!! Thank You!
Terminal commands solved my problem:
Bash:
sudo chmod -Rf 755 /Library/Extensions/
sudo chown -Rf 0:0 /Library/Extensions/
sudo touch -f /Library/Extensions/
sudo kextcache -Boot -U /
Now BT working!
 
@mksim : good, but - where you got that kextcache command from? I know it to be sudo kextcache -i /. Or has that changed for Mojave?
 
NVM
 
Last edited:
@whatnameisit : how come you deleted your posting? Does that mean FakePCIID.kext and BT4LEContinuityFixup.kext should stay?
 
@whatnameisit : how come you deleted your posting? Does that mean FakePCIID.kext and BT4LEContinuityFixup.kext should stay?
As per saintno1997's guide, all kexts are to be installed in C/K/O except CodecCommander. Although some optimization can be done, this is bare minimum. mksim should have followed the directions given on the GitHub page and they didn't, but got working BT. So I was like, does it matter...
But it might hurt the system in the future because now the BT kexts are loaded twice from L/E and C/K/O.
What I recommend is to delete all kexts except CodecCommander in L/E, delete all WiFi/BT kexts from C/K/O except AirportBrcmFixup, BrcmFirmwareData, BrcmPatchRAM2, and also USBInjectAll. For working BT after sleep, create codeless kext with BT USB port set as internal: I found the solution to this problem from experience as well as somewhere on github.
 
But it might hurt the system in the future because now the BT kexts are loaded twice from L/E and C/K/O. What I recommend is to delete all kexts except CodecCommander in L/E
I first had this misconception, too and had to learn what's actually occurring: what Clover does as long as InjectKexts is set to either no, detect, or nothing: it checks if a SMC kext (FakeSMC or VirtualSMC) is present in /L/E, and if yes, does NOT load ANY kexts from EFI/Clover/kexts/! They can remain in there e.g. for booting a fresh vanilla install.

You can test that yourself (with the right strategy).

Also RehabMan and other expereinced senior devs state that Clover injection isn't the native way that macOS expects to get kexts; putting them in L/E, repair permissions and rebuild kextcache is the only real “vanilla” way in the sense that macOS is loading everything natively instead of artificially injecting it on boot, which is a crippled work-around and missing many important features. Please read up more tech details about that in RehabMan's tutorials, or on [GUIDE] Installing 3rd Party Kexts - El Capitan, Sierra, High Sierra, Mojave, Catalina.
delete all WiFi/BT kexts from C/K/O except AirportBrcmFixup, BrcmFirmwareData, BrcmPatchRAM2, and also USBInjectAll.
I think you mean "delete all WiFi/BT kexts incl. USBInjectAll from C/K/O, except AirportBrcmFixup, BrcmFirmwareData, BrcmPatchRAM2"?
For working BT after sleep, create codeless kext with BT USB port set as internal: I found the solution to this problem from experience as well as somewhere on github.
Can you please attach your codeless kext? I'd like to look at it.
 
Last edited:
I first had this misconception, too and had to learn what's actually occurring: what Clover does as long as InjectKexts is set to either no, detect, or nothing: it checks if a SMC kext (FakeSMC or VirtualSMC) is present in /L/E, and if yes, does NOT load ANY kexts from EFI/Clover/kexts/! They can remain in there e.g. for booting a fresh vanilla install. You can test that yourself (with the right strategy). Also RehabMan and other expereinced senior devs state that Clover injection isn't the native way that macOS expects to get kexts; putting them in L/E, repair permissions and rebuild kextcache is the only real “vanilla” way in the sense that macOS is loading everything natively instead of artificially injecting it on boot, which is a crippled work-around and missing many important features. Please read up more tech details about that in RehabMan's tutorials, or on [GUIDE] Installing 3rd Party Kexts - El Capitan, Sierra, High Sierra, Mojave, Catalina. I think you mean "delete all WiFi/BT kexts incl. USBInjectAll from C/K/O, except AirportBrcmFixup, BrcmFirmwareData, BrcmPatchRAM2"? Can you please attach your codeless kext? I'd like to look at it.
I understand what you're saying. But notice how mksim has no SMC kext in /L*/E*. Then the kexts are loading from /C*/K*/O* because clover detects no SMC kext and also from /L*/E* as the kexts are builded in to the kernel.
If one checks the OS is working fine with all kext cache built, then you can transfer the kexts to /C*/K*/O*, though it is always safe to have them in /L*/E*. So I went with saintno1997's guide to have them in /C*/K*/O* and asked them to delete kexts from the /L*/E*. I have them all in /L*/E* though.
The codeless kext is just USBPorts.kext
 

Attachments

  • USBPorts.kext.zip
    1.1 KB · Views: 55
I understand what you're saying. But notice how mksim has no SMC kext in /L*/E*. Then the kexts are loading from /C*/K*/O* because clover detects no SMC kext and also from /L*/E* as the kexts are builded in to the kernel.
If one checks the OS is working fine with all kext cache built, then you can transfer the kexts to /C*/K*/O*, though it is always safe to have them in /L*/E*. So I went with saintno1997's guide to have them in /C*/K*/O* and asked them to delete kexts from the /L*/E*. I have them all in /L*/E* though.
The codeless kext is just USBPorts.kext
I tried moving kexts between /L/E and /C/K/O and the working variant is:
all WiFi and BT (and CodecCommander and USBPorts) kexts must be placed in /L/E
In other variants BT-devices can't connect to notebook.

Commands for rebuilding ketxcache I found in Osxlattitude site (Tony delete links to that site)
 
@bugsb I just noticed that saintno1997's GitHub page says to install all kexts in /L/E. I must have misread something.
I tried moving kexts between /L/E and /C/K/O and the working variant is:
all WiFi and BT (and CodecCommander and USBPorts) kexts must be placed in /L/E
In other variants BT-devices can't connect to notebook.

Commands for rebuilding ketxcache I found in Osxlattitude site (Tony delete links to that site)
CodecCommander must be installed to /L/E. The bootloader can inject everything else. Different combinations of BT kexts are to be installed to /L/E(Repo) or /C/K/O(Data). As for the USB, You have probably created the wrong USB configuration and/or incorrectly installed them. Please make sure to know what each .efi, .kext, or .aml does as well as the contents in your config.
 
Unfortunately my knowledge of hakintosh is very modest and I completely rely on config, kexts and .aml which provided by @saintno1997 on his Github. I picked up the set of .efi-drivers and I'm sure of them.
How to pick up and correctly edit .aml and config - I don't know...
Is a tools that can point me for error in my configuration?
 
Back
Top