Contribute
Register

CustoMac Desktop USB Fixes - 10.11+ Reference

Joined
Oct 15, 2011
Messages
787
Motherboard
ASUS Gryphon z87
CPU
i7-4770K
Graphics
HD4600 & RX580
Mac
MacBook Pro
Classic Mac
Apple
FakePCIID_XHCIMux.kext is not required.
And there is no "fixing" required (it is not broken).
It is valid to keep everything on XHC, which is how most Macs (past 7-series) are configured.

Your choice either way.
See guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
I have some issues with my an USB Device, the customer suppor5t asked me to send them my system report.
They told me that I should connect it to a USB2 rather than a USB3 port.
That why I am trying to 'fix' it.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,719
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
I have some issues with my an USB Device, the customer suppor5t asked me to send them my system report.
They told me that I should connect it to a USB2 rather than a USB3 port.
That why I am trying to 'fix' it.
Most recent real Macs (including those using similar chipsets as yours) use XHC only, which causes USB2 devices to show under "USB 3.0". I think the person you were talking to is clueless.
 
Joined
Jan 28, 2013
Messages
324
Motherboard
Lenovo IdeaPad 330S-15IKB-81F500NSUS
CPU
i5-8250U
Graphics
Intel® UHD Graphics 620
Mac
Mac mini
Classic Mac
eMac, Power Mac
Mobile Phone
iOS
I am considering adding a USB-C 3.1 Gen 2 pcie card to my rig (additional 2 physical ports). Would this expansion card affect the USB port limit, i.e. would I need to recreate my custom SSDT? I assume it would not as it is not an intel implementation of USB ports, but I wanted to ask to be sure.
 
Joined
Jun 28, 2017
Messages
49
Motherboard
Gigabyte GA-Z170N-WIFI
CPU
i7-6700
Graphics
HD530
Mobile Phone
Android
My motherboard model is GA-Z170N-WIFI, the OS is HS, and it is injected through custom SSDT, now there are 15 USB ports, HS01-HS08/SS01-SS07.

The USB ports of this motherboard are grouped, 01/02 is a group, 03/04 is a group, and 05/06 is a group.

I found a problem: If I plug a wireless mouse with a USB 3.0 USB stick, the wireless mouse will not work; if I plug the wireless mouse with a USB 2.0 USB stick, then they can work together.

The SSDT for USB is:
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0x00000000)
{
    Device (_SB.EC)
    {
        Name (_HID, "EC000000")  // _HID: Hardware ID
    }

    Device (_SB.USBX)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03                                         
                })
            }

            Return (Package (0x08)
            {
                "kUSBSleepPortCurrentLimit",
                0x0834,
                "kUSBSleepPowerSupply",
                0x13EC,
                "kUSBWakePortCurrentLimit",
                0x0834,
                "kUSBWakePowerSupply",
                0x13EC
            })
        }
    }

    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
            "8086_a12f",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x1A, 0x00, 0x00, 0x00                       
                },

                "ports",
                Package (0x1E)
                {
                    "HS01",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HS02",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x02, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x0A,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                       
                        }
                    },

                    "HS08",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x02,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SS01",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x11, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SS02",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x12, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x13, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x14, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x15, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x16, 0x00, 0x00, 0x00                       
                        }
                    },

                    "SS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x0A,
                        "port",
                        Buffer (0x04)
                        {
                             0x17, 0x00, 0x00, 0x00                       
                        }
                    }
                }
            }
        })
    }
}
 
Joined
Mar 3, 2014
Messages
524
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
MacBook Air
Classic Mac
Power Mac
litgle,

No expert here (RehabMan is the Man), but if it were my SSDT I would change the following and see what happens:
At "HS07" under "UsbConnector" I would change from "0x0A" to "0x03".
At "HS08" under "UsbConnector" I would change from "0x02" to "0x03".
At "SS07" under "UsbConnector" I would change from "0x0A" to "0x03".
At "port-count" under Buffer (0x04) I would change "0x1A" to "0x17" (which is your highest port number, I think).

What do you see in IORegistryExplorer under "XHC@14000000"?

[Edit: In case you are interested, I have attached my disassembled "SSDT-USB-Skylake.dsl" below. I have an H170N-WIFI motherboard which is close to your configuration, I think.]
 

Attachments

Last edited:
Joined
Jun 28, 2017
Messages
49
Motherboard
Gigabyte GA-Z170N-WIFI
CPU
i7-6700
Graphics
HD530
Mobile Phone
Android
litgle,

No expert here (RehabMan is the Man), but if it were my SSDT I would change the following and see what happens:
At "HS07" under "UsbConnector" I would change from "0x0A" to "0x03".
At "HS08" under "UsbConnector" I would change from "0x02" to "0x03".
At "SS07" under "UsbConnector" I would change from "0x0A" to "0x03".
At "port-count" under Buffer (0x04) I would change "0x1A" to "0x17" (which is your highest port number, I think).

What do you see in IORegistryExplorer under "XHC@14000000"?

[Edit: In case you are interested, I have attached my disassembled "SSDT-USB-Skylake.dsl" below. I have an H170N-WIFI motherboard which is close to your configuration, I think.]
Thank you for your reply!
My SSDT file refers to this post:
https://www.tonymacx86.com/threads/guide-el-capitan-on-the-skylake-h170n-wifi.178197/

In mainboard Z170N-WIFI, HS07/SS07 is a type-c USB3.0 port, so I think its UsbConnector should be 0x0A, and I think you disabled type-c USB3.0 port in your SSDT.
 
Joined
Jun 28, 2017
Messages
49
Motherboard
Gigabyte GA-Z170N-WIFI
CPU
i7-6700
Graphics
HD530
Mobile Phone
Android
I change the SSDT like this:
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "UIAC", 0x00000000)
{
    Device (_SB.EC)
    {
        Name (_HID, "EC000000")  // _HID: Hardware ID
    }

    Device (_SB.USBX)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03                                          
                })
            }

            Return (Package (0x08)
            {
                "kUSBSleepPortCurrentLimit",
                0x0834,
                "kUSBSleepPowerSupply",
                0x13EC,
                "kUSBWakePortCurrentLimit",
                0x0834,
                "kUSBWakePowerSupply",
                0x13EC
            })
        }
    }

    Device (UIAC)
    {
        Name (_HID, "UIA00000")  // _HID: Hardware ID
        Name (RMCF, Package (0x02)
        {
            "8086_a12f",
            Package (0x04)
            {
                "port-count",
                Buffer (0x04)
                {
                     0x17, 0x00, 0x00, 0x00                        
                },

                "ports",
                Package (0x1E)
                {
                    "HS01",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x01, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HS02",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x02, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x03, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x04, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x05, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x06, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x0A,
                        "port",
                        Buffer (0x04)
                        {
                             0x07, 0x00, 0x00, 0x00                        
                        }
                    },

                    "HS08",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0xFF,
                        "port",
                        Buffer (0x04)
                        {
                             0x08, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SS01",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x11, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SS02",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x12, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SS03",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x13, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SS04",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x14, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SS05",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x15, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SS06",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x03,
                        "port",
                        Buffer (0x04)
                        {
                             0x16, 0x00, 0x00, 0x00                        
                        }
                    },

                    "SS07",
                    Package (0x04)
                    {
                        "UsbConnector",
                        0x0A,
                        "port",
                        Buffer (0x04)
                        {
                             0x17, 0x00, 0x00, 0x00                        
                        }
                    }
                }
            }
        })
    }
}
then reboot PC, XHC@14000000 displays as follow in IORegistryExplorer:
屏幕快照 2018-07-18 下午6.46.50.png


USB3.0 device will still cause Logitech USB wireless mouse&keyboard does not work
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,719
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
Thank you for your reply!
My SSDT file refers to this post:
https://www.tonymacx86.com/threads/guide-el-capitan-on-the-skylake-h170n-wifi.178197/

In mainboard Z170N-WIFI, HS07/SS07 is a type-c USB3.0 port, so I think its UsbConnector should be 0x0A, and I think you disabled type-c USB3.0 port in your SSDT.
USB type-C could be 10 (0x0a) or 9. Make sure you test your USB-C adapter in both orientations and read the ACPI spec (_UPC) to understand which UsbConnector value is applicable to your hardware.
 
Joined
Mar 3, 2014
Messages
524
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
MacBook Air
Classic Mac
Power Mac
In mainboard Z170N-WIFI, HS07/SS07 is a type-c USB3.0 port, so I think its UsbConnector should be 0x0A, and I think you disabled type-c USB3.0 port in your SSDT.
Yes, that was deliberate. I have no USB type-c devices and I do not use that port. Again, RehabMan is the expert, and I am a novice "Hacker." The USB connector code for type-c USB 3.0 port must be 0x0A per RehabMan, but nonetheless that is not a port number, and I still think your "port-number" should be 17 (that is hex 17 even though it looks like decimal 17 in the form). That is your highest port number. Look at the attached SSDT(below) from your link (actually RehabMan's link from that thread). See the "port-number?"
 

Attachments

Last edited:
Joined
Jul 4, 2014
Messages
21
Motherboard
Z97M-D3H
CPU
i7 4790k
Graphics
HD 4600
Mac
iMac
Mobile Phone
Android
Installed Mojave through the App Store with the latest kexts and everything works great including audio ALC892 and video HD4600 except USB3.0 and I think Messages. Only one port works and my WD Elements can be mounted there. I have installed FakePCIID.kext and FakePCIID_XHCIMux.kext with KextBeast. I am not familiar with further actions, what can I do to get the USB3.0 ports to work?
 
Top