Jump to content

(GUIDE) 10.11 full speed USB (series 8/9) keeping vanilla SLE


wegface
497 posts in this topic

Recommended Posts

Yes, nothing better until now. Also, removing Devices EHC1 and EHC2 from DSDT make sleep working properly. wake  from sleep either, except wake from BT wireless keyboard or magic mouse, that's, of course, because in ACPI Bluetooh device is now dissociated from EHCx device, and appears like PCI0@0/AppleACPIPCI/pci8086,8c2d@1A... I wonder if some kind of DSDT patch can re-direct Bluetooth under XHC\HSxx. Maybe that would give us proper behavior just like in Yosemite under EHCx 

I think your mobo needs DSDT tweak to make Bluetooth under XHC controller,

Or maybe check your bios settings for manual usb port mapping.

For my mobo, wake from Magic Keyboard or Magic Trackpad works because Blutetooth under XHC controller.

 

Does your shutdown fix break wake from usb wired keyboard/mouse?

  • Like 1
Link to comment
Share on other sites

I think your mobo needs DSDT tweak to make Bluetooth under XHC controller,

Or maybe check your bios settings for manual usb port mapping.

For my mobo, wake from Magic Keyboard or Magic Trackpad works because Blutetooth under XHC controller.

Precisely. I have no clue about such a patch in DSDT. Any idea?

And no options in Bios. And, since your BT is a usb dongle, yes, it must work under XHC (like any other physical usb plugged in)

 

 

Does your shutdown fix break wake from usb wired keyboard/mouse?

Nope. Wake from usb keyboard and/or mouse is fine

Link to comment
Share on other sites

giacomoleopardo, on 23 Oct 2015 - 8:58 PM, said:

 

Precisely. I have no clue about such a patch in DSDT. Any idea?

And no options in Bios. And, since your BT is a usb dongle, yes, it must work under XHC (like any other physical usb plugged in)

 

I use the same BCM94360CD combo card through an adapter card connecting to mini-pcie slot.

My mobo is GA-B85N-WIFI.

You can refer to my mobo dsdt as attachment.

 

System DSDT.zip

Link to comment
Share on other sites

Please note that 10.11.1 has direct support for 9-series XHC, 8086:8cb1.

 

And it uses a different class than the injector in post #1. The injector IOKitPersonality for 8086:8cb1 provided in post #1 should not be used for 10.11.1.

Link to comment
Share on other sites

Please note that 10.11.1 has direct support for 9-series XHC, 8086:8cb1.

 

And it uses a different class than the injector in post #1. The injector IOKitPersonality for 8086:8cb1 provided in post #1 should not be used for 10.11.1.

Thank you for the info

One less patch required for dsdt :)

Link to comment
Share on other sites

Thank you for the info

One less patch required for dsdt :)

Well, post #1 uses an injector kext instead of _DSM-based device-id injection.

 

But, yes, of course some people may be using _DSM injection from ACPI. Or even FakeID via Clover...

Link to comment
Share on other sites

I use the same BCM94360CD combo card through an adapter card connecting to mini-pcie slot.

My mobo is GA-B85N-WIFI.

You can refer to my mobo dsdt as attachment.

 

Can you post IOReg or IOJones, please? The dsdt attached seems to be unpatched, isn't it? Are you using this one or something else?

Link to comment
Share on other sites

Please note that 10.11.1 has direct support for 9-series XHC, 8086:8cb1.

 

And it uses a different class than the injector in post #1. The injector IOKitPersonality for 8086:8cb1 provided in post #1 should not be used for 10.11.1.

So it means that we dont need custom injector kext any more? Im on 10.11.1 and still have the injector kext in Clover, should I remove it?
Link to comment
Share on other sites

So it means that we dont need custom injector kext any more? Im on 10.11.1 and still have the injector kext in Clover, should I remove it?

You'll probably still need a port injector, but you don't need/don't want the injector IOKitPersonality to load the XHC driver for 8086:8cb1.

 

The injector in post #1 combines the two into one kext...

  • Like 1
Link to comment
Share on other sites

Can you post IOReg or IOJones, please? The dsdt attached seems to be unpatched, isn't it? Are you using this one or something else?

Yes, i don't use a modified dsdt.

I prefer to ssdt to do HDA/GFX/HDMI/LPC/SBUS/PM patch instead.

 

I confirmed FixShutdown_0004 fixed my shutdown issue, sleep works as expected, wake from lan/wireless keyboard/wired mouse works fine.

 

I've uploaded ioreg and ssdt i used as attachments.

ioreg.zip

ssdt.zip

Link to comment
Share on other sites

You'll probably still need a port injector, but you don't need/don't want the injector IOKitPersonality to load the XHC driver for 8086:8cb1.

 

The injector in post #1 combines the two into one kext...

 

So I have to remove these lines in Injector.kext file?

		<key>AppleUSBXHCILPTH</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
			<key>IOClass</key>
			<string>AppleUSBXHCILPTH</string>
			<key>IOPCIPrimaryMatch</key>
			<string>0x8cb18086</string>
			<key>IOPCITunnelCompatible</key>
			<true/>
			<key>IOProbeScore</key>
			<integer>1000</integer>
			<key>IOProviderClass</key>
			<string>IOPCIDevice</string>
		</dict>
Link to comment
Share on other sites

Just follow the series 8 one, its exact same thing just no device id injection.

 

Thank you. It worked on my Z97 mobo !

 

I found that only the <key>iMac14,2-XHC</key> part is enough. I have erased <key>iMac14,2-EH01</key> and <key>iMac14,2-EH02</key> parts and it still works fine without renaming EHC1 and EHC2. I think the original names of EHC1 and EHC2 are referred in the Apple's kexts correctly in 10.11.1, and thus, no rename in DSDT is required any more.

 

Edit: I once have struck through above, but now confirmed this.

Link to comment
Share on other sites

OK Hi All, I am really hoping someone can help me, i have read through all the posts and have managed to get myself completely confused.

I am new to Hackintosh,working on my first one as we speak (type). I am looking to end up with a working El Capitan Hack, no dual boot etc.

So far all good except USB and WiFi / Bluetooth.  I am looking to get my USB issue fixed, with someones help.

 

My motherboard (ASUS Z87-PRO) has 6 USB 3 ports on the back (I believe 2 INTEL, and 4 ASM1207x - according to System Information) and i have 3 ports on the front (1 USB3 and 2 USB2) connected to the Front USB3 MB connector. I use CLOVER to boot. 

 

In Yosemite, all ports work as they should and in El Capitan only the one USB3 on the front works as USB3, the rest all work as USB2 (480).

 

I have tried mapping the ports using Yosemite, but i end up getting more confused.

The ports on the back (reading left-right,top -bottom) give the following. (PORT POSITION / Location ID USB 3 connected / Loc USB 2 connected / Port USB 3 / Port USB 2)

(ASM107x)

TOP LEFT  / 0x15340000 / 0x14340000 / 0x4

TOP RIGHT / 0x15330000 / 0x14330000 /0x3

MID LEFT / 0x15320000 / 0x14320000 / 0x2

MID RIGHT / 0x15310000 / 0x14310000 / 0x2 / 0x1

(INTEL)

BTM LEFT / 0x15600000 / 0x14a00000 / 0x6 / 0xa

BTM RIGHT / 015500000 /0x14900000 / 0x5 / 0x9

FRONT

LEFT (USB2 PORT)  - COULDN'T CHECK, YOSEMITE BOOTED FROM USB

MID (USB2 PORT) / 0x14d00000 / 0xd

RIGHT (USB3 PORT) / 0x15100000 / 0x14100000 / 0x1

 

I am now at a loss of how to "convert" this information to be used in the Injector Kext or to edit the DSDT, 

I currently do not have a patched or edited DSDT (on either Yosemite or El Capitan), and the SMBIOS i have 

is a iMAC14,2.

 

I am sorry if this is too much info or if i am missing anything. Any help GREATLY appreciated!! 

Cheers.

 

I am currently on El Capitan 10.11.0

Link to comment
Share on other sites

I really don't get it. For me when i use the series 9 injector which i have fixed for MacPro 3.1 almost all of my USB ports are working fine. But now I should not use it anymore? When i remove the kext most of my USB 3 ports doesn't work anymore. I have a Asus Maximus VII Ranger z97 board b.t.w.with a compiled DSDT including the Asus Maximus VII patches from PJALM. I have renamed the EHC1 and EHC2 to EH01 and EH02 in this DSDT and use latest Clover.

Link to comment
Share on other sites

It might depend on the system definition too.

 

Mieze

 

Would you be so kind and write which system definitions are affected by this? I mean which EHC1/EHC2 can be removed without any problems from dsdt? I'm using iMac 14,3 and want to create a dsdt for EC.

 

Thanks in advance

 

Huberer

Link to comment
Share on other sites

Would you be so kind and write which system definitions are affected by this? I mean which EHC1/EHC2 can be removed without any problems from dsdt? I'm using iMac 14,3 and want to create a dsdt for EC.

I don't know which systems are affected, it's just a guess because there used to be system definition dependencies in the past.

 

Mieze

Link to comment
Share on other sites

I hate to ask this question again, since it's been asked several times on this thread, but after plowing through all 21 pages of this thing I haven't seen a definitive answer (it's entirely possible, even likely, that it's there and I missed it. My eyes started glazing over around page 14).

 

My ASUS Z87-i running Yosemite doesn't show USB ports with identifiers like "HS" and "SSP" in IOJones. Instead I get stuff like you see in this image. Without knowing what these identifiers are, I can't proceed.

 

I assume some existing DSDT or kext is inhibiting the display of the "HS" and "SSP" nomenclature, but I don't know what it would be. 

post-665716-0-12828100-1446134852_thumb.png

Link to comment
Share on other sites

I hate to ask this question again, since it's been asked several times on this thread, but after plowing through all 21 pages of this thing I haven't seen a definitive answer (it's entirely possible, even likely, that it's there and I missed it. My eyes started glazing over around page 14).

 

My ASUS Z87-i running Yosemite doesn't show USB ports with identifies like "HS" and "SSP" in IOJones. Instead I get stuff like you see in this image.

 

I assume some existing DSDT or kext is inhibiting the display of the "HS" and "SSP" nomenclature, but I don't know what it would be. 

Thats exactly what they look like for me as well @dramsey (not a surprise as we both have Asus Z87 MBs).

 

I have now tried mapping the ports using Windows 10 and UsbView, but to be honest still confused as to co-ordinate the numbers given by windows or Yosemite to the HS / SS numbers.

In windows i got LOC12, LOC13 with LOC131/2/3/4 underneath for example.  I think now (after reading the thread form start to finish again) i understand that LOC1-LOC14 are HS01- HS14, and LOC15 - LOC21

are SSP1- SSP6, but how do I relate LOC133 for example, which is one of the four ports under LOC13 (there is LOC131, LOC132, LOC133 & LOC134)

 

I intend to just apply an already made kext and see if i get any results, however, and i have a feeling this is a very NOOB question, I am unsure how to Rename EHC1 to EHC01 etc i see the "patch" but how do i apply it, i see in MaciASL that you can add sources and then choose patches, but how do I copy / paste and apply the patch. Or should  just manually edit my DSDT (using FIND /REPLACE in MaciASL) and then save it, or does it need to be put into Clover folder.

 

I have just spent the last couple of hours reading ALL of the posts on this thread, and to be honest i am super confused about the whole thing.  

 

Someone Please help, it would be very appreciated. 

 

Cheers, Matt. 

Link to comment
Share on other sites

Glad to know I'm not the only one lost here. 

 

I have a series 8 and my smbios is iMac14,2 so it goes ok with USB_Series8_Injector
I put it on clover/kexts but wont load.
 
I took a vanilla dsdt and applied the renames:
 
into device label EHC1 set_label begin EH01 end;
into device label EHC2 set_label begin EH02 end;
into_all all code_regex EHC1 replaceall_matched begin EH01 end;
into_all all code_regex EHC2 replaceall_matched begin EH02 end;

XHC1 was already as XHC so no need to do anything there.
 
Finally I put the compiled dsdt in clover\acpi\patched and ticked drop oem_dsm on clover configurator.
 
To end up on kekts to patch:
name: #AppleUSBXHCIPCI 
find: 83BD8CFEFFFF10
replace: 83BD8CFEFFFF15
comment: change 15 port limit to 20 in XHCI kext
 
 

DSDT.zip

ioreg.zip

Link to comment
Share on other sites

 

Glad to know I'm not the only one lost here. 

 

I have a series 8 and my smbios is iMac14,2 so it goes ok with USB_Series8_Injector
I put it on clover/kexts but wont load.
 
I took a vanilla dsdt and applied the renames:
 
into device label EHC1 set_label begin EH01 end;
into device label EHC2 set_label begin EH02 end;
into_all all code_regex EHC1 replaceall_matched begin EH01 end;
into_all all code_regex EHC2 replaceall_matched begin EH02 end;

XHC1 was already as XHC so no need to do anything there.
 
Finally I put the compiled dsdt in clover\acpi\patched and ticked drop oem_dsm on clover configurator.
 
To end up on kekts to patch:
name: #AppleUSBXHCIPCI 
find: 83BD8CFEFFFF10
replace: 83BD8CFEFFFF15
comment: change 15 port limit to 20 in XHCI kext

 

@anibalin, couple of questions..

1) I didn't follow, you said the injector won't load, and then you list the steps you followed, did you mean the injector won't load AFTER doing those steps, or it didn't, you did the steps and now everything works (as it should)?

2)  -- NOOB ALERT -- "and applied the renames:" - HOW do you apply them :-(

 

cheers, Matt

Link to comment
Share on other sites

@anibalin, couple of questions..

1) I didn't follow, you said the injector won't load, and then you list the steps you followed, did you mean the injector won't load AFTER doing those steps, or it didn't, you did the steps and now everything works (as it should)?

2)  -- NOOB ALERT -- "and applied the renames:" - HOW do you apply them :-(

 

cheers, Matt

Hi Matt, after all the edits I restarted and kextstat | grep USB_Series8_Injector.kext gives me cero results. 

The renames, open textedit, shift + command+ t  to make it text. Paste the text I posted and save as .txt. Now open MaciASL, patches, open, choose the aforementioned .txt. Apply. Done.

Link to comment
Share on other sites

Hi Matt, after all the edits I restarted and kextstat | grep USB_Series8_Injector.kext gives me cero results. 

The renames, open textedit, shift + command+ t  to make it text. Paste the text I posted and save as .txt. Now open MaciASL, patches, open, choose the aforementioned .txt. Apply. Done.

kextstat doesn't show codeless kexts (aka. injectors).

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...