Description
In macOS Ventura, Apple removed support for all USB 1.1 drivers leaving some older Macs unable to use USB 1.1 peripherals. The main drivers removed where those of UHCI and OHCI controllers:
- AppleUSBUHCI.kext
- AppleUSBUHCIPCI.kext
- AppleUSBOHCI.kext
- AppleUSBOHCIPCI.kext
Thankfully in late 2009, Apple started to phase out the use of legacy UHCI/OHCI controllers for a more reliable internal USB Hub implementation as can be seen with Microsoft's USB Companion blog post.
However this still leaves some older machines using the legacy companion controller system:
Family | Year | Model | Notes |
---|---|---|---|
MacBook | Mid 2010 and older | MacBook4,1 - MacBook7,1 | |
MacBook Air | Late 2010 and older | MacBookAir2,1 - MacBookAir3,x | |
MacBook Pro | Mid 2010 and older | MacBookPro4,1 - MacBookPro7,x | Excludes Mid 2010 15" and 17" (MacBookPro6,x) |
iMac | Late 2009 and older | iMac7,1 - iMac10,x | Excludes Core i5/7 27" late 2009 iMac (iMac11,1) |
Mac mini | Mid 2010 and older | Macmini3,1 - Macmini4,x | |
Mac Pro | Mid 2012 and older | MacPro3,1 - MacPro5,1 |
For MacPro5,1, Apple neglected to update 2010-2012 units with internal USB Hubs
Why USB 1.1 controllers are important
The primary reason we care about USB 1.1 support is that low power devices, such as USB Keyboards, Mice, Trackpads and Bluetooth controllers will engage with the USB 1.1 controller on a hardware level.
In addition to these devices being hard routed internally, like on MacBooks, Apple also wired up every USB port to switch between USB 1.1 and USB 2.0 controllers depending on the peripheral. So if a user plugs a mouse into a MacPro5,1, this will engage the legacy USB 1.1 controller. However if you plug a USB 2.0 hub into said MacPro5,1, this will start up the USB 2.0 controller allowing for native support in macOS.
Partial support added in OCLP v0.5.4
With OCLP v0.5.4, early support for UHCI/OHCI has been added via Root Volume patching. The main issue with root volume patching is that it breaks USB 1.1 support in the following environments:
- macOS Installers
- Clean installs of macOS
- Post-OS updates
Thus to install macOS Ventura on an affected device, you will need to use a USB 2.0 (or higher) USB hub and connect your Mice and Keyboard through there. Unfortunately same applies for MacBooks, which we'd advise staying off Ventura for the time being until a more practical approach can be found.
In macOS Sonoma, this seems to have been further weakened and some hubs may not be functional.
Additionally these USB 1.1 drivers can't be mixed with USB 3.0 controllers, otherwise a kernel panic will occur. Unknown if/when a solution can be implemented.
Alternative method for Software Update
Alternative way for updates is making sure to enable "Remote Login" in General -> Sharing before updating, which will enable SSH. That means you can take control using Terminal in another system and run Post Install Volume Patching.
This only applies to updates via Software Update and is not applicable when booting to installer via USB drive.
Use the following commands:
ssh username@lan-ip-address
- Connects via SSH, change username and IP address to the system's/Applications/OpenCore-Patcher.app/Contents/MacOS/OpenCore-Patcher --patch_sys_vol
- Installs root patches via CLIsudo reboot