HoRNDIS on Apple silicon and recent macOS
For years, HoRNDIS was how Android phones tethered to a Mac over USB. Here's why it stopped being an option, and how to switch.
What happened to HoRNDIS
HoRNDIS, by Joshua Wise, is an RNDIS driver built as a kernel extension: code that runs inside the macOS kernel. Its last release, 9.2, came out in 2018, two years before the first Mac with Apple silicon, so it runs only on Intel Macs.
Since then, Apple has deprecated kernel extensions in favour of drivers that run outside the kernel. On a Mac with Apple silicon, loading any kernel extension means restarting into Recovery and lowering the Mac's security to Reduced Security, as Apple's guide describes.
What RNDISaurus does instead
RNDISaurus does HoRNDIS's job with DriverKit, the framework Apple introduced for drivers that run outside the kernel. Your Mac keeps Full Security and System Integrity Protection, and nothing runs as root. It comes from the Mac App Store, the app keeps the driver up to date, and your phone appears in System Settings › Network as an Ethernet adapter, as it did with HoRNDIS.
RNDISaurus is a successor in spirit to HoRNDIS, and owes it the idea.
Remove HoRNDIS
Remove HoRNDIS before activating RNDISaurus: only one driver can use the phone. While HoRNDIS has it, RNDISaurus lists the phone as Another driver.
- Open Terminal and run these two commands, entering your administrator password when asked. The first deletes the driver, the second the installer's record of it.
sudo rm -rf /Library/Extensions/HoRNDIS.kext sudo pkgutil --forget com.joshuawise.kexts.HoRNDIS - Restart your Mac, so macOS rebuilds its set of kernel extensions without HoRNDIS.
- To check, run the command below. If it prints nothing, HoRNDIS is gone.
kmutil showloaded --list-only | grep -i horndis
On a Mac with Apple silicon, if you lowered its security only for HoRNDIS, you can now return to Full Security with Apple's guide. Keep Reduced Security if another kernel extension you use still needs it.
Then install RNDISaurus
- Open RNDISaurus and click Activate Driver.
- Allow it in System Settings › General › Login Items & Extensions › Driver Extensions (on macOS 14, Privacy & Security).
- Plug in your phone and turn on USB tethering.
Something not right? See Support.