- Joined
- Mar 6, 2012
- Messages
- 20
- Motherboard
- GIGABYTE Z370 AORUS Ultra Gaming
- CPU
- Core i7-8700k
- Graphics
- Radeon RX 5700XT
- Mac
I recently transitioned away from using USBInjectAll.kext with a SSDT-UIAC in favor of the USBPorts.kext generated by Hackintool. I then customized the Info.plist of USBPorts to include USB power definitions. In addition that, I also have a SSDT-EC-USBX and a PCIe card specific SSDT. All ports work, have the right connector, and maintain consistent power (no device disconnects during sleep). Most people would probably stop at this point, however I'm looking to understand a number of things that are more complicated relating to power.
Currently I have these power states defined in some form in all three locations:
This is stable, there are no kernel panics, errors about power in the boot log, and power values gets populated per ACPIExplorer in each location:
Here are the related references I could find:
What I'm doing must be redundant given what I'm trying to accomplish. I also have no idea if those high powered PCIe USB ports ACTUALLY provide any extra power as implemented (using AAPL,current-extra to add 1A to the default). I don't have an iOS device to check this with.
So I guess the questions are - How do you set differing USB power values per controller? IE setting ports on a PCIe card to 3A and motherboard ports to 2A. Is this what AAPL,current-extra is for?
Which ACPI devices do I actually need to create/customize/populate between USBX, EC, AppleBusPowerController, XHC, XHC2 in Catalina?
Currently I have these power states defined in some form in all three locations:
- SSDT-EC-USBX: Adds EC and USBX devices. Uses a _DSM (Device-Specific Method) to set:
- kUSBSleepPortCurrentLimit, 2100
- kUSBSleepPowerSupply,5100
- kUSBWakePortCurrentLimit,2100
- kUSBWakePowerSupply,5100
- USBPorts.kext/Contents/Info.plist: Uses IOProviderMergeProperties with AppleUSBMergeNub:
- kUSBSleepPortCurrentLimit, 2100
- kUSBSleepPowerSupply,5100
- kUSBWakePortCurrentLimit,2100
- kUSBWakePowerSupply,5100
- SSDT-XHC2-PCI: Uses a _DSM (Device-Specific Method) on the XHC2 to set 3A ports (I think):
- "AAPL,current-available", 2100
- "AAPL,current-extra", 1000
- "AAPL,current-in-sleep", 2100
- "AAPL,max-port-current-in-sleep", 2100
This is stable, there are no kernel panics, errors about power in the boot log, and power values gets populated per ACPIExplorer in each location:
- IOACPIPlane:/_SB/USBX@0
- IOService:/IOResources/AppleBusPowerController
- IODeviceTree:/PCI0@0/RP19@1B,2/XHC2@0
Here are the related references I could find:
acidanthera/OpenCorePkg
OpenCore bootloader. Contribute to acidanthera/OpenCorePkg development by creating an account on GitHub.
github.com
[Guide] USB power property injection for Sierra (and later)
You might want to update the OP. In Catalina the list of support SMBIOS'es has been moved to IOUSBHostFamily/Contents/Info.plist no longer contains supported boardIDs. @RehabMan
www.tonymacx86.com
[Guide] USB power property injection for Sierra (and later)
Hi RehabMan, I can't figure out why sometimes my mouse isn't working after sleep.Other devices work perfectly. I properly injected USB-UIAC/USBX SSDT as you can see in my IOReg. I have another question: how I can see the log output of verbose mode? - can't find any boot.log or kernel.log in...
www.tonymacx86.com
What I'm doing must be redundant given what I'm trying to accomplish. I also have no idea if those high powered PCIe USB ports ACTUALLY provide any extra power as implemented (using AAPL,current-extra to add 1A to the default). I don't have an iOS device to check this with.
So I guess the questions are - How do you set differing USB power values per controller? IE setting ports on a PCIe card to 3A and motherboard ports to 2A. Is this what AAPL,current-extra is for?
Which ACPI devices do I actually need to create/customize/populate between USBX, EC, AppleBusPowerController, XHC, XHC2 in Catalina?