Jump to content

[Guide] Native USB Fix for Desktops - No Injector/Kext Required - SkyLake+


Recommended Posts

  • Administrators
Posted

--About Credits for this method--

The source for the methods is the motherboard ACPI is not mald, geng, etc. Is just duplicated one OEM method(GUPC in this case), renamed(We need device name) and applyed connectors type(Credits is not for us. We just renamed and duplicated devices) . All credits for it is for Piker Alpha HERE and not for Italian peopleThis method of mapping has existed for many, many years and is not our credit.  

The resume is: We stole method GUPC from intel and apply the Piker way ofc.?

 

-All credits to Piker-Alpha

Here

https://pikeralpha.wordpress.com/2016/07/13/simple-skylake-usb-fix-no-kexts-required

and here

https://pikeralpha.wordpress.com/2016/11/10/two-port-usb-3-1-gen-ii-pci-express-card/

 

1- Check OEM SSDT about USBs, in my case is SSDT-6-A M I.aml, i'm using a Z390 mobo

2- Create Methods into SSDT OEM inside Scope _SB.PCI0.XHC.RHUB, Internal and USB 2 is native, just create USB 3, USB-C

-In some cases some ports have a Method _STA = Zero, change to 0x0F to enable

We just need duplicate Methods (GUPC for example) native from our ACPI table and Inject values

Connector types in the ACPI specification(pages 524 and 525)

https://uefi.org/sites/default/files/resources/ACPI_6.0.pdf

bn23gUz.png

0xFF - internal - GUPC

Zero - USB 2 - TUPC

0x03 - USB 3 - MALD

0x09 - USB-C - MAL0 (Same HSxx/SSxx in both orientations, then it has an internal switch)

0x0A - USB-C - MAL1 (Different HSxx/SSxx in each orientation, then it has no switch)

 

-Example

GUPC and TUPC is a native Methods

gecujqH.png

 

Quote
Method (GUPC, 1, Serialized)

{

Name (PCKG, Package (0x04)

{

Zero,

0xFF,

Zero,

Zero

})

PCKG [Zero] = Arg0

Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.GUPC.PCKG */

}

 

Method (TUPC, 1, Serialized)

{

Name (PCKG, Package (0x04)

{

One,

Zero,

Zero,

Zero

})

PCKG [Zero] = Arg0

Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.TUPC.PCKG */

}

 

Method (MALD, 1, Serialized)

{

Name (PCKG, Package (0x04)

{

Zero,

0x03,

Zero,

Zero

})

PCKG [Zero] = Arg0

Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.MALD.PCKG */

}

 

Method (MAL0, 1, Serialized)

{

Name (PCKG, Package (0x04)

{

Zero,

0x09,

Zero,

Zero

})

PCKG [Zero] = Arg0

Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.MAL0.PCKG */

}

 

Method (MAL1, 1, Serialized)

{

Name (PCKG, Package (0x04)

{

Zero,

0x0A,

Zero,

Zero

})

PCKG [Zero] = Arg0

Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.MAL1.PCKG */

}

}

 

3- Enable or Disable USB ports

-Check example TUPC

Look at Method _UPC - USB Port Capabilities

Enable = One

Disable = Zero

Example

Quote
Scope (\_SB.PCI0.XHC.RHUB.HS01)

{

Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities

{

If ((H1TC == Zero))

{

If (((UMAP & One) == One))

{

Return (TUPC (One))

}

Else

{

Return (GUPC (Zero))

}

}

Else

{

Return (\_SB.UBTC.RUCC (H1CR, One))

}

}

 

If you need identify your USB ports like USB-C for example, change TUPC/GUPC to MAL0

 

Quote
Scope (\_SB.PCI0.XHC.RHUB.SS01)

{

Method (_UPC, 0, NotSerialized) // _UPC: USB Port Capabilities

{

If ((H1TC == Zero))

{

If (((UMAP & One) == One))

{

Return (MAL0 (One))

}

Else

{

Return (GUPC (Zero))

}

}

Else

{

Return (\_SB.UBTC.RUCC (H1CR, One))

}

}

 

0xFF - internal - GUPC

Zero - USB 2 - TUPC

0x03 - USB 3 - MALD

0x09 - USB-C - MAL0 (Same HSxx/SSxx in both orientations, then it has an internal switch)

0x0A - USB-C - MAL1 (Different HSxx/SSxx in each orientation, then it has no switch)

 

-USB 2 PORTS inside USB 3 BUS, just Inject USB 3

Kzzu4cQ.png

-My SSDT with edits

SSDT-6-A M I.aml.zip

-Use a Diff Merge to compare files

-Original

ORIGINAL.txt.zip

-Edited

EDITED.txt.zip

-Download Diff Merge

https://sourcegear.com/diffmerge/downloads.php#

 

5BB76VB.png

 

  • Like 1

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted

Excellent guide [ref]MaLd0n[/ref], awesome!!


Bit by bit we will understanding more about ACPI patching, thank you.


But one doubt, I need to keep the USB Injection at Clover? E.g: Devices > USB > Inject/FixOwnership/HighCurrent


Thanks

Thanks & Regards

IdeaPad Gaming 3i  Aspire A515-52 • Clover / OpenCore
We are in a great Forum, so, let's have some fun and learn from each other!

btn_donate_SM.gif

  • Administrators
Posted

[ref]Allan[/ref], u can use it in clover without problem

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

  • Administrators
Posted

[ref]mathewgx[/ref], check if work

SSDT-2-xh_OEMBD.aml.zip

the image have all ur real ports?

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

  • Administrators
Posted

[ref]mathewgx[/ref], ;)

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

  • Administrators
Posted

[ref]vinpo[/ref], all

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

  • Administrators
Posted

[ref]piyushrawal[/ref], dont need usbinjectall and XHCI-unsupported.kext


use ssdt with usb patch limit and u don't need more

SSDT-xh.aml.zip

https://Olarila.com/forum/viewtopic.php?f=62&t=6539


if u need change connectors, check inside all _upc and change


0xFF - internal - GUPC

Zero - USB 2 - TUPC

0x03 - USB 3 - MALD

0x09 - USB-C - MAL0

0x0A - USB-C - MAL1


btw, SSDT-xh is a native name or u renamed it? use a native name and clover replace a correct table, i never test with rename

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted

[ref]piyushrawal[/ref], dont need usbinjectall and XHCI-unsupported.kext


use ssdt with usb patch limit and u don't need more

SSDT-xh.aml.zip

https://Olarila.com/forum/viewtopic.php?f=62&t=6539


if u need change connectors, check inside all _upc and change


0xFF - internal - GUPC

Zero - USB 2 - TUPC

0x03 - USB 3 - MALD

0x09 - USB-C - MAL0

0x0A - USB-C - MAL1


btw, SSDT-xh is a native name or u renamed it? use a native name and clover replace a correct table, i never test with rename

 

It's working with limit patch. But I am unable to disable USB ports to get it under 15 limit by setting Return (MALD (One)) to Return (MALD (Zero)). It has no effect.

And yes, renaming was a bad idea. It doesn't work if renamed.

  • Administrators
Posted

[ref]piyushrawal[/ref], remove ssdt uiac

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

  • Administrators
Posted

[ref]piyushrawal[/ref], replace full EFI, reboot and extract new send_me, don't change nothing

EFI.zip

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

  • Administrators
Posted

[ref]piyushrawal[/ref], run my app for full dump

--Run_Me

RunMe.app

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

  • Administrators
Posted

[ref]piyushrawal[/ref], DSDT.aml.zip

now, just change One to Zero if u need disable

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted

[ref]piyushrawal[/ref], DSDT.aml.zip

now, just change One to Zero if u need disable

[ref]MaLd0n[/ref], am I to use it alongside SSDT-4-xh_rvp08.aml or just the DSDT?

I am sorry for being a total noob.

And thanks a ton for your help. :)

  • Administrators
Posted

[ref]piyushrawal[/ref], use both files ssdt and dsdt, only it with my EFI folder

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Posted

For laptops (at least for my skylake laptop), it is also worth to know that native _UPC or _PLD is within DSDT itself. Similarly, like how Maldon had described all we need to do is replace zero to one and define usb type in the scope of UUPC and UPLD as per my example.


Hope this helps for some of us.


https://imgur.com/TY6U1wM

Donate

Gitter Chat


Acer Aspire V15 Nitro- Black Edition VN7-592G/HM170 Chipset

Intel i7-6700HQ, 8GB RAM (UEFI Clover Catalina)


MSI B360 Gaming Arctic

Intel i5-8600 16GB RAM Asus Radeon RX580 8GB (UEFI Clover Catalina)

  • Administrators
Posted

_UPC or _PLD is within DSDT

:guitar

-Guides and Tutorials HERE

-Hackintosh Tutorial Database - HERE

-The largest EFI folder collection for Hackintosh HERE

-Support Olarila Vanilla Hackintosh by making a donation HERE

-Professional Consulting for macOS Hackintosh since 2006 HERE

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×
×
  • Create New...