Contribute
Register

[Guide] Creating a Custom SSDT for USBInjectAll.kext

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,093
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
I need help with my Z170MX Gaming 5. If anyone could upload a working SSDT to fix my USB, I'd be extremely grateful.
Thanks

Custom SSDTs for USBInjectAll.kext tend to be specific to each user, mainly because you may choose to use internal headers differently from someone else.

Suggestion: Read post #1 and create your own.
 
Joined
Aug 11, 2012
Messages
303
Motherboard
ASRock Z370M-ITX/ac
CPU
i7-8700K
Graphics
Intel Graphics 630
Custom SSDTs for USBInjectAll.kext tend to be specific to each user, mainly because you may choose to use internal headers differently from someone else.

Suggestion: Read post #1 and create your own.

Unfortunately, most of the info is somewhat Greek to me as I'm not terribly computer literate.

What I've done, and is most probably incorrect, is to use the port limit patch, and installed USBInjectALL.kext. And finally I used uia_exclude to remove the ports that weren't used. All my ports work fine. The only thing I notice, and I'm not sure it's related, is that after using Safari for awhile, it slows down to a crawl.
Thanks
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,093
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Unfortunately, most of the info is somewhat Greek to me as I'm not terribly computer literate.

What I've done, and is most probably incorrect, is to use the port limit patch, and installed USBInjectALL.kext. And finally I used uia_exclude to remove the ports that weren't used. All my ports work fine. The only thing I notice, and I'm not sure it's related, is that after using Safari for awhile, it slows down to a crawl.
Thanks

You should read post #1 carefully and follow it exactly.
If you're still in need of the port limit patch (eg. not just for port discovery), then you're doing it wrong.
It is imperative to stay within the 15-port limit.
 
Joined
May 16, 2010
Messages
276
Motherboard
Gigabyte Z370-HD3
CPU
i5-8600K
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Here's an odd question. My case is a Fractal Design Define R4 and has four front case USB ports, going from left to right: two Blue (USB 3) and two regular USB 2.

In my port assigning, I found the first (leftmost) USB 3 port is HS01, and the one next to it is HS02/SS02. The first USB port only mounted USB2 devices, or mounted USB 3 devices on HS01.

All the other USB 3 ports aligned numerically HSxx with SSxx (HS07 with SS07 etc) and mounted USB2 and USB 3 devices properly (as HS or SS in the IORegistry).

So the only odd one out was SS01 did not show up. In my port definition I deleted SS01 so only had the definition for HS01:
Code:
                    "HS01", Package() // Front USB Left (1)
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },

My question is since this USB 3 port only has HS01 assigned to it, should it be set to "UsbConnector", 3 or "UsbConnector", 0 ?
Also since SS01 is deleted I end up with 15 ports total (5 HS/SS and 5 HS). It seems to work OK now- after removing the port limit patch things work accordingly. Is that a correct port count?
 
Last edited:
Joined
Oct 19, 2017
Messages
31
Motherboard
Thinkpad x1 carbon 5th gen
CPU
intel i7-7600U
Graphics
intel HD620 1920*1280
Mac
  1. MacBook
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Sorry If a duplicate question - is it possible to detect USB Type-C port using same technique?
i just finished USB config for my thinkpad x1c 5th gen, with 2 external USB ports and 2 internal (BT, camera) were detected well.
However, there are also 2 Type-C connector for this laptop, for charging/external batter/USB devices. but when i plug usb device (like an android phone) to those connectors, nothing change in IOReg under XHC. is it a normal situation?
Windows will recognize an android phone is plugged (same device, same connector).
thanks.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,093
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Here's an odd question. My case is a Fractal Design Define R4 and has four front case USB ports, going from left to right: two Blue (USB 3) and two regular USB 2.

In my port assigning, I found the first (leftmost) USB 3 port is HS01, and the one next to it is HS02/SS02. The first USB port only mounted USB2 devices, or mounted USB 3 devices on HS01.

All the other USB 3 ports aligned numerically HSxx with SSxx (HS07 with SS07 etc) and mounted USB2 and USB 3 devices properly (as HS or SS in the IORegistry).

So the only odd one out was SS01 did not show up. In my port definition I deleted SS01 so only had the definition for HS01:
Code:
                    "HS01", Package() // Front USB Left (1)
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },

My question is since this USB 3 port only has HS01 assigned to it, should it be set to "UsbConnector", 3 or "UsbConnector", 0 ?
Also since SS01 is deleted I end up with 15 ports total (5 HS/SS and 5 HS). It seems to work OK now- after removing the port limit patch things work accordingly. Is that a correct port count?

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,093
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Sorry If a duplicate question - is it possible to detect USB Type-C port using same technique?
i just finished USB config for my thinkpad x1c 5th gen, with 2 external USB ports and 2 internal (BT, camera) were detected well.
However, there are also 2 Type-C connector for this laptop, for charging/external batter/USB devices. but when i plug usb device (like an android phone) to those connectors, nothing change in IOReg under XHC. is it a normal situation?
Windows will recognize an android phone is plugged (same device, same connector).
thanks.

Depends on whether the USB type C is connected to the XHC controller or a TB3 controller.
 
Joined
Oct 19, 2017
Messages
31
Motherboard
Thinkpad x1 carbon 5th gen
CPU
intel i7-7600U
Graphics
intel HD620 1920*1280
Mac
  1. MacBook
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Depends on whether the USB type C is connected to the XHC controller or a TB3 controller.
Without detail investigation, had thought those type-C should connect to TB3 controller, given they have display output capability in Windows - However, those ports also have USB capability, means TB3 control has its own USB implementation or somehow connect back to XHC?

So the question becomes how to enable type-c ports, at least with USB capability? Sorry if off-topic of this thread.
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
188,093
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
Without detail investigation, had thought those type-C should connect to TB3 controller,

Analyze ioreg or the data in Windows Device Manager to verify.
Never assume anything.
Keep in mind: This guide/thread does not cover TB issues. Such discussions are off-topic here.
 
Joined
May 16, 2010
Messages
276
Motherboard
Gigabyte Z370-HD3
CPU
i5-8600K
Graphics
RX 580
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Here's an odd question. My case is a Fractal Design Define R4 and has four front case USB ports, going from left to right: two Blue (USB 3) and two regular USB 2.

In my port assigning, I found the first (leftmost) USB 3 port is HS01, and the one next to it is HS02/SS02. The first USB port only mounted USB2 devices, or mounted USB 3 devices on HS01.

All the other USB 3 ports aligned numerically HSxx with SSxx (HS07 with SS07 etc) and mounted USB2 and USB 3 devices properly (as HS or SS in the IORegistry).

So the only odd one out was SS01 did not show up. In my port definition I deleted SS01 so only had the definition for HS01:
Code:
                    "HS01", Package() // Front USB Left (1)
                    {
                        "UsbConnector", 3,
                        "port", Buffer() { 1, 0, 0, 0 },
                    },

My question is since this USB 3 port only has HS01 assigned to it, should it be set to "UsbConnector", 3 or "UsbConnector", 0 ?
Also since SS01 is deleted I end up with 15 ports total (5 HS/SS and 5 HS). It seems to work OK now- after removing the port limit patch things work accordingly. Is that a correct port count?
Files attached
 

Attachments

  • Files.zip
    872.5 KB · Views: 49
Top