Description
Hi everyone,
I recently upgraded my MacBook Pro 13" 2014-mid from High Sierra to Mojave. I used Karabiner only for eliminating the caps lock delay, and I found Karabiner 12.10 and 11.6 both not work on Mojave 10.14.6. (I have updated to Security Update 2020-004)
There are lots of messages shown in Karabiner Log like:
[info] [kextd] KextManagerLoadKextWithURL: kOSKextReturnNotLoadable
This message shows every 3 seconds. I also found relevant logs in macOS console as follows:
Error making temporary directory: 1
Memory allocation failure.
Unable to stage kext (/Library/Application Support/org.pqrs/Karabiner-VirtualHIDDevice/Extensions/org.pqrs.driver.Karabiner.VirtualHIDDevice.v061000.kext) to secure location.
org.pqrs.driver.Karabiner.VirtualHIDDevice.v061000 was unable to stage properly; failing.
What I have tried:
- Checked
/var/db/SystemPolicyConfiguration/KextPolicy
with sqlite3 command that Karabiner is allowed. - Boot into Recovery mode to grant permission to Karabiner with command
spctl kext-consent add G43BCU2T37
. - Restart macOS and reinstall Karabiner for countless times.
ls -laO /Library/StagedExtensions/
and checked the flag of /Library/StagedExtensions is "restricted"- Tried to reset the KextPolicy database (i.e. disable SIP, delete KextPolicy file, enable SIP, give permission to each kext extension again). I found that Karabiner did not ask for permission at all (other applications did ask). There is no "allow" button in Security&Privacy page for Karabiner, too.
- Reinstall Security Update 2020-004 (Mojave)
sudo kextload
andsudo kextutil
org.pqrs.driver.Karabiner.VirtualHIDDevice.v061000.kext but both failed (sudo kextutil gave the exact messages shown in macOS console)
All measures failed. The only way I could make it work is to keep SIP off, which I really don't want to.
Does anyone have any idea? It's really frustrating. Any help is appreciated.