To be able to use tethering in macOS, the user will need to install the HoRNDIS driver, which enables RNDIS devices to be usable under macOS. Unfortunately, the former developer of the driver had abandoned the project and it hasn’t been updated since 2018. Now, it’s maintained by another developer from the community, which created a new version of the driver, which works under macOS 11 and 12, Intel and M1 processors.
The original version of HoRNDIS works with macOS up to 10.14 (Mojave). macOS 10.15 requires another version of HoRNDIS, which is prepared for a new way of loading kernel extensions. macOS 11 and above have to use a notarized version of HoRNDIS, which allows the usage of driver with SIP enabled.
- macOS 10.14 (Mojave) and below
- macOS 10.15 (Catalina)
- macOS 11 and above (Big Sur, Monterey)
- Files to download
macOS 10.14 (Mojave) and below
Just install the driver from here: Release HoRNDIS 9.2 · jwise/HoRNDIS and it should work out of the box.
macOS 10.15 (Catalina)
To be able to install the driver in Catalina, you have to use a modified version of the driver: https://github.com/jwise/HoRNDIS/files/3719733/HoRNDIS-9.2-catalina_install.pkg.zip
This version has a slightly modified installer so it matches OS requirements. Unfortunately, the developer who modified the installer didn’t have a possibility to sign the package, so it’s necessary to open it via right-click and pressing open.
After installation there will be a need for unlocking the kernel extension in settings:
Clicking the lock allows making any changes, after unlocking options there’s an option to allow the extension. After that, installation will be finished and system is ready to work with tethering:
In case of problems with internet access when Pure is connected please update DNS entries (eg. 8.8.8.8 or 1.1.1.1)
macOS 11 and above (Big Sur, Monterey)
Starting from macOS 11, the installation process is a little bit complicated as there’s a need to temporarily disable SIP (System Integrity Protection). The whole process comes down to those points:
- executing script which pre-enables developer’s Developer ID in the system
- rebooting into recovery mode, disabling SIP, adding Developer ID to the database
- installing the driver
- reenabling the SIP
The whole package (script + driver) can be downloaded here: https://github.com/chris1111/HoRNDIS/files/7739543/Notarized.HoRNDIS.zip
In case of failure of installation the above driver on M1 devices please try this one:
NOTE: the above package requires SIP disabled all the time
After downloading and unpacking the archive, run the script via right-click and open. You should see something like this after the script finishes working. Please allow access to the folder with the script.
When it’s finished, please reboot to recovery mode. To do so, shut down your Mac, turn it on and press and hold command+R when you hear the startup jingle or right after the power on. It might take a few attempts to enter recovery mode. Then login to the administrator account and open terminal (from the top menu):
In the terminal please execute following commands:
1csrutil disable
2/usr/sbin/spctl kext-consent add 54GTJ2AU36
3reboot
After rebooting please install the pkg file containing the driver. In case of OS blocking the execution of the file, please open it via right-click and pressing open.
Clicking the lock allows making any changes, after unlocking options there’s an option to allow the extension. When the driver is installed, please reboot again to the recovery mode, open terminal and execute this command:
1csrutil enable
2reboot
Tethering should work by now! In case of problems with internet access when Pure is connected please update DNS entries (eg. 8.8.8.8 or 1.1.1.1)