Contribute
Register

A Beginner's Guide to Creating a Custom USB SSDT

Joined
Jan 3, 2019
Messages
12
Motherboard
Intel DH77DF
CPU
i5-3570T
Graphics
HD 2500
Mobile Phone
  1. Android
@UtterDisbelief thank you for the perfect guide! Hi have installed high Sierra 10.13.6 with the last security updates. If I use hackintool I can see only usb3 devices when I plug them. Usb2 devices doesn't appears but they work, not perfectly but they work.. I don't understand why! Thank you to all!
 
Joined
Aug 13, 2010
Messages
418
Motherboard
GA-X58A-UD3R
CPU
X5650
Graphics
7970HD
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
After the last attempt to create a SSDT, I had a stable machine for over 5 weeks. After a reboot I am now back to the reboots around sleeping from before. I have tried to follow the steps exactly, but for some reason I lose Bluetooth (it is on UHC3 port XX01), and have other ports show up that I deleted - I only choose ports that are green (and ones I know I'll need). When I reboot with the new USbPorts, etc., I get other ports showing up (I cannot find out where these ports are being pulled from). Please advise me as to where I should go from here. thank you very much!
 

Attachments

  • config.plist
    13.3 KB · Views: 13
  • Info.plist
    7.2 KB · Views: 20
  • Screen Shot 2020-03-18 at 10.40.35 AM.png
    Screen Shot 2020-03-18 at 10.40.35 AM.png
    334.6 KB · Views: 18
  • SSDT-UIAC.aml
    861 bytes · Views: 14
  • SSDT-UIAC.dsl
    4.3 KB · Views: 13
  • Archive.zip
    18.7 KB · Views: 15

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,908
Motherboard
ASRock B560M itx/ac - OC 0.6.8
CPU
i3-10320
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
After the last attempt to create a SSDT, I had a stable machine for over 5 weeks. After a reboot I am now back to the reboots around sleeping from before. I have tried to follow the steps exactly, but for some reason I lose Bluetooth (it is on UHC3 port XX01), and have other ports show up that I deleted - I only choose ports that are green (and ones I know I'll need). When I reboot with the new USbPorts, etc., I get other ports showing up (I cannot find out where these ports are being pulled from). Please advise me as to where I should go from here. thank you very much!

I'll take a look later when I'm back at my PC :thumbup:
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,908
Motherboard
ASRock B560M itx/ac - OC 0.6.8
CPU
i3-10320
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
I'll take a look later when I'm back at my PC :thumbup:

Hello again,

Okay, interesting set-up ...

Incidentally your motherboard features an NEC USB3 controller, according to Gigabyte, but Hackintool shows this as a Fresco Logic FL1100. This makes me wonder if you have an add-on PCI-e USB card in the mix too?

Anyway, other than that, you seem to have worked the *.dsl very well. Considering the age of the X58 - it isn't often we see a UHC controller in the listing :thumbup:

Right, on to your problem with Bluetooth -

Yes, we can see it is not visible in Hackintool. What type of BT adapter is it? A PCI-e card or a USB dongle?
If it's a card you would connect it to a USB header - I guess F_USB1 or F_USB2. Each of those actually has 2x ports so check the plug is in the same one as before.

If a header is how you are connecting, use a UsbConnector type 255. In your SSDT you have it set to 0 :

"8086_3a36", Package()
{
"port-count", Buffer() { 0x01, 0x00, 0x00, 0x00 },
"ports", Package()
{
"XX01", Package()
{
"UsbConnector", 0, <------- should be "255"
"port", Buffer() { 0x01, 0x00, 0x00, 0x00 },
},
},
},

However if you are using a USB dongle and on paper it looks like it should be "0" then when the port is polled the USB sub-system will wake your machine.

Double check the setting you used before etc.

:)
 
Last edited:
Joined
Aug 13, 2010
Messages
418
Motherboard
GA-X58A-UD3R
CPU
X5650
Graphics
7970HD
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Yes I have turned off the internal USB 3.0, since I have read it causes issues, and have a 4 port USB 3.0 PCIE card that works very well. I have a WiFi-USB 3.0 adapter card (was one that was recommended on this site). This port appears on UHC3 port xx01 ( I believe in header 1). When I use Hackintool, and I delete any port (like ports 15-18) the Bluetooth port no longer works. I will try the change to 255, but have done this before.
Also, what files, kexts etc goes where? I have tried many things and am now confused as to what goes where.
Again, thank you very much.
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,908
Motherboard
ASRock B560M itx/ac - OC 0.6.8
CPU
i3-10320
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Yes I have turned off the internal USB 3.0, since I have read it causes issues, and have a 4 port USB 3.0 PCIE card that works very well. I have a WiFi-USB 3.0 adapter card (was one that was recommended on this site). This port appears on UHC3 port xx01 ( I believe in header 1). When I use Hackintool, and I delete any port (like ports 15-18) the Bluetooth port no longer works. I will try the change to 255, but have done this before.
Also, what files, kexts etc goes where? I have tried many things and am now confused as to what goes where.
Again, thank you very much.

Okay, that's fine. If you connect the BT cable to an Internal USB header then it should be set as UsbConnector type 255. However this will not make the port visible or invisible.

The basic kext needed for USB is just USBPorts.kext as you have disabled the onboard Nec chip. Interestingly though, you have no visible XHC ports. I may be wrong but I thought the add-on FL1100 card was USB3, but it isn't showing in Hackintool's top panel. So then I wonder where the EHCI ports are coming from, if the South Bridge chipset for X58 is UHC?

I also do not know, 100%, if Hackintool works well with UHC systems. More research needed!

For more experimenting you could remove USBPorts.kext and replace it with USBInjectAll.kext, along with the Hackintool generated SSDT-UIAC.aml file placed in CLOVER/ACPI/patched folder. See if that makes any difference :thumbup:
 
Joined
Aug 13, 2010
Messages
418
Motherboard
GA-X58A-UD3R
CPU
X5650
Graphics
7970HD
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Thank you very much. I have the rename patches in Clover, is this a problem? Or do I need them. I am not sure, from the version of Hackintool i had before (2.8?) to the latest one, the ports started showing with the names. Not sure why.
 
Joined
Aug 13, 2010
Messages
418
Motherboard
GA-X58A-UD3R
CPU
X5650
Graphics
7970HD
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Tried USBInjectAll, still same results, the Port is recognized (UHC3 xx01) and as internal, but no BT. If I use InjectAll and leave ports that are not there (15-18 and others that show up white in Hackintool), the BT works. If I fine tune the ports and remove unused ports, BT quits working. It seems the machine is more stable with the port for BT off, than on.
Again, thank you! This has been an ongoing issue, one which for 5 weeks I thought was fixed.
 

UtterDisbelief

Moderator
Joined
Feb 13, 2012
Messages
5,908
Motherboard
ASRock B560M itx/ac - OC 0.6.8
CPU
i3-10320
Graphics
GT710 - 1920x1080
Mac
  1. iMac
  2. Mac mini
Classic Mac
  1. eMac
  2. iBook
Mobile Phone
  1. iOS
Tried USBInjectAll, still same results, the Port is recognized (UHC3 xx01) and as internal, but no BT. If I use InjectAll and leave ports that are not there (15-18 and others that show up white in Hackintool), the BT works. If I fine tune the ports and remove unused ports, BT quits working. It seems the machine is more stable with the port for BT off, than on.
Again, thank you! This has been an ongoing issue, one which for 5 weeks I thought was fixed.

What is probably happening is port redirection. Something often caused by a kext. One example being FakePCIID_XHCIMux.kext. Remember those UHC ports are 'unusual' by modern standards. You really need to be using EHCI ports for Bluetooth. If you delete a redirected port the original is deactivated too even though not obvious.

If you want to upload a full IORegistryExplorer Export file I can take look through it for more suggestions. If not, no worries :)
 
Top