Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

Hub port connected to internal devices (such as bluetooth) should be marked portType=2.
You should also remove VirtualBox.
The extra ports on HUB1 are coming from IOUSBHostFamily Info.plist. Eliminating them requires patching the plist.
I will correct the portType=2 on the bluetooth port. I believe I don't have any other internal devices.
I don't know what is VirtualBox. Do you mean the VBoxHFS driver? It has been replaced by HFSPlus driver.
I have spent sometime to find out about your point 3. But I am still clueless about it.
This guide http://www.insanelymac.com/forum/topic/306777-guide-usb-fix-el-capitan-1011/ help me understand a little about info.plist and I read somewhere that patching can be done from Clover under KextsToPatch.
But what patch do I need?
 
I will correct the portType=2 on the bluetooth port. I believe I don't have any other internal devices.
I don't know what is VirtualBox. Do you mean the VBoxHFS driver? It has been replaced by HFSPlus driver.

Your ioreg shows you have VirtualBox installed. It is known to interfere with USB.

I have spent sometime to find out about your point 3. But I am still clueless about it.
This guide http://www.insanelymac.com/forum/topic/306777-guide-usb-fix-el-capitan-1011/ help me understand a little about info.plist and I read somewhere that patching can be done from Clover under KextsToPatch.
But what patch do I need?

Remove the profile from IOUSBHostFamily Info.plist manually first.
Then attempt Clover InfoPlistPatch later.
 
Your ioreg shows you have VirtualBox installed. It is known to interfere with USB.
Remove the profile from IOUSBHostFamily Info.plist manually first.
Then attempt Clover InfoPlistPatch later.
I can see now what is this VirtualBox. (It is an app, I thought it is something to do with Clover setting. Silly me.)
It is weird though, I've never installed this VirtualBox app, probably it came installed with NoxPlayer (android emulator) that I have.
I have uninstalled both apps then restarted my pc.
It is now gone from ioreg.

I have never attempted to modify Info.plist before.
When I clicked on "Show package content", I noticed that there was a label "Locked" when I opened Info.plist with a text editor.
Is it correct procedure to copy out the IOUSBHostFamily.kext file somewhere and edit it. Then replace the kext into S\L\E and rebuild kext cache?
I have done this and I can see the ports no longer there in ioreg.

I will test these latest changes and feedback if the problem persist.

Edit:
It seems this problem still exists.
Could you please assist me further.
 

Attachments

  • mastermindsos.zip
    2 MB · Views: 87
Last edited:
Don't expect to understand the code under "Disabling EHCI #1" unless you have had a good read of the ACPI specification and the Intel 8-series chipset datasheet.
[/ QUOTE]
Hello, RehabMan, the EHC1(EH01) attribute shows: MSI= no bus = PCI, other devices show MSI =, USB2.0 has a hub but XHC no hub... Is this normal?
 

Attachments

  • extract.zip
    52.7 KB · Views: 90
  • EH01.png
    EH01.png
    175.7 KB · Views: 106
  • MacBook Air.ioreg
    7.4 MB · Views: 87
I can see now what is this VirtualBox. (It is an app, I thought it is something to do with Clover setting. Silly me.)
It is weird though, I've never installed this VirtualBox app, probably it came installed with NoxPlayer (android emulator) that I have.
I have uninstalled both apps then restarted my pc.
It is now gone from ioreg.

I have never attempted to modify Info.plist before.
When I clicked on "Show package content", I noticed that there was a label "Locked" when I opened Info.plist with a text editor.
Is it correct procedure to copy out the IOUSBHostFamily.kext file somewhere and edit it. Then replace the kext into S\L\E and rebuild kext cache?
I have done this and I can see the ports no longer there in ioreg.

I will test these latest changes and feedback if the problem persist.

To patch an Info.plist in a kext, you copy the kext to somewhere outside of /S/L/E, make the changes, then install the kext.
(see FAQ for kext installation methods).

Edit:
It seems this problem still exists.
Could you please assist me further.

Define "this problem". Attach problem reporting files as per FAQ.

Your ioreg shows your USB configuration is not correct (wrong UsbConnector values are being used).
 
Define "this problem". Attach problem reporting files as per FAQ.
Your ioreg shows your USB configuration is not correct (wrong UsbConnector values are being used).
It is the same problem that I am still having.
My usb bluetooth mouse does not work sometimes after pc waking up from sleep.
I believe I don't have any file missing in the attachment.
Are you referring to this value of usb connector? I believe the others are fine except for these which I am not sure whether it should be 0 or 255. Can you please guide me.
Code:
            "EH01", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "PR11", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                },
            },
            "EH02", Package()
            {
                "port-count", Buffer() { 6, 0, 0, 0 },
                "ports", Package()
                {
                    "PR21", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                },
            },
 
Are you referring to this value of usb connector? I believe the others are fine except for these which I am not sure whether it should be 0 or 255. Can you please guide me.
Code:
            "EH01", Package()
            {
                "port-count", Buffer() { 8, 0, 0, 0 },
                "ports", Package()
                {
                    "PR11", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                },
            },
            "EH02", Package()
            {
                "port-count", Buffer() { 6, 0, 0, 0 },
                "ports", Package()
                {
                    "PR21", Package()
                    {
                        "UsbConnector", 255,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },
                },
            },

For example, PR11 UsbConnector is wrong. This is clearly an internal hub, yet you used UsbConnector=0 instead of UsbConnector=255.

The value in SSDT-UIAC-ALL.dsl is correct. You changed it, which made your value incorrect.

Read post #1 carefully.
 
For example, PR11 UsbConnector is wrong. This is clearly an internal hub, yet you used UsbConnector=0 instead of UsbConnector=255.

The value in SSDT-UIAC-ALL.dsl is correct. You changed it, which made your value incorrect.
The SSDT-UIAC.aml from #1104 and SSDT-UIAC-ALL.aml from #1100 are actually identical, apart from the file naming and also portType=2 for bluetooth that I have changed in #1104. The PR11 and PR21 UsbConnector values remain the same 255 for both files.
 
The SSDT-UIAC.aml from #1104 and SSDT-UIAC-ALL.aml from #1100 are actually identical, apart from the file naming and also portType=2 for bluetooth that I have changed in #1104. The PR11 and PR21 UsbConnector values remain the same 255 for both files.

Your ioreg shows UsbConnector=0 for PR11.
Looking at your patchmatic -extract output, SSDT-10.aml, is very obvious why:
Code:
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
...
                    "PR11",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
...
 
Your ioreg shows UsbConnector=0 for PR11.
Looking at your patchmatic -extract output, SSDT-10.aml, is very obvious why:
Code:
    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
...
                    "PR11",
                    Package (0x04)
                    {
                        "UsbConnector",
                        Zero,
...
Hi Rehabman, can we take a step back.
Can you confirm that you are looking at my file in post #1104 and not someone else's file.
Reason is because, my ioreg shows that I have 0xff (255) for PR11 and I don't have SSDT-10.aml generated in RehabMan folder.
 
Back
Top