Contribute
Register

[Guide] 10.11+ USB changes and solutions

Status
Not open for further replies.
This is my first ever mackintosh build. Motherboard MSI H170M Pro VHD CPU i7 6700K 4GHz Graphics OnBoard Intel HD530

The computer doesn't wake up fully from sleep. There is no display on the screen and the USB ports do not work. I have followed Part 1 and Part 2 from the first post on this link http://www.tonymacx86.com/threads/el-capitan-usb-issues-possible-fix.172337/ couldn't find XWAKn my DSDT.

Please help thanks n advance. The ioreg, clover folder and kextcache command output are attached.
 

Attachments

  • settngs.zip
    3.3 MB · Views: 82
Hi RehabMan, Hi Guys,

I need your help. I dont know, what am I doing wrong with my USB injection? Ive tried to capture every detail, therefore quite some long post around! Sorry!!!


Im using an Asrock X99M Extreme4 which is quit rare to what I know at the moment (no other hackintosh around in our community or others so fare?!)


1) DSDT original finds USB2/3 directly under XHCI/RHUB/ - see attached DSDT.aml in zip-File and Screenshot, 14 USB2.0 (4 IO-shield, 10 internal), 6 USB3.0 (4 IO-shield, 2 internal).
conclusion 1)
all Ports under XHCI to my knowledge, no Ports under EHC1 or EHC2. Under EHC1 and EHC2 I find /HUBN/PRO1/PR11-PR18 and PR11-16. quite common for x99 to what is described here and in the different readme files of your usbinjectall.kext etc.
question 1) What is a PR Device?


2) DPCI Manager tells my my Wellsburg USB xHCI Host controller Device-ID which is: 8086, 8D31:
USB2 Host Controller #1 and #2: 8086:8D26 and :8D2D
conclusion 2) also quite common for x99


3) Clover Config DSDT/kext patches
My clover.config where I used the following DSDT and kext patches is attached in the zip-file.

clover config DSDT Patch (code)
Code:
<dict>
                    <key>Comment</key>
                    <string>change EHC1 to EH01</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    RUhDMQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    RUgwMQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>change XHCI to XHC</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    WEhDSQ==
                    </data>
                    <key>Replace</key>
                    <data>
                    WEhDXw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>change EHC2 to EH02</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    RUhDMg==
                    </data>
                    <key>Replace</key>
                    <data>
                    RUgwMg==
                    </data>
                </dict>

I've disable the clover config usblimit kext patch as recommended as i would like to route usb2.0 to EHCI.

4) _OSI and Windows version checks
I didnt't patched my DSDT for XOSI so fare, as I hoped to patch as little as possible.

5) XWAK, XSEL, and ESEL
As in 4), all is present in DSDT, no patches so fare. XWAK does include so code, maybe I will use it to find out if that fixes my hibernation problems.

6) USBInjectAll, FakePCIID_XHCIMux and PCIID Kext, X99 Injector kext

in the zip, Ive added my x99 injector kext which does not help me to get my usb3.0 ports work with 3.0 speed. every port is fixed at 2.0 speed. In addition, in the zip I used the USBInjectAll.kext and the FakePCIID_XHCIMux and PCIID Kext to route the usb2.0 part from XHCI to EHCI.

I've used the pjalm injector as the basis and added my ports and my device id for my xhci usb controller. Also I did this with the USBInjectAll.kext as the basis, no difference.
question 6) how to check if usb2.0 ports are routed to EH01 and EH02?

Can someone plz look into the x99_injector and tell me if this is correct what I have done?

I have guessed which ports are internal (3) and external (255) as I dont have yosemite or windows installed to map the ports (I would guess that this is not the problem in the first step).


5) verification:
after clover config patches and USBInjectAll.kext (with fakepciID and fakepciid_xhcimux) my IORegistry Explorer finds the patches for xhci to xhc and ehc1 to eh01 and ehc2 to eh02 (ioreg in attachment)

the ports by itself are correct I guess.


can someone plz help me and tell me what I'm doing wrong????

thank you very much for reading till the end, I know this is a long post.


all the files requested in the zip attached.

Since you're using FakePCIID_XHCIMux to route USB2 on XHC to EHCI, you should use -uia_exclude_hs. Then you won't need the port limit patch.
 
This is my first ever mackintosh build. Motherboard MSI H170M Pro VHD CPU i7 6700K 4GHz Graphics OnBoard Intel HD530

The computer doesn't wake up fully from sleep. There is no display on the screen and the USB ports do not work. I have followed Part 1 and Part 2 from the first post on this link http://www.tonymacx86.com/threads/el-capitan-usb-issues-possible-fix.172337/ couldn't find XWAKn my DSDT.

Please help thanks n advance. The ioreg, clover folder and kextcache command output are attached.

Your sleep issues are probably unrelated to USB. For example, you have not implemented CPU power management.
 
Your sleep issues are probably unrelated to USB. For example, you have not implemented CPU power management.
Thank you RehabMan is there any link I can follow? When the computer is sleeping, the power LED on the power button flashes, and when I press the power button, the CPU fan starts spinning and the power led becomes solid.
 
Thank you RehabMan is there any link I can follow? When the computer is sleeping, the power LED on the power button flashes, and when I press the power button, the CPU fan starts spinning and the power led becomes solid.

See desktop forums for info on power management.
 
Piker seemed to release a new USB patch here that doesn't need a kext. It would be great if we could have a guide to implement it.
 
Rehabman,

I used your USB guide to apply changes to my system for correct USB setup on El Capitan.

Here's what I did so far:
Rename XHCI to XCH
Rename ECH1 to EC01
Use USBInjectAll and FakeXHCI kexts
Use custom SSDT-UIAC for my setup based on what I saw in IOReg

Questions and problems:
1. One device in System Information is "Vendor-Specific Device" and it's connected on USB 2.0 Bus as HP16. I don't know what this device is - should I keep it in my SSDT? EDIT: I googled the vendor ID, and determined that this is the fingerprint scanner. Can I actually use this device?
2. Sleep is now broken when I sleep after applying these patches. Wake reason is "IGBE XHC (Network)" which indicates that it's the ethernet that is preventing sleep, however this was not happening before applying USB patches. EDIT: This happens both on battery and AC. I disabled wake on lan both in BIOS and in OSX. This is still an issue.
3. Is there anything else I need to do to ensure proper USB configuration?

Thanks,
Cobra2168
 
Last edited:
Rehabman,

I used your USB guide to apply changes to my system for correct USB setup on El Capitan.

Here's what I did so far:
Rename XHCI to XCH
Rename ECH1 to EC01
Use USBInjectAll and FakeXHCI kexts
Use custom SSDT-UIAC for my setup based on what I saw in IOReg

Questions and problems:
1. One device in System Information is "Vendor-Specific Device" and it's connected on USB 2.0 Bus as HP16. I don't know what this device is - should I keep it in my SSDT? EDIT: I googled the vendor ID, and determined that this is the fingerprint scanner. Can I actually use this device?
2. Sleep is now broken when I sleep after applying these patches. Wake reason is "IGBE XHC (Network)" which indicates that it's the ethernet that is preventing sleep, however this was not happening before applying USB patches. EDIT: This happens both on battery and AC. I disabled wake on lan both in BIOS and in OSX. This is still an issue.
3. Is there anything else I need to do to ensure proper USB configuration?

Thanks,
Cobra2168

USBInjectAll.kext does not use XCH (only XHC). It also does not use EC01 (only EH01).
Finger print readers are not supported.
Sleep and "instant wake" is covered in the ACPI patching guide.
And no further ideas without files as requested in post #1, "Problem Reporting".
 
Piker seemed to release a new USB patch here that doesn't need a kext. It would be great if we could have a guide to implement it.

It is not a very good solution. It is very, very system specific. Off-topic here.
 
USBInjectAll.kext does not use XCH (only XHC). It also does not use EC01 (only EH01).
Finger print readers are not supported.
Sleep and "instant wake" is covered in the ACPI patching guide.
And no further ideas without files as requested in post #1, "Problem Reporting".
Sorry, those were typos. My DSDT has XHC and EH01 (not what I said earlier).

I will disable the port with the fingerprint sensor.

My documents are attached (same as the power management thread that I just uploaded).

EDIT: I looked at the "instant wake" area of the guide. It looks like I need to mess with the _PRW methods in my DSDT. I see 0x0D and 0x6D in my DSDT in different areas. Which patch should I apply?
 
Last edited:
Status
Not open for further replies.
Back
Top