Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Hi there. Good work so far :thumbup:

Using Hackintool to change the UsbConnector type (USB2, USB2, Internal, Type-C+SW, Type-C) needs an output to do anything. So either an SSDT-UIAC.aml or USBPorts.kext need to be created and installed to activate any changes.

No, there is no need to create 'dummy' configurations of USB-C to catch the actual port. It will appear or disappear in the list whether or not is is correctly 'typed'. As your USB-C port is not responding to the external SSD I think perhaps IORegistryExplorer should be used to identify it instead.

If you keep the IORegistryExplorer window open and perhaps scrolled down to the XHC tree, then insert your external SSD, the tree should jump open. Even if the device does not appear in the XHC section the tree should still move as it is allocated a place elsewhere. Then you just have to scroll up to find it. Hopefully in green, although not necessarily.

If absolutely nothing happens then ... we move on .

:)
Hi there back.
I was planning to follow the process of creating, then inserting the kext, followed by reboot to check out changes. I tested once more the USB-C port. No luck. IOReg reported no new tree connections. I know it doesn't work b/c the drive light never comes on. Either the port connector setting is preventing it be recognized, or the USB-C to USB-C cable might be bad, or worse, the port itself? The drive works on the 3.1 ports using the USB-C to USB cable. So, any further advice on activating the USB-C port?

Thanks in advance!
 
Hi there back.
I was planning to follow the process of creating, then inserting the kext, followed by reboot to check out changes. I tested once more the USB-C port. No luck. IOReg reported no new tree connections. I know it doesn't work b/c the drive light never comes on. Either the port connector setting is preventing it be recognized, or the USB-C to USB-C cable might be bad, or worse, the port itself? The drive works on the 3.1 ports using the USB-C to USB cable. So, any further advice on activating the USB-C port?

Thanks in advance!


Hi there.

Sorry to read the USB-C port is still not working. No, I don't know of any other tests.

As the external SSD works using a USB-A to USB-C cable, that shows that the power being delivered from a normal USB3 port is sufficient for the drive. The fact that there is no indication that the USB-C port is active, is frustrating.

The only thing left, apart from hardware failure, seems to be a BIOS setting. I downloaded the motherboard manual, but as you say there is no specific switch for USB-C. The only other relevant settings seem to be under Peripherals / USB Configuration - XHCI Handoff and USB Mass Storage Driver Support.

A pity you do not have any other USB-C devices to test with.
 
Hi there.

Sorry to read the USB-C port is still not working. No, I don't know of any other tests.

As the external SSD works using a USB-A to USB-C cable, that shows that the power being delivered from a normal USB3 port is sufficient for the drive. The fact that there is no indication that the USB-C port is active, is frustrating.

The only thing left, apart from hardware failure, seems to be a BIOS setting. I downloaded the motherboard manual, but as you say there is no specific switch for USB-C. The only other relevant settings seem to be under Peripherals / USB Configuration - XHCI Handoff and USB Mass Storage Driver Support.

A pity you do not have any other USB-C devices to test with.
First, thanks again for getting me this far. The drive is new. Bought it for backups for upgrades. I can still use the 3.1 port. Would rather have a trusty connection for safe backups. Will let you know if I get the USB-C connected.

Stay safe.

Cheers!
 
@UtterDisbelief
Hi there, again!
Thought I'd recap my journey. Spent the weekend browsing your new guide for users experience using USBPorts.kext to configure their ports, before completing the task myself. Saw that USBC is finicky with power requirements. Since my SSD drive never showed signs of powering up when plugged into the USBC port, I was hoping that if the port was configured correctly, that it would magically work when a device was plugged in. Determined, I first configured ports SS03-SS06 as connector TypeC, hoping that after reboot, the USBC would recognize the exernal SSD. Nope. Reconfigured again using TypeC+Sw, no luck either. Ive since removed SS03-SS06 from the definition and moved on. So in the end, I'm hoping my issue is a faulty USBC to USBC cable. Might buy another cable when things get back to normal. I hope the USBC port on my MOBO isn't bad. Ive already been dealt with a MOBO where the onboard Wifi/BT wouldn't work for hacking. Had to remove the Wifi/BT chip, then struggle with a BT dongle, which wasn't dependable. Hence the reason for the Fenvi Wifi/BT adaptor attached to the USB 2 header.

Now that my limited USB ports are configured correctly, I'll begin the process of OSX updates. Still at 10.14.1. One final off topic question, with USBPorts.kext needing to be installed in Other, is there a movement to have all other kext such as WEG, Lilu, etc, removed from LE, and placed in Other for successful upgrades?

Thanks again for all your help, and a very good beginners user guide!

Cheers!
 
@UtterDisbelief
Hi there, again!
Thought I'd recap my journey. Spent the weekend browsing your new guide for users experience using USBPorts.kext to configure their ports, before completing the task myself. Saw that USBC is finicky with power requirements. Since my SSD drive never showed signs of powering up when plugged into the USBC port, I was hoping that if the port was configured correctly, that it would magically work when a device was plugged in. Determined, I first configured ports SS03-SS06 as connector TypeC, hoping that after reboot, the USBC would recognize the exernal SSD. Nope. Reconfigured again using TypeC+Sw, no luck either. Ive since removed SS03-SS06 from the definition and moved on. So in the end, I'm hoping my issue is a faulty USBC to USBC cable. Might buy another cable when things get back to normal. I hope the USBC port on my MOBO isn't bad. Ive already been dealt with a MOBO where the onboard Wifi/BT wouldn't work for hacking. Had to remove the Wifi/BT chip, then struggle with a BT dongle, which wasn't dependable. Hence the reason for the Fenvi Wifi/BT adaptor attached to the USB 2 header.

Now that my limited USB ports are configured correctly, I'll begin the process of OSX updates. Still at 10.14.1. One final off topic question, with USBPorts.kext needing to be installed in Other, is there a movement to have all other kext such as WEG, Lilu, etc, removed from LE, and placed in Other for successful upgrades?

Thanks again for all your help, and a very good beginners user guide!

Cheers!


Hi there.

Yes, it is worth bearing in mind that there are two types of USB-C to USB-C cable commonly available - USB2 and USB3. Check out Amazon for example. Their own Amazonbasics brand offers both types. You need to read the description line very carefully to spot it - "2.0" or "3.0".

Mind you if you are using the cable that came with the external SSD enclosure, you would expect it to be the correct type.

As for kext placement, I recommend EFI/CLOVER/kexts/Other now. L/E works up to Mojave but why give yourself a future headache when you upgrade to Catalina?

:)
 
Hi,
So my system is a Z77X-UD5H F16j Modded Bios running MacOS 10.14.6 fully updated with the latest updates.

So I'm trying to make a SSDT for the USB.
I'm using Hackintool.

Now after some trying I can't get the SSDT or USBPort.kext working correctly.
Every time I lose my Bluetooth USB Link.
All other ports stay working for some strange reason.

- So I started with no Kext added
Z77X-UD5H_USB_Test_01.png

- Next I added USBInjectAll.Kext
Z77X-UD5H_USB_Test_02.png

- Next I cleaned the grey USB ports]
Z77X-UD5H_USB_Test_03.png

Then I hit export, added the generated SSDT to ACPI Patched and rebooted
resulting in next screenshot:
Z77X-UD5H_USB_Test_04.png

I attached IOREG exports from:
only with USBInjectAll.kext
After booting with the generated SSDT files

Finally I added the generated SSDTs from Hackintool
 

Attachments

  • NEP2B_Studio_USBInjectAll.ioreg
    3.7 MB · Views: 46
  • NEP2B_Studio_USBInjectAll_with_SSDT.ioreg
    6.3 MB · Views: 52
  • SSDT-UIAC.aml
    1.8 KB · Views: 58
  • SSDT-EC-USBX.aml
    278 bytes · Views: 56
Hi,
So my system is a Z77X-UD5H F16j Modded Bios running MacOS 10.14.6 fully updated with the latest updates.

So I'm trying to make a SSDT for the USB.
I'm using Hackintool.

Now after some trying I can't get the SSDT or USBPort.kext working correctly.
Every time I lose my Bluetooth USB Link.
All other ports stay working for some strange reason.

- So I started with no Kext added
View attachment 466767

- Next I added USBInjectAll.Kext
View attachment 466768

- Next I cleaned the grey USB ports]
View attachment 466769

Then I hit export, added the generated SSDT to ACPI Patched and rebooted
resulting in next screenshot:
View attachment 466770

I attached IOREG exports from:
only with USBInjectAll.kext
After booting with the generated SSDT files

Finally I added the generated SSDTs from Hackintool


Thanks for the uploads :thumbup:

Okay then ... Bluetooth device on PR17/HP17, located on 'hub' EH01/PR11.

Problem: Hackintool shows port and device active when no SSDT present, however with the SSDT in place, though the port is still visible, there is no device.

IORegistryExplorer does not show a port HP17 with the SSDT in place.

Because there are extra controllers in this system, EHC shows more ports that the default 10x (16)

What is that ExpressCard in your system at HP18?

What kexts do you have installed in EFI/CLOVER/kexts/Other and Drive: Library/Extensions ?

Thanks.
 
Last edited:
@UtterDisbelief ! Just wanted to pop in and let you know that I got bluetooth on the Fenvi T919 working flawlessly now. A couple months ago we were trying for days (weeks) to get it working, and at the time I ended up just using an ASUS BT400 dongle as a workaround, but that was even spotty with it's connection and reliability.

Well, yesterday I installed the Fenvi T919 drivers in Windows 10, and also used the big antennas for the motherboard wifi and screwed them into two ports on the Fenvi card.
Once I started up in macOS again, my bluetooth is working 100%!
Not using the ASUS dongle anymore, the Fenvi bluetooth is working solid, no lag or delay, and all the things I've been wanting to work like handoff, Apple Watch unlock, etc. are all working consistently!

Either it was installing the drivers in Windows 10 (on my other internal ssd), or using the big antennas, or both, but this was the solution! The Fenvi cable from the card is going into the internal USB header on the motherboard.

Love that I finally have success with this!
 
@UtterDisbelief ! Just wanted to pop in and let you know that I got bluetooth on the Fenvi T919 working flawlessly now. A couple months ago we were trying for days (weeks) to get it working, and at the time I ended up just using an ASUS BT400 dongle as a workaround, but that was even spotty with it's connection and reliability.

Well, yesterday I installed the Fenvi T919 drivers in Windows 10, and also used the big antennas for the motherboard wifi and screwed them into two ports on the Fenvi card.
Once I started up in macOS again, my bluetooth is working 100%!
Not using the ASUS dongle anymore, the Fenvi bluetooth is working solid, no lag or delay, and all the things I've been wanting to work like handoff, Apple Watch unlock, etc. are all working consistently!

Either it was installing the drivers in Windows 10 (on my other internal ssd), or using the big antennas, or both, but this was the solution! The Fenvi cable from the card is going into the internal USB header on the motherboard.

Love that I finally have success with this!


Good news :thumbup:

Glad you found something that helped. It's so frustrating to be getting nowhere for so long. I do wonder about the antennas we use sometimes. For example those identical generic ones we get given with the device - which promises 10m connectivity and we are lucky if we get 10-cm! Yes, I use my own Gigabyte antenna from a previous build.

:)
 
Thanks for the uploads :thumbup:

Okay then ... Bluetooth device on PR17/HP17, located on 'hub' EH01/PR11.

Problem: Hackintool shows port and device active when no SSDT present, however with the SSDT in place, though the port is still visible, there is no device.

IORegistryExplorer does not show a port HP17 with the SSDT in place.

Because there are extra controllers in this system, EHC shows more ports that the default 10x (16)

What is that ExpressCard in your system at HP18?

What kexts do you have installed in EFI/CLOVER/kexts/Other and Drive: Library/Extensions ?

Thanks.

Sorry for the late response, busy at work.

Don't have anything related to what can be a ExpressCard in the system, so no idea where he's getting this readout.

I'm using OpenCore since last weekend
EFI/OC/kexts:
Schermafbeelding 2020-05-10 om 08.32.49.png

Library/Extensions:
F6225128-E0F4-4569-AD7D-095A559FC334.png
 
Last edited:
Back
Top