Sniki
Moderator
- Joined
- Jan 5, 2016
- Messages
- 2,313
- Motherboard
- HP Elite 8300 SFF
- CPU
- i7-3770
- Graphics
- Intel HD 3000 | GTX 1650 LP
- Mac
- Mobile Phone
@trs96 @certainReasons
I did push the final fixes for USB Ports and done the final edits as Rehabman requested.
iMac 13,1 / iMac 13,2 / iMac 13,3 SMBIOS do have override - custom injector in /System/Library/Extensions/IOUSBHostFamily.kext /contents/plugins/AppleUSBHub.kext /contents/info.plist that injects a PRT1,PRT3,PRT8 ports into EH01 > PR11 like seen in the picture below:
These ports do cause issues with USB ports, even after creating custom usb injector with SSDT, these ports will still be injected thus overriding/bypassing our usb injector.
There are two ways we can override this issue.
Solution 1:
Best way as Rehabman suggested:
- No need to edit the kext after every single update
- We are actually using the AAPL,ig-platform-id of Macmini6,1 for HD4000 Desktop graphics anyway
- Graphics configurations are overriden by WhateverGreen.kext anyway
- Others things like Power Management etc, are overriden by ACPI, congig.plist & kexts thus leaving the impact of SMBIOS more of a cosmetical thing.
Pushed the changes for this on Github
Solution 2:
Edit the explained info.plist of the kext by removing the injected ports.
- Copy IOUSBHostFamily.kext from /System/Library/Extensions/ to desktop
- Right click on IOUSBHostFamily.kext that we copied on desktop and press "Show Package Contents"
- go to contents/plugins/AppleUSBHub.kext - Right click it and press "Show Package Contents"
- go to contents/info.plist right click and "Open With" either PlistEditPro or Xcode
- go to IOKitPersonalities/ and select the lines of code selected/highlighted like on the screenshot above and delete those lines.
- Save the file.
Open terminal
Rebuild caches
Reboot and USB ports are working.
Keep in mind that Solution 2 will be necessary after each macOS Update or Security Update & no actual benefit from it compared to Solution 1
Personally i will use Solution 1 for everyone who wants to use my guide and the files on github are configured accordingly to that.
Thanks to @RehabMan this gives an end to USB Problems.
I did push the final fixes for USB Ports and done the final edits as Rehabman requested.
iMac 13,1 / iMac 13,2 / iMac 13,3 SMBIOS do have override - custom injector in /System/Library/Extensions/IOUSBHostFamily.kext /contents/plugins/AppleUSBHub.kext /contents/info.plist that injects a PRT1,PRT3,PRT8 ports into EH01 > PR11 like seen in the picture below:
There are two ways we can override this issue.
Solution 1:
Best way as Rehabman suggested:
Switch to Macmini6,1 SMBIOS:I would probably use Macmini6,1 instead. WhateverGreen.kext can workaround SMBIOS issues with DGPU.
- No need to edit the kext after every single update
- We are actually using the AAPL,ig-platform-id of Macmini6,1 for HD4000 Desktop graphics anyway
- Graphics configurations are overriden by WhateverGreen.kext anyway
- Others things like Power Management etc, are overriden by ACPI, congig.plist & kexts thus leaving the impact of SMBIOS more of a cosmetical thing.
Pushed the changes for this on Github
Solution 2:
Edit the explained info.plist of the kext by removing the injected ports.
- Copy IOUSBHostFamily.kext from /System/Library/Extensions/ to desktop
- Right click on IOUSBHostFamily.kext that we copied on desktop and press "Show Package Contents"
- go to contents/plugins/AppleUSBHub.kext - Right click it and press "Show Package Contents"
- go to contents/info.plist right click and "Open With" either PlistEditPro or Xcode
- go to IOKitPersonalities/ and select the lines of code selected/highlighted like on the screenshot above and delete those lines.
- Save the file.
Open terminal
Code:
cd desktop
sudo cp -R IOUSBHostFamily.kext /System/Library/Extensions/
Code:
sudo kextcache -i /
Keep in mind that Solution 2 will be necessary after each macOS Update or Security Update & no actual benefit from it compared to Solution 1
Personally i will use Solution 1 for everyone who wants to use my guide and the files on github are configured accordingly to that.
Thanks to @RehabMan this gives an end to USB Problems.