Jump to content
wegface

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

498 posts in this topic

Recommended Posts

I've been meaning to ask, why is the rename required? Why is it better to prevent apple assigning a personality to the devices?

 

Having tweaking the series 9 injector, having first gone through and made a map in Yosemite, I put the kext injector into use and the ports all work (well one doesn't, but I'm at the 15 limit) and with 4 of the ports I've tested so far, all are seemingly working at full speed without using a patched DSDT.

 

The only oddity is that looking at something like System Report shows the USB 2 devices under the USB 3 Bus.

 

I've been trying to do what you did for the past 3 nights with NO LUCK! IF YOU CAN HELP THAT WOULD BE WONDERFUL.

 

I have 4 USB3 on the back HS04, HS03, HS10, HS09 ; 4 USB2 on the back - HS06, HS05, HS14, HS13 ; 1 USB3 on front case HS01, 2 USB2 on front case HS08, HS07 ; 1 USB 2.0 on 3.5" drive slot seems to be HS11, HS12

 

I'm just so confused on what values (0, 3, 255) to assign ports and keep wondering if I'm even doing it the right way.

 

When I use the USB_Series9_Injector.kext from http://www.insanelymac.com/forum/topic/308325-guide-1011-full-speed-usb-series-89-keeping-vanilla-sle/?p=2172168, I get everything working but the 2 USB3 on back (HS04, HS10) and the 3.5" drive slot USB (HS11, HS12).

 

This is what my kext looks like:

 

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.pjalm.injector.USB</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>USB</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>IOKitPersonalities</key>
<dict>
<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>
<key>iMac14,2-EH01</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBMergeNub</string>
<key>IOClass</key>
<string>AppleUSBMergeNub</string>
<key>IONameMatch</key>
<string>EH01</string>
<key>IOProviderClass</key>
<string>AppleUSBEHCIPCI</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>kUSBMuxEnabled</key>
<true/>
<key>port-count</key>
<data>AQAAAA==</data>
<key>ports</key>
<dict>
<key>PR01</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>AQAAAA==</data>
</dict>
</dict>
</dict>
<key>model</key>
<string>iMac14,2</string>
</dict>
<key>iMac14,2-EH02</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBMergeNub</string>
<key>IOClass</key>
<string>AppleUSBMergeNub</string>
<key>IONameMatch</key>
<string>EH02</string>
<key>IOProviderClass</key>
<string>AppleUSBEHCIPCI</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>kUSBMuxEnabled</key>
<true/>
<key>port-count</key>
<data>AQAAAA==</data>
<key>ports</key>
<dict>
<key>PR01</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>AQAAAA==</data>
</dict>
</dict>
</dict>
<key>model</key>
<string>iMac14,2</string>
</dict>
<key>iMac14,2-XHC</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBMergeNub</string>
<key>IOClass</key>
<string>AppleUSBMergeNub</string>
<key>IONameMatch</key>
<string>XHC</string>
<key>IOProviderClass</key>
<string>AppleUSBXHCIPCI</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>port-count</key>
<data>FQAAAA==</data>
<key>ports</key>
<dict>
<key>HS01</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>AQAAAA==</data>
</dict>
<key>HS02</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>AgAAAA==</data>
</dict>
<key>HS03</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>AwAAAA==</data>
</dict>
<key>HS05</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>BQAAAA==</data>
</dict>
<key>HS06</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>BgAAAA==</data>
</dict>
<key>HS07</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>BwAAAA==</data>
</dict>
<key>HS08</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>CAAAAA==</data>
</dict>
<key>HS09</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>CQAAAA==</data>
</dict>
<key>HS10</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>CgAAAA==</data>
</dict>
<key>HS13</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>DQAAAA==</data>
</dict>
<key>HS14</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>DgAAAA==</data>
</dict>
<key>SSP1</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>EAAAAA==</data>
</dict>
<key>SSP2</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>EQAAAA==</data>
</dict>
<key>SSP3</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>EgAAAA==</data>
</dict>
<key>SSP5</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>FAAAAA==</data>
</dict>
<key>SSP6</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>FQAAAA==</data>
</dict>
</dict>
</dict>
<key>model</key>
<string>iMac14,2</string>
</dict>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>

Share this post


Link to post
Share on other sites
Advertisement

I've been meaning to ask, why is the rename required? Why is it better to prevent apple assigning a personality to the devices?

The built-in port injectors are for Apple devices and probably don't correspond to USB port topology on your PC.

Share this post


Link to post
Share on other sites

Sorry for being so dense but I still can't figure this out.
 
I installed Yosemite and in iojones it doesn't say HS01 HS02 etc.. or show any port that has nothing plugged into it, it just shows what is plugged in and the address after the @.
 
Using a USB2 and USB3 device I've managed to get all the addresses for all the ports but I'm struggling to match them in my DSDT.
 
The addresses are as follows
 

front bottom : 14100000 USB2 - 15100000 USB3
 
rear usb2 top: 14b000000
rear usb2 bottom: 14c00000
 
rear usb3 on own top: 14a00000 USB2 - 15600000 USB3
rear usb3 on own bottom: 14900000 USB2 - 15500000 USB3
 
rear usb3 on ethernet top: 14400000 USB2 - 15400000 USB3
rear usb3 on ethernet bottom: 14300000USB2 - 15300000 USB3

 
In my DSDT SSP1 says
 

                {
                    Method (_ADR, 0, Serialized)
                    {
                        If (LEqual (And (CDID, 0xF000), 0x8000))
                        {
                            Return (0x10)
                        }
                        Else
                        {
                            Return (0x0A)
                        }
                    }
 
                    Name (_STA, 0x0F)
                    Method (_UPC, 0, Serialized)
                    {
                        Name (UPCP, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        If (LNot (And (PR3, One)))
                        {
                            Store (Zero, Index (UPCP, Zero))
                        }
 
                        Return (UPCP)
                    }
 
                    Method (_PLD, 0, Serialized)
                    {
                        Name (PLDP, Package (0x01)
                        {
                            Buffer (0x10)
                            {
                                /* 0000 */    0x01, 0xC6, 0x72, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x69, 0x0C, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00
                            }
                        })
                        CreateBitField (DerefOf (Index (PLDP, Zero)), 0x40, VIS)
                        If (LNot (And (PR3, One)))
                        {
                            And (VIS, Zero, VIS)
                        }
 
                        Return (PLDP)
                    }
                }

How do I tell what address SSP1 is?

Share this post


Link to post
Share on other sites

Sorry for being so dense but I still can't figure this out.

 

I installed Yosemite and in iojones it doesn't say HS01 HS02 etc.. or show any port that has nothing plugged into it, it just shows what is plugged in and the address after the @.

 

Using a USB2 and USB3 device I've managed to get all the addresses for all the ports but I'm struggling to match them in my DSDT.

 

The addresses are as follows

 

 

In my DSDT SSP1 says

 

 

How do I tell what address SSP1 is?

 

I would say that based on my method, I'm not sure thought....

front top : 14200000 USB2 - 15200000 USB3 --> HS02 / SSP02 --> <02 00 00 00> / <11 00 00 00>
front bottom : 14100000 USB2 - 15100000 USB3 --> HS01 / SSP01 --> <01 00 00 00> / <10 00 00 00>


rear usb2 top: 14b000000 --> HS11 --> <0b 00 00 00>
rear usb2 bottom: 14c00000 --> HS12 --> <0c 00 00 00>


rear usb3 on own top: 14a00000 USB2 - 15600000 USB3 --> HS10 / SSP06 --> <0a 00 00 00> / <15 00 00 00>
rear usb3 on own bottom: 14900000 USB2 - 15500000 USB3 --> HS09 / SSP05 --> <09 00 00 00> / <14 00 00 00>

rear usb3 on ethernet top: 14400000 USB2 - 15400000 USB3 --> HS04 / SSP04 --> <04 00 00 00> / <13 00 00 00>
rear usb3 on ethernet bottom: 14300000USB2 - 15300000 USB3 --> HS03 / SSP03 --> <03 00 00 00> / <12 00 00 00>

You just have to edit the injector now, and this should work if this is working like me...

 

I hope it will work ;)

 

I've been trying to do what you did for the past 3 nights with NO LUCK! IF YOU CAN HELP THAT WOULD BE WONDERFUL.

 

I have 4 USB3 on the back HS04, HS03, HS10, HS09 ; 4 USB2 on the back - HS06, HS05, HS14, HS13 ; 1 USB3 on front case HS01, 2 USB2 on front case HS08, HS07 ; 1 USB 2.0 on 3.5" drive slot seems to be HS11, HS12

 

I'm just so confused on what values (0, 3, 255) to assign ports and keep wondering if I'm even doing it the right way.

 

 

When I use the USB_Series9_Injector.kext from http://www.insanelymac.com/forum/topic/308325-guide-1011-full-speed-usb-series-89-keeping-vanilla-sle/?p=2172168, I get everything working but the 2 USB3 on back (HS04, HS10) and the 3.5" drive slot USB (HS11, HS12).

 

 

You have 17 ports, the maximum is 15 on El Capitan, you have to decide which port you won't activate, because El Capitan will only activate the 15 first ports. It is a little bit sad, considering the fact that Yosemite is doing it very well...

 

In your case, or you remove one USB 3.0, or you remove 2 USB 2.0 ports.

 

And by the way, you gave us "HSXX" values but not "SSPXX" values...

Edited by kignon

Share this post


Link to post
Share on other sites

Thanks but the injector didn't work. IOJones doesn't show XHC as being loaded. The addresses for EHC are different.

 

A usb3 device running at usb2 is @1d120000 in El Capitan, though the address in Yosemite with a USB2 device was @14200000.

Share this post


Link to post
Share on other sites

This is exactly why we are using an Injector, because value on El Capitan aren't the good, so it doesn't work.

 

The Injector is here to fix the value, only doing that. What is your motherboard by the way?

Share this post


Link to post
Share on other sites

It is a Gigabyte H87M-HD3. I have attached the Injector I used, I'm guessing I must have messed something up.

 

1 - I don't know if this is important, but can you replace all your "imac15,1" by "iMac15,1".

2 - How do you install your Injector ?

Edited by kignon

Share this post


Link to post
Share on other sites

I'm using Easykext Utility. 

 

I have changed it to iMac15,1 will see what happens.

You do NOT install the injector, put it to clover kext folder. ;) (see title of guide, keeping vanilla SLE)

Share this post


Link to post
Share on other sites

Someone with more knowledge than me will have to help you, I still don't really understand how it works on my computer (and I will probably go back on Windows).

 

I hope you will pass this step :/

Share this post


Link to post
Share on other sites

It is seemingly common for the IOJones to not show the port names which are in DSDT, and this is causing some confusion. Hang tight, will try make things clearer in some way.....

Share this post


Link to post
Share on other sites

@wegface no news for series 7? I've a Asrock Z77E-ITX, patched DSDT with the respective patch from @PJALM (thank you again). Renamed XHCI/EHC1/EHC2 to XHC/EH01/EH02, tried it in Yosemite and the intel ports (2 rear and 2 front USB3.0 and the rear USB2.0) are working fine. In El Capitan the speed of the 3.0 is only 480.

Thanks in advance

Share this post


Link to post
Share on other sites

@wegface no news for series 7? I've a Asrock Z77E-ITX, patched DSDT with the respective patch from @PJALM (thank you again). Renamed XHCI/EHC1/EHC2 to XHC/EH01/EH02, tried it in Yosemite and the intel ports (2 rear and 2 front USB3.0 and the rear USB2.0) are working fine. In El Capitan the speed of the 3.0 is only 480.

Thanks in advance

I never patched DSDT or renaming stuff (I think).... I just created a kext (see below) and placed it in SLE. ALL USB PORTS WORK NOW (4 USB3 BACK, 4 USB2 BACK, 1 USB3 FRONT, 3 USB2 FRONT). Hope this helps!

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleIdentifier</key>
<string>com.pjalm.injector.USB</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>USB</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.0</string>
<key>IOKitPersonalities</key>
<dict>
<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>
 
<key>iMac14,2-XHC</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleUSBMergeNub</string>
<key>IOClass</key>
<string>AppleUSBMergeNub</string>
<key>IONameMatch</key>
<string>XHC</string>
<key>IOProviderClass</key>
<string>AppleUSBXHCIPCI</string>
<key>IOProviderMergeProperties</key>
<dict>
<key>port-count</key>
<data>FQAAAA==</data>
<key>ports</key>
<dict>
<key>HS05</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BQAAAA==</data>
</dict>
<key>HS06</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BgAAAA==</data>
</dict>
<key>HS07</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>BwAAAA==</data>
</dict>
<key>HS08</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>CAAAAA==</data>
</dict>
<key>HS11</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>CwAAAA==</data>
</dict>
<key>HS12</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>DAAAAA==</data>
</dict>
<key>HS13</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>DQAAAA==</data>
</dict>
<key>HS14</key>
<dict>
<key>UsbConnector</key>
<integer>255</integer>
<key>port</key>
<data>DgAAAA==</data>
</dict>
 
 
<key>SSP1</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>EAAAAA==</data>
</dict>
<key>SSP2</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>EQAAAA==</data>
</dict>
<key>SSP3</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>EgAAAA==</data>
</dict>
<key>SSP4</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>EwAAAA==</data>
</dict>
<key>SSP5</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>FAAAAA==</data>
</dict>
<key>SSP6</key>
<dict>
<key>UsbConnector</key>
<integer>3</integer>
<key>port</key>
<data>FQAAAA==</data>
</dict>
</dict>
</dict>
<key>model</key>
<string>iMac14,2</string>
</dict>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>

Edited by Micky1979
use bbcode to include long stuff

Share this post


Link to post
Share on other sites

Hi guys,

no matter what I do, my BRCM20702 (bluetooth module from my AirPort Extreme BCM94360CD) is not showing up.

 

What I did: Clover to rename EHC to EH0 (1 and 2 respectively), edited info.plist from USB_Series9_Injector.kext (thanks @pjalm & wegface!)).

The working ports are as follows (15 ports working):

afd5k7.jpg

 

Before I upgraded to El Capitan, the bluetooth module was working great and accessible.

2na2wqg.jpg

 

Any ideas on what I am doing wrong/how to correct it? I was really using that bluetooth.

Shall I change that connector from 3 to 255?

dwt1mc.jpg

 

Best,

fm

Share this post


Link to post
Share on other sites

...

In my DSDT SSP1 says

 

                {
                    Method (_ADR, 0, Serialized)
                    {
                        If (LEqual (And (CDID, 0xF000), 0x8000))
                        {
                            Return (0x10)
                        }
                        Else
                        {
                            Return (0x0A)
                        }
                    }
 ...
How do I tell what address SSP1 is?

 

The result is conditional on the value of CDID.

 

You can see the result of _ADR in IOACPIPlane.

Share this post


Link to post
Share on other sites

Hi guys,

no matter what I do, my BRCM20702 (bluetooth module from my AirPort Extreme BCM94360CD) is not showing up.

 

What I did: Clover to rename EHC to EH0 (1 and 2 respectively), edited info.plist from USB_Series9_Injector.kext (thanks @pjalm & wegface!)).

 

Best,

fm

 

You have the same bluetooth card as I have. You must configure it as a USB port to make it work.

Here it seems it is HS12 --> <0c 00 00 00> for your injector. So you will have to sacrifice a USB port in your injector and add a new port in it with indicated address and identifier.

Edited by kignon

Share this post


Link to post
Share on other sites

You have the same bluetooth card as I have. You must configure it as a USB port to make it work.

Here it seems it is HS12 --> <0c 00 00 00> for your injector. So you will have to sacrifice a USB port in your injector and add a new port in it with indicated address and identifier.

Right.

c = 12 and it looks like correct (as was working before like that). But My problem is, I don't know how (or maybe where) to configure that port.

 

I do not have DSDT, so I am using only fixes possible with Clover.

Share this post


Link to post
Share on other sites

You missed my point, the Apple kexts look for XHC1 not XHC, you renamed XHC to XH01 which was not needed since Apple don't use XHC.

 

What about XHC2, does apple use that one as well or only XHC1?  I have both XHC1 and XHC2 in my SSDT.  I don't have a DSDT.

 

Thanks

Share this post


Link to post
Share on other sites

my iojones only shows XHC, no XHC1

 

all my usb port works. EXCEPT for the two that are physically on the motherboard itself. i'm using one of the port for apple/bluetooth card

 

...i'm getting too old for this

post-841174-0-54819100-1444025408_thumb.png

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×