Welcome to AMD OS X

Why not register now to gain full access.

Tutorials for the installation and post install.
#41175
DEPRECATED : use this instead. viewtopic.php?f=24&t=4986&p=42056#p42056

This guide will help you get native usb support for all USB ports on Ryzen motherboards and replaces the old method (modded GenericUSBXHCI.kext in /EFI/CLOVER/kexts/* viewtopic.php?f=24&t=3587&p=36836#p36836). This will fix your issues with DACs/webcams/mics/BT dongles.

MAKE SURE THAT YOU HAVE A WORKING CLOVER ON YOUR USB DRIVE (usb installer you used to install macOS) AS THIS TUTORIAL CAN FAIL. BOOTING WITH THE CLOVER ON THE USB WILL MAKE THE USB PORTS WORK AGAIN (GenericUSBXHCI.kext is in /EFI/CLOVER/Kexts/**).

1. Delete GenericUSBXHCI.kext, DummyUSBEHCIPCI.kext and DummyUSBXHCIPCI.kext from:
a. EFI/CLOVER/kexts/10.xx or Other (xx is your MacOs version) NOTE : use Clover Configurator (Google it) to MOUNT your EFI folder.
b. System/Library/Extensions/
c. Library/Extensions/

2. Download the tools
Code: Select all
https://nofile.io/f/Eg6wg8tQOgC/debugtools.zip
3. Open Kext Wizard (right click ->open).
Check Repair permissions and Rebuild cache and hit Execute.

4. Open DPCIManager (right click ->open).
Click on Extract DSDT. Save the file.

5. Open the DSDT.aml file you just saved with MaciASL (right click ->open with).

6. Use COMMAND + F and search for "Device (PTXH)"
Should look like this :
Code: Select all
...
                Device (PTXH)
                {
                    Name (_ADR, Zero)  // _ADR: Address
                    Method (_PRW, 0, NotSerialized)  // _PRW: Power Resources for Wake
                    {
                        Return (GPRW (0x19, 0x04))
                    }

                    Device (RHUB)
                    {
                        Name (_ADR, Zero)  // _ADR: Address
.....
Under that block, look for the device with Name (_ADR, One) // _ADR: Address
Should be POT1. Delete that device.
Code: Select all
                        Device (POT1)
                        {
                            Name (_ADR, One)  // _ADR: Address
                            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                            {
                                Buffer (0x14)
                                {
                                    /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0008 */  0x19, 0x0C, 0x80, 0x00, 0x01, 0x00, 0x00, 0x00,
                                    /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                         
                                }
                            })
                        }


Do the same with device with Name (_ADR, 0x02) // _ADR: Address
Should be POT2. Delete the device.
Code: Select all
           
                        Device (POT2)
                        {
                            Name (_ADR, 0x02)  // _ADR: Address
                            Name (_UPC, Package (0x04)  // _UPC: USB Port Capabilities
                            {
                                0xFF, 
                                0x03, 
                                Zero, 
                                Zero
                            })
                            Name (_PLD, Package (0x01)  // _PLD: Physical Location of Device
                            {
                                Buffer (0x14)
                                {
                                    /* 0000 */  0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0008 */  0x99, 0x0C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00,
                                    /* 0010 */  0xFF, 0xFF, 0xFF, 0xFF                         
                                }
                            })
                        }

Save the edits for that DSDT.aml.

7. Copy the DSDT.aml file to /EFI/CLOVER/ACPI/patched

8. Reboot your PC. Enjoy



Credit to Rio2 for that fix.
Code: Select all
https://www.insanelymac.com/forum/topic/334203-ssdt-high-sierra-native-usb-on-ryzen-without-genericusbxhci-or-injector-kexts/?tab=comments#comment-2615950
RagingDemon, SangieWolf liked this

 Advertising

User avatar
by: 0sk4rgp
#41187
I tried it , deleted the kext, ran kext wizard, and added the edited dsdt, it wasn't working at 1st, then went to xlnc's menu and selected option 5 uninstall usbfix, even thou the files were already deleted, my webcam is finally working thou it has to be connected in a 2.0 port, is an old one.

Thank you!
User avatar
by: Shaneee
#41188
There's an issue with this. I have only one USB 2.0 port and it's my USB DAC port. 4 ports on the rear are 3.1 and front two ports I think are 3.0, maybe 3.1. If I use the SSDT method, this method or my own of renaming POT to UHC then all ports work but the rear 3.1 ports act as 2.0. It's the same thing with GenericUSBXHCI. @AlGrey you've got the same board. How are you're ports?
Code: Select all
USB	Chipset:
2 x USB 3.1 Gen 2 Type-A ports (red) on the back panel
2 x USB 3.1 Gen 1 ports (available through the internal USB header)
5 x USB 2.0/1.1 ports (1 port on the back panel, 4 ports available through the internal USB headers)
CPU:
4 x USB 3.1 Gen 1 ports on the back panel
Image

The disconnected device in red was a rear 3.1 port and green is the front 3.0/3.1 port. Rear only shows speeds upto 480Mb/s but front is upto 5Gb/s

Image
User avatar
by: AlGrey
#41191
@Shaneee, right same thing 2.0 speed only on the ASMedia controller rear ports
Post Merged
@Shaneee, I actually get 2.0 speed on all ports except the two on my case...
Post Merged
I have two usb 3.0 port for my case, they both initialize device POT3/POT7 and POT4/POT8 for USB3.0/2.0 ... but only 2.0 initialization on rear ports.
User avatar
by: Shaneee
#41205
AlGrey wrote:@Shaneee, right same thing 2.0 speed only on the ASMedia controller rear ports
Post Merged
@Shaneee, I actually get 2.0 speed on all ports except the two on my case...
Post Merged
I have two usb 3.0 port for my case, they both initialize device POT3/POT7 and POT4/POT8 for USB3.0/2.0 ... but only 2.0 initialization on rear ports.
I'll keep looking into this when I've got the time. I also noticed that Windows also has the device ID 15E1, 15E0 and 790B for USB. When added to GenericUSBXHCI USB fails to work all together. Maybe some DSDT work is required.
AlGrey liked this
User avatar
by: tikizondo94
#41282
Excellent work finding this! Worked perfect on my x370 Gigabyte board. All usb 2.0, 3.0 and 3.1 ports seem to be working correctly now. And showing in system profiler. Much appreciated :)
You do not have the required permissions to view the files attached to this post.
User avatar
by: ydeng
#41301
tikizondo94 wrote:Excellent work finding this! Worked perfect on my x370 Gigabyte board. All usb 2.0, 3.0 and 3.1 ports seem to be working correctly now. And showing in system profiler. Much appreciated :)
tikizondo94 wrote:Excellent work finding this! Worked perfect on my x370 Gigabyte board. All usb 2.0, 3.0 and 3.1 ports seem to be working correctly now. And showing in system profiler. Much appreciated :)
What is your ioreg and dsdt? I get invalid opcode when I try this on x399 board?
User avatar
by: mexpat911
#41355
I can confirm this fix worked for me. I have about 3 BT devices hooked up, and me C920 is back in business.

This is halfway to a decent hackintosh experience. Just need to get iMessage working now.
Compatibility Check

I am new in Hackintosh, what guide should i follow[…]

I got a Ryzen with a ASUS B350-Plus and 5 mechanic[…]

Newbie need help

1. If you use an original macbook to create instal[…]

I wonder if using a kext built on my local machine[…]