Contribute
Register

Mojave Port Limit Patch for 10.14.1 Working/Not Working

Status
Not open for further replies.
FYI for anyone with USB issues, I have noticed If I put the machine into sleep and then bring it back out, my usb's seem to work!

No one in the right mind would think this is a permanent "solution".
 
I don't know if I am allowed to provide here a cross-reference to my respective guide and thread. However, I hope it is allowed to provide you at least with a hint, in case you are really interested: just type "XHC USB Kext Creation Guideline" in the search field above and you will find the respective guide and thread listed in this forum. It is very similar to the SSDT approach, but all USB ports are directly defined within the kext. If you want to skip certain ports, simply don't implement them within the kext. For the intrinsic USB port implementation you just need the kext, nothing else. However, I also use a simple USBX-SSDT in addition, which just assigns the proper USB power properties during system boot. This SSDT however is not motherboard specific and always applies to any USB configuration without further adaptation.

The XHC USB Kext approach is just an alternative to the USBInjextAll.kext + SSDT approach. If you continue using the latter you will be totally fine too.

The major problem of 10.14.1 is that the entire AppleUSBXHCI kext-patch approach stopped working. We can still derive the correct port limit patch but it is simply ignored by macOS. There will be no solution to this until a new approach to extend the USB port limit will be found by somebody else in the future. Dropping the implementation of some of the USB onboard connectors now has become absolutely mandatory and currently is also the only solution for motherboards with more USB connectors than allowed by Apple's USB port limitation.

I guess it is not necessary to mention that all this just affects the USB2.0 and USB3.0 ports. USB3.1 ports are usually on different controllers and are not affected by the USB port limitation.

So...
installation of 10.14.1 from USB stick will still work I suppose.
Then what will happen once Installed and rebooted into 10.14.1 fornthe first time?
Will there be some USB porta working to allow the implementation of a SSDT or USB kext?
Thanks.
 
So...
installation of 10.14.1 from USB stick will still work I suppose.
Then what will happen once Installed and rebooted into 10.14.1 fornthe first time?
Will there be some USB porta working to allow the implementation of a SSDT or USB kext?
Thanks.

Using XHCI, there are no predefined SMBIOS XHC1 identities (like iMac17,1 or iMacPro1,1) in Apple's AppleUSBXHCIPCI.kext, thus without any USB port limit patch, USB3.0 devices usually will not work in most of the USB3.0 ports, as most of the SS-ports will not be implemented (SS-ports have the highest port numeration, all SS-ports exceeding Apple's 15 port limit will be dropped by OSX). However, USB2.0 devices should in principle also work in the affected USB3.0 ports and in all USB2.0 ports, as all HS-ports usually are fully implemented by OSX despite the missing USB port limit patch (HS-ports always have a lower port numeration than SS-ports and therefore usually never exceed the 15 port limit). If you are lucky, at least one USB3.0 connector, usually one of the internal USB3.0 connectors (USB3.0 front panel connectors) associated to SS01 will also work with USB3.0 devices, if at least SS01 is still implemented.

Using XHC1, there are some predefined SMBIOS XHC1 identities (like iMac17,1 or iMacPro1,1) in Apple's AppleUSBXHCIPCI.kext with a preconfigured HS and SS port assignment not fully compatible with non-Apple mainboards. Thus it mainly depends on the predefined SMBIOS XHC1 HS and SS port assignment compatbitly, how many USB2.0 or USB3.0 ports will be functional on your motherboard.

For the XHC USB kext approach it would be better to create before any update to 10.14.1 a fully implemented board-specific XHC USB kext under some macOS version with a working USB port limit patch (e.g. 10.14.0 or 10.13.6). For its use under 10.14.1, you should drop the implementation of those USB onboard connectors, which you use less, by deleting the respective SS-ports and HS-ports in the kext, thus the kext finally only contains in total 15 HS/SS ports. By this, all USB3.0 and USB2.0 connectors will be fully functional under 10.14.1, apart from those assigned to the HS and SS ports, which you dropped from the kext.

For the USBInjectAll.kext and SSDT approach, RehabMan is the expert for explaining and providing you the correct solution.

Hope this little clarification helps somehow.
 
Last edited:
Using XHCI, there are no predefined SMBIOS XHC1 identities (like iMac17,1 or iMacPro1,1) in Apple's AppleUSBXHCIPCI.kext, thus without any USB port limit patch, USB3.0 devices usually will not work in most of the USB3.0 ports, as most of the SS-ports will not be implemented (SS-ports have the highest port numeration, all SS-ports exceeding Apple's 15 port limit will be dropped by OSX). However, USB2.0 devices should in principle also work in the affected USB3.0 ports and in all USB2.0 ports, as all HS-ports usually are fully implemented by OSX despite the missing USB port limit patch (HS-ports always have a lower port numeration than SS-ports and therefore usually never exceed the 15 port limit). If you are lucky, at least one USB3.0 connector, usually one of the internal USB3.0 connectors (USB3.0 front panel connectors) associated to SS01 will also work with USB3.0 devices, if at least SS01 is still implemented.

Using XHC1, there are some predefined SMBIOS XHC1 identities (like iMac17,1 or iMacPro1,1) in Apple's AppleUSBXHCIPCI.kext with a preconfigured HS and SS port assignment not fully compatible with non-Apple mainboards. Thus it mainly depends on the predefined SMBIOS XHC1 HS and SS port assignment compatbitly, how many USB2.0 or USB3.0 ports will be functional on your motherboard.

For the XHC USB kext approach it would be better to create before any update to 10.14.1 a fully implemented board-specific XHC USB kext under some macOS version with a working USB port limit patch (e.g. 10.14.0 or 10.13.6). For its use under 10.14.1, you should drop the implementation of those USB onboard connectors, which you use less, by deleting the respective SS-ports and HS-ports in the kext, thus the kext finally only contains in total 15 HS/SS ports. By this, all USB3.0 and USB2.0 connectors will be fully functional under 10.14.1, apart from those assigned to the HS and SS ports, which you dropped from the kext.

For the USBInjectAll.kext and SSDT approach, RehabMan is the expert for explaining and providing you the correct solution.

Hope this little clarification helps somehow.

Thanks!
I’m familiar with Rehabman USBInjectAll.kext + SSDT implementation.

One of my concerns has to do with what approach should I consider for the installation of a new system. If hoping one of the USB3 will work after installation of 10.14.1 so to be able to implement the SSDT or if starting from 10.14.0 and then upgrading to latter Mojave releases after the implementation of the SSDT.

Thanks
 
Status
Not open for further replies.
Back
Top