Contribute
Register

CustoMac Desktop USB Fixes - 10.11+ Reference

Joined
Oct 15, 2011
Messages
943
Motherboard
ASUS Gryphon Z87
CPU
i7-4770K
Graphics
HD 4600 & RX 580
Mac
  1. MacBook Pro
  2. Mac mini
Classic Mac
  1. 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 2, 2012
Messages
183,805
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. 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
307
Motherboard
Lenovo IdeaPad 330S-15IKB-81F500NSUS
CPU
i5-8250U
Graphics
Intel® UHD Graphics 620
Mac
  1. Mac mini
Classic Mac
  1. eMac
  2. Power Mac
Mobile Phone
  1. 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
56
Motherboard
Gigabyte GA-Z170N-WIFI
CPU
i7-6700
Graphics
HD530
Mobile Phone
  1. 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 2, 2014
Messages
1,669
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. 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

  • SSDT-USB-SKYLAKE.dsl
    6.1 KB · Views: 183
Last edited:
Joined
Jun 28, 2017
Messages
56
Motherboard
Gigabyte GA-Z170N-WIFI
CPU
i7-6700
Graphics
HD530
Mobile Phone
  1. 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
56
Motherboard
Gigabyte GA-Z170N-WIFI
CPU
i7-6700
Graphics
HD530
Mobile Phone
  1. 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 2, 2012
Messages
183,805
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. 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 2, 2014
Messages
1,669
Motherboard
Gigabyte Z390 I AORUS PRO WIFI
CPU
i9-9900K
Graphics
RX 580
Mac
  1. MacBook Air
Classic Mac
  1. 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

  • SSDT-USB-H170N-WIFI.aml
    775 bytes · Views: 172
Last edited:

RehabMan

Moderator
Joined
May 2, 2012
Messages
183,805
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
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?

Guide:
https://www.tonymacx86.com/threads/guide-creating-a-custom-ssdt-for-usbinjectall-kext.211311/
 
Top