Jump to content

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


wegface
497 posts in this topic

Recommended Posts

Cheers, unfortunately for me it isn't working. I have MacPro3,1 in my SMBios, I edited the Info.plist in the kext to match. I added the text you had into the config.plist and rebooted. All the USB3 ports still showed as USB2.

 

I have 4 at the top with my case (2xUSB 2, 2xUSB3), and then the fixed 6 on the back (2xUSB 2, 4xUSB 3).

 

Would it make any difference to swap to iMac14,1 or is the difference that my case uses 4 ports at the top so the mapping is different?

 

I am guessing I will need to install Yosemite again cleanly with Clover and then try and get the mappings again, hopefully with the HS/SSP showing up and not the devices names that I am currently seeing.

Not all systems are showing those names in IOJones despite them being in DSDT

Link to comment
Share on other sites

Impossible to me! (GA-H97M-D3H)

I don't get anything under EHCI with any USB device and under XHC I don't get the list HS01@14000000 ,HS02....SSP1..., so when I connect a usb pen drive I can't say :  DT microDuo 3.0@1550000 is SSP3 or something else.

Link to comment
Share on other sites

Good evening gentlemen !

 

First : Thank you for the DSDT wegface, I'll have few questions for you about it, but later, when I'll successfully pass step 01.

 

So I came back on Yosemite to get my SSPXX and HSXX. Unfortunately I don't have the same kind of "view" on IOJones. I've noticed it is only when I'm on Yosemite : on El Capitan, I got all the HS and SSP...

 

So, I've understood that I can get HSXX and SSPXX according to their adresse. SO I plug a USB 2.0 key in my USB 3.0 port, a green line appeared on IOJones, but now I don't really know which information I should copy on my paper. I thought at the start I should copy USB Address, but every time I plug and unplug my USB key on the SAME USB port, the value is been incremented.

 

Do I have to copy the value right after the @ on the title ? For example, for my USB key, is the usb address "14a00000" ? If yes how do I translate it to a "XX XX XX XX" value ? It seems to be an hexadecimal value, but I'm not sure.

 

Thank you in advance for your help, and I'm still sorry for my English.

 

 

post-788839-0-89100300-1443907890_thumb.png

Link to comment
Share on other sites

You make your map so you know which physical usb is SSP1 etc etc.

 

I don't really understand what you mean...

 

Would you please be a little bit more explicit ?

 

I understand from your answer that I making my own map : I decide myself which port is HS01, which port is SSP01 etc etc...

 

But if that's the case, I don't understand why I needed Yosemite :/

 

In facts, I don't understand how to make the map... It is probably obvious...

Edited by kignon
Link to comment
Share on other sites

I don't really understand what you mean...

 

Would you please be a little bit more explicit ?

 

I understand from your answer that I making my own map : I decide myself which port is HS01, which port is SSP01 etc etc...

 

But if that's the case, I don't understand why I needed Yosemite :/

 

In facts, I don't understand how to make the map... It is probably obvious...

You do not decide, you plug a device, on IOJones it goes green. On your map you note which port was which number. etc. This makes your map, so you can choose which to not use incase you have more than the 15 allowed.

Link to comment
Share on other sites

You do not decide, you plug a device, on IOJones it goes green. On your map you note which port was which number. etc. This makes your map, so you can choose which to not use incase you have more than the 15 allowed.

 

Okay, so that's what I understood the first time, HSXX / SSPXX are not written anywhere. So my question was how do I identify HSXX and SSPXX.

 

If I consider my last attachment page 4, my green line is a USB2.0 key on a USB3.0 port and the value is 14a00000, so "a" is 10 in hexadecimal, so can I conclude my port is HS10 ? I just want to know if I have the good method to make my map.

 

Thank for your answer by the way.

  • Like 1
Link to comment
Share on other sites

Okay, so that's what I understood the first time, HSXX / SSPXX are not written anywhere. So my question was how do I identify HSXX and SSPXX.

 

If I consider my last attachment page 4, my green line is a USB2.0 key on a USB3.0 port and the value is 14a00000, so "a" is 10 in hexadecimal, so can I conclude my port is HS10 ? I just want to know if I have the good method to make my map.

 

Same problem here.

 

I'm not at home right now but I think you should convert the *number to get one of adr numbers that you get with IoJones to map the ports.

 

Device (HS01)

Name (_adr, *number)

Link to comment
Share on other sites

Thank you so much for your help wegface, I still don't have a DSDT but :

 

I finally got everything working or almost, I have 17 ports, I know now how to edit my Injector to make it work like I want : 

 

4 USB 2.0 (4 HSXX)

6 USB 3.0 (6 HSXX + 6 SSPXX)

BCM20702A0 (1 HSXX)

 

Considering the facts that everything was working on Yosemite, is there a solution to make 17 ports work instead of 15 ?

If there isn't for the moment I will simply wait for the moment (sacrificing 1 USB 3.0 or my Bluetooth) or go back under Windows 7 (I'm a little bit tired to make "miracles").

Link to comment
Share on other sites

Hi,

 

Maybe a bit off-topic, but still a question regarding USB.

 

1. Clover comes with a Info.plist patch on the fly, would it be possible to use that instead of kext injector / renaming XHC1 to XHC in DSDT?

2. Does the Info.plist patcher only find and replace? If Yes - Add / Remove would be a nice feature for replacing / adding and removing USB ports f.ex.

 

Any thoughts?

Link to comment
Share on other sites

Hi,

 

Maybe a bit off-topic, but still a question regarding USB.

 

1. Clover comes with a Info.plist patch on the fly, would it be possible to use that instead of kext injector / renaming XHC1 to XHC in DSDT?

2. Does the Info.plist patcher only find and replace? If Yes - Add / Remove would be a nice feature for replacing / adding and removing USB ports f.ex.

 

Any thoughts?

You can defo do the DSDT renames with a clover patch. :)

Link to comment
Share on other sites

Thank you so much for this guide. I shoud better say thank you for the injector kext. I have renamed the EHC1 and EHC2 manually by find and replace in the DSDT. The XHC was already good. Than I have changed the Mac version in the kext to MacPro3,1 as I still use this kind of SMB. At the end I have no 2 USB3 ports left which aren't working at USB3 speeds. This is better than I had before. I have attached my patched DSDT. May be you see where my mistake is. B.t.w. my board is the Asus Maximus VII Ranger. I have used the Asus Maximus VII Generic patches from your repository.

One more thing I have seen is that if I connect a USB stick once it mounts fine. If I put the same stick in the same port again it will not mount. I have to put it into a different port. And again and again. Does somebody else has the same experience?

patched USB_DSDT.aml.zip

Link to comment
Share on other sites

I don't understand what this thread is telling me to do.

 

 

 

Port-count is misleading, as its not actually the count but instead it is the highest port ADR, so if SSP6 is your highest one and its ADR is 15 00 00 00 then port-count will be 15 00 00 00.

 

In the injector kext it says:

 

 

 

<key>port-count</key>
                <data>FQAAAA==</data>
]

 

What is FQAAAA==?

Link to comment
Share on other sites

What is FQAAAA==?

 

It's Base64 value.

 

Use these online tools to convert it to hexadecimal value.

 

FQAAAA== will then be translated into 15000000 which is the data you need to determine correct port addresses ;).

 

No need to use XCode for that. Let's keep the thread simple ;).

  • Like 4
Link to comment
Share on other sites

It's Base64 value.

 

Use this online tools to convert it to hexadecimal value.

 

FQAAAA== will  then be translated into 15000000 which is the data you need to determine correct port addresses ;).

 

No need to use XCode for that. Let's keep the thread simple ;).

 

I didn't even think about Base64 value, I haven't search for another option, but as we are editing OS X file, Xcode is perfect for that...

 

It is good to have an alternative : a lot of users don't have downloaded Xcode, and having Xcode only for that is a little bit useless.

 

Thank you for the information.

Edited by kignon
  • Like 1
Link to comment
Share on other sites

Now we need to rename the 3 devices to prevent apple kexts from loading a personality for them, change EHC1 to EH01 or EHC2 to EH02 and XHC1 to XHC. 

Here is simple dsdt patch to achieve this:

 

# Rename USB devices for OSX 10.11 GM support (remember to use injector with this)

into device label EHC1 set_label begin EH01 end;

into device label EHC2 set_label begin EH02 end;

into device label XHC1 set_label begin XHC end;

into_all all code_regex EHC1 replaceall_matched begin EH01 end;

into_all all code_regex EHC2 replaceall_matched begin EH02 end;

into_all all code_regex XHC1 replaceall_matched begin XHC end;

 

 

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.

  • Like 2
Link to comment
Share on other sites

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>
Link to comment
Share on other sites

×
×
  • Create New...