@Jandalf I recently had to reset my System Integrity Protection settings (csrutil clear
) and once again ran into this issue, where my Razer device was not recognized.
I have upgraded to macOS Big Sur 11.1, and I can confirm that the solutions by @avaddon and @rdabban, which had worked for me on 11.0, no longer work.
Manually loading the kernel extension (the kextload
command) will display the error code 27 "Extension with identifiers com.razer.common.razerhid not approved to load. Please approve using System Preferences.
", but no pop-up or "Allow" option would appear anywhere on the System Preferences.
Adding the Razer TeamID with the /usr/sbin/spctl kext-consent add R2H967U7J8
command showed me a pop-up, but with no "Allow" option, and no option to allow the kernel extension would appear in the System Preferences, so no good.
I finally managed to make it work by temporarily disabling System Integrity Protection (SIP), as follows:
- Boot into Recovery Mode. This can be done by restarting your computer and holding
Cmd+R
on boot until a loading bar shows up. - Once in Recovery Mode, sign in with your account and open a terminal. You can find it in the top menu under Utilities > Terminal.
- Disable SIP by running the following command:
csrutil disable
. - Close the terminal and reboot (normal reboot, not into Recovery Mode).
- Open a terminal and load the extension with the following command:
sudo kextload /Library/Extensions/RazerHid.kext
. - Reboot (normal reboot, not into Recovery Mode) and confirm that your Razer device is now correctly detected.
- Now we must reenable SIP to maintain system security. This should not break your device. Boot once more into Recovery Mode, open a terminal, run
csrutil enable
, close the terminal and reboot.
You should now be able to load your Razer device AND have SIP enabled.
Good luck y'all!
Alright, I managed to get it to work (with SIP enabled) on MacOS Big Sur.
Basically I combined two solutions mentioned before.
Namely:
The steps in this link:
https://gist.github.com/fcoclavero/431123c7708e42de63eb75264a44de02
And the solution provided by @Avaddon in this thread:
https://developer.apple.com/forums/thread/649829
So first of all, thanks to @Avaddon and @fcoclavero
I tried the solutions in the order I mentioned them,
but combined, it will be:
Boot into Recovery Mode: hold
Cmd+R
while starting upClick the Utilities menu and select Terminal.
Disable SIP (System Integrity Protection) by running:
csrutil disable
Execute the following command:
/usr/sbin/spctl kext-consent add R2H967U7J8
Verify that team got added:
/usr/sbin/spctl kext-consent list
Should output something like:
Allowed Team Identifiers:
R2H967U7J8
sudo kextload /Library/Extensions/RazerHid.kext
This should give a popup which tells to press the allow button in System Preferences
The button should be located at the bottom of the General tab in Security & Privacy
Something with SIP (System Integrity Protection) might be the reason why the allow button doesn't show up
(that's why we disabled SIP in Recovery Mode)
My settings for the System Preferences/Security & Privacy/Privacy tab I checked the boxes for:
Accessibility -> RzDeviceEngine
Input Monitoring -> RzUpdater, RzDeviceEngine
Full Disk Access -> RzUpdater, RzDeviceEngine
See if it works:
Start Razer Synapse, probably it won't show the device
disconnect, connect the device and it should appear
If this works, Re-enable SIP to maintain system security:
csrutil enable
For me it works, with SIP enabled, the only problem is that I have to reconnect the device each time I start my computer and open Razer Synapse. Razer Synapse will say "Please connect a Razer Synapse enabled device" until I reconnect it. I wrote a little
Python3
script which will do this (to save my usb cables).This script can then be called with a shell script:
Which is clickable if saved with the extension:
.command
Hopefully this will help!