Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
So i don't need to patch the "rename EHC1 to EH01"? Or i can leave that. If i don't patch i loose sleep.

It will have no effect, applied or not. Your ioreg shows the EHCI controller is disabled.
Any effect you experience is due to something else you're changing.

What can i do with wrong USBConnector values?

Fix them with correct values in an SSDT used to configure USBInjectAll.kext.

Is that why i still don't have bluetooth?

It is possible. You need to determine which port your bluetooth is connected to.

Maybe i'm missing any bluetooth patch in clover? do need to use this patch: "Comment = "10.11-BT4LE-Handoff-Hotspot-lisai9093";"?

Those patches will have an effect only *after* you get the bluetooth controller to show on the USB bus.

Can i use Linux to confirm what is my bluetooth port? Because it's more easy to run from USB.

Probably. But I have no details for you. It might be listed somehow with 'lsusb'.
 
I'm working on problem reporting and I get
sudo: /var/db/sudo writable by non-owner (040777), should be mode 0700
in Terminal. Do I need to go into single user mode and fix permissions? Can you help with those commands?

EDIT: Nevermind, for anyone else who runs into this: "sudo chmod -R 0700 /var/db/sudo" will fix it
 
Last edited:
I'm working on problem reporting and I get
sudo: /var/db/sudo writable by non-owner (040777), should be mode 0700
in Terminal. Do I need to go into single user mode and fix permissions? Can you help with those commands?

EDIT: Nevermind, for anyone else who runs into this: "sudo chmod -R 0700 /var/db/sudo" will fix it

The 'sudo' binary should be in /usr/bin, not /var/db. Your system seems messed up...
 
Well that part I don't know where to begin to fix though oddly the system has been running well recently.

On IOReg I have no HS ports and all HP ports. I have attached someone else's image of my motherboard's ports labeled and I am able to confirm the SSP ports.
GA-Z87N-WiFi_Rear-Panel_USB Smaller.png



The changes are as follows:
Back Panel
USB3
HS10 -> HP16/SSP6
HS09 -> HP15/SSP5
HS04 -> HP14/SSP4
HS03 -> HP13/SSP3

USB2

HS07 -> HP23
HS08 -> HP24

Front Panel
USB3
(unknown HS) -> HP12/SSP2
(unknown HS) -> HP11/SSP1

Is the next best step to use the kernel flags to disable the unused ports? Should that mapped wireless/bluetooth card be disabled this way? Or should I try to make an injector based on those port locations as suggested here: http://www.insanelymac.com/forum/to...full-speed-usb-series-89-keeping-vanilla-sle/
 

Attachments

  • customac.zip
    763.7 KB · Views: 83
  • Terminal output.zip
    1.1 KB · Views: 78
  • CLOVER.zip
    1.6 MB · Views: 128
Update:
I removed the FakePCIIDXHCmux that I didn't need and verified the port map. I made the SSDT from the template and everything worked. Then I removed the patch. All ports except one work but my IOReg appears to only have HS1-7 and SSP1. Is my DSDT the problem? I notice a few of the entries for SSP and HS have 0 for the address. It seems to only allow 0-7. Some of them likewise differ in format.

I've attached all of them including the disassembled versions in addition to new versions of everything requested for problem reporting. I appreciate your help.
 

Attachments

  • Customac 2.zip
    726.9 KB · Views: 84
  • CLOVER.zip
    9.8 MB · Views: 84
  • terminal output 2.zip
    1.1 KB · Views: 86
  • Disassembled SSDT and DSDT.zip
    31.1 KB · Views: 92
On IOReg I have no HS ports and all HP ports.

As you should expect given your use of FakePCIID_XHCIMux.
Your HSxx ports on XHC are being routed to EHCI via FakePCIID_XHCIMux.kext

Is the next best step to use the kernel flags to disable the unused ports?

With FakePCIID_XHCIMux, you can exclude all HSxx ports with -uia_exclude_hs.

Should that mapped wireless/bluetooth card be disabled this way?

Not sure what you mean. Your ioreg shows the BT controller at HP25.

Or should I try to make an injector based on those port locations as suggested here: http://www.insanelymac.com/forum/to...full-speed-usb-series-89-keeping-vanilla-sle/

I don't use that method. Suggest custom SSDT for USBInjectAll.kext configuration.
 
I started running through this and here is where im at. I couldnt read usb drives and would randomly eject, until I used this:
https://www.tonymacx86.com/threads/usb-new-raise-port-limit-patch-for-macos-10-12-sierra.202329/

But now I have slow speeds (100 Mb/s) and transferring seems to be a pain and fails.


I have a 9 series board

I did the EHCx->EH0x rename in the clover configurator

I have FakePCIID_XHCIMux.kext and FakePCIID.kext installed

I checked to make sure XHCI is named XHC and not XHC1

I have set XHCI to auto in BIOS


Im not sure if I need to use USB inject all. If I delete it and ioregistryexplorer shows XHC ports still there, then I dont need it?


Here is the terminal output:

kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext USBInjectAll.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_XHCIMux.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AppleIntelE1000e.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext tcpblocknke.kext
SATSMARTDriver.kext does not appear in strict exception list for architecture: x86_64
kext-dev-mode allowing invalid signature -67007 0xFFFFFFFFFFFEFA41 for kext SATSMARTDriver.kext
SATSMARTDriver.kext does not appear in strict exception list for architecture: x86_64
KernelCache ID: B80775B80C71F669E07C95FF6D0E95DB
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>
 

Attachments

  • Archive.zip
    2.2 MB · Views: 86
I started running through this and here is where im at. I couldnt read usb drives and would randomly eject, until I used this:
https://www.tonymacx86.com/threads/usb-new-raise-port-limit-patch-for-macos-10-12-sierra.202329/

But now I have slow speeds (100 Mb/s) and transferring seems to be a pain and fails.


I have a 9 series board

I did the EHCx->EH0x rename in the clover configurator

I have FakePCIID_XHCIMux.kext and FakePCIID.kext installed

I checked to make sure XHCI is named XHC and not XHC1

I have set XHCI to auto in BIOS


Im not sure if I need to use USB inject all. If I delete it and ioregistryexplorer shows XHC ports still there, then I dont need it?


Here is the terminal output:

kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext USBInjectAll.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_XHCIMux.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AppleIntelE1000e.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext tcpblocknke.kext
SATSMARTDriver.kext does not appear in strict exception list for architecture: x86_64
kext-dev-mode allowing invalid signature -67007 0xFFFFFFFFFFFEFA41 for kext SATSMARTDriver.kext
SATSMARTDriver.kext does not appear in strict exception list for architecture: x86_64
KernelCache ID: B80775B80C71F669E07C95FF6D0E95DB
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>

The ioreg shows the port limit patch is being used. The port limit patch is only for short term use. You are routing all HSxx ports on XHC to the EHCI controllers, so there is no need to inject the 14 HSxx ports on XHC. You can use -uia_exclude_hs to eliminate them. Then you can remove the port limit patch.
 
The ioreg shows the port limit patch is being used. The port limit patch is only for short term use. You are routing all HSxx ports on XHC to the EHCI controllers, so there is no need to inject the 14 HSxx ports on XHC. You can use -uia_exclude_hs to eliminate them. Then you can remove the port limit patch.

If thats short term then what is the long term?

Your saying im already routing all HSxx ports on XHC to EHCI controllers, so there is no need to use the port limit patch, and instead use -uia_exclude_hs ? How do I use -uia_exclude_hs?
 
If thats short term then what is the long term?

The port limit patch is to be used only for determining the ports you need to put into the SSDT (or the -uia_exclude flags necessary).

Your saying im already routing all HSxx ports on XHC to EHCI controllers, so there is no need to use the port limit patch, and instead use -uia_exclude_hs ? How do I use -uia_exclude_hs?

Yes/-uia_exclude_hs is a kernel flag. Kernel flags are specified in config.plist/Boot/Arguments
 
Status
Not open for further replies.
Back
Top