Jump to content

[GUIDE] USB Fix El Capitan 10.11


830 posts in this topic

Recommended Posts

hello poken

 

i'm testing with good results the injector

 

go test in the dsdt this night

 

the kext count 6 ports

 

we only have 4 .. so if u inject the six .. the usb 3 works ..

 

PRT1

PRT2

PRT3

PRT4    this ones are in dsdt

PRT5

PRT6

 

if i inject all six .. the usb 3 start working good .. before don't see my usb3 hd

 

must test also the speed

 

good hack

 

Are there a quick way to identify which ports in dsdt are real or not? Or you have to add each port to kext upto 15 and try?

 

I think we may identify what kind of ports in dsdt is.  Let's take a look in dsdt 

 

For example,

                        Name (UPCP, Package (0x04)

                        {
                            0xFF,     
                            0x03,      <==== ses this
                            Zero,            
                            Zero
                        })
 

Based on Gigabyte dsdt, I think 0x03 is USB3.0 port and 0x00 is the USB2.0 header.  I am not sure about 0xFF (255). These hex numbers will be the number of UsbConnector in info.plist.

 

 

******

What I did?  I tested each port and looked at ioregistry.

 

 

Today, I tested to remove HS09 and HS10 from info.plist and then my USB2.0 devices didn't work. However, USB3.0 devices worked, for example.

I think we may identify what kind of ports in dsdt is.  Let's take a look in dsdt 

 

For example,

                        Name (UPCP, Package (0x04)

                        {

                            0xFF,     

                            0x03,      <==== ses this

                            Zero,            

                            Zero

                        })

 

Based on Gigabyte dsdt, I think 0x03 is USB3.0 port and 0x00 is the USB2.0 header.  I am not sure about 0xFF (255). These hex numbers will be the number of UsbConnector in info.plist.

 

 

******

What I did?  I tested each port and looked at ioregistry.

 

 

Today, I tested to remove HS09 and HS10 from info.plist and then my USB2.0 devices didn't work. However, USB3.0 devices worked, for example.

There is information on _UPC in the ACPI spec:

This optional object is a method that allows the platform to communicate to the operating system, certain USB port capabilities that are not provided for through current USB host bus adaptor specifications (e.g. UHCI, OHCI and EHCI). If implemented by the platform, this object will be present for each USB port (child) on a given USB host bus adaptor; operating system software can examine these characteristics at boot time in order to gain knowledge about the system’s USB topology, available USB ports, etc. This method is applicable to USB root hub ports as well as ports that are implemented through integrated USB hubs.

First item is 'Connectable':

"If this value is non-zero, then the port is connectable. If this value is zero, then the port is not connectable."

As far as the second item in the returned package, it is 'Type':

Specifies the host connector type. It is ignored by OSPM if the port is not user visible:

0x00: Type ‘A’ connector

0x01: Mini-AB connector

0x02: ExpressCard

0x03: USB 3 Standard-A connector

0x04: USB 3 Standard-B connector

0x05: USB 3 Micro-B connector

0x06: USB 3 Micro-AB connector

0x07: USB 3 Power-B connector

0x08 – 0xFE: 0xFF: Reserved

0xFF: Proprietary connector

The other two items in the Package are 'Reserved0' and 'Reserved1' and must be zero.

 

More information and examples in the ACPI spec.

Hi pokenguyen  :D

exemple here 7 Usb drive plug to my PC

Do you explain why I dont have any patching kext or dummy kext

and no restriction apply for me  on any USB port  USB 2 and USB 3

 

port010.png

 

port10.jpg

 

 

port110.png

 

Thanks for your work 

Ok, so I'm using MacbookPro8,1 Smbios, because of the hd3000.

This model has no USB 3.0 ports, however my system has one.

I used GenericUSBXHCI before. Will I have problems later on because of this?

Hi pokenguyen  :D

exemple here 7 Usb drive plug to my PC

Do you explain why I dont have any patching kext or dummy kext

and no restriction apply for me  on any USB port  USB 2 and USB 3

 

port010.png

 

port10.jpg

 

 

port110.png

 

Thanks for your work 

iMac 14,1 has 10 ports predefined for XHC1 (USB 3.0 bus). You're lucky that all those ports matched your real ports.

Hey all !

 

I can't have my USB3 port work properly in 10.11 : they are recognize as usb2 port.

I have tried your solution but it changed nothing.

 

My MB : MSI Z97 GAMING 5

I join my vanilla DSDT.

 

Your USB 3.0 device in DSDT is named XHC, it means there is no port restriction applied to you.

 

However, read the guide again, Apple has a limit of 15 ports and your system has > 15 ports.

 

So you have to name your USB 3.0 to XHC1 to apply port restriction, then remove invalid ports and add valid ports to your SMBIOS. You can look at example of MCH888, he had same problems with you.

There is information on _UPC in the ACPI spec:

 

First item is 'Connectable':

 

As far as the second item in the returned package, it is 'Type':

 

The other two items in the Package are 'Reserved0' and 'Reserved1' and must be zero.

 

More information and examples in the ACPI spec.

 

Can you take a look at 10.11 on your 4540s? My USB 3.0 ports (with multiplex) only run at 2.0 speed although I plugged 3.0 drive.

Can you take a look at 10.11 on your 4540s? My USB 3.0 ports (with multiplex) only run at 2.0 speed although I plugged 3.0 drive.

Multiplex may not be a good idea with 10.11, but I have not looked at it in detail yet.

What is your FL1009 device id?

 

I don't see FL1009 in XHCIPCI kext, but I found one for FL1010

		<key>AppleUSBXHCIFL1100</key>
		<dict>
			<key>CFBundleIdentifier</key>
			<string>com.apple.driver.usb.AppleUSBXHCIPCI</string>
			<key>IOClass</key>
			<string>AppleUSBXHCIFL1100</string>
			<key>IOPCIPrimaryMatch</key>
			<string>0x11001b73</string>
			<key>IOPCITunnelCompatible</key>
			<true/>
			<key>IOProbeScore</key>
			<integer>1000</integer>
			<key>IOProviderClass</key>
			<string>IOPCIDevice</string>
		</dict>

So you may have luck changing IOPCIPrimaryMatch to match your FL1009 id.

 

A quick google search shows that fl1009 id is VEN_1B73&DEV_1009, so you have to change 0x11001b73 to 0x10091b73. Hope it works for you.

 

 

 

I tried, but no luck. Still getting Kernel Panic. Thanks for the help anyway, much appreciated.

post-1378279-0-33842600-1435194754_thumb.png

post-1378279-0-63650600-1435195066_thumb.png

Hi pokenguyen  :D

exemple here 7 Usb drive plug to my PC

Do you explain why I dont have any patching kext or dummy kext

and no restriction apply for me  on any USB port  USB 2 and USB3

 

Your board, as in your signature, has USB3 hubs and data of address in dsdt, like  Device (SSP6) { Name(_ADR, 0x15) ....so on, matches to port data in info.plist.  Try iMac14,4, you may see different things.

 

post-93383-0-64231500-1435224540_thumb.jpg

Thank you Pokenguyen,

Your DummyKext works for me on Asus Maximus VI Impact.

My board uses XHC but exceeds the 15 ports - only because for USB 2.0 the USB 3.0 ports double up e.g. SSP3 can also be HS10 when used with a USB 2 device).  So using iMac 14,2 and also changing the IOName Match property to XHC your Dummy kext correctly matches the port IDs that are actually required for full functionality.i.e. HS03-HS12 and SSP3-SSP6

Your board, as in your signature, has USB3 hubs and data of address in dsdt, like  Device (SSP6) { Name(_ADR, 0x15) ....so on, matches to port data in info.plist.  Try iMac14,4, you may see different things.

 

attachicon.gifZ87.jpg

Thanks to reply  :)  I try tonight

×
×
  • Create New...