Jump to content

[GUIDE] USB Fix El Capitan 10.11


830 posts in this topic

Recommended Posts

 

I found Microsoft Windows 10 also put all USB 2.0 and 3.0 ports together in the XHC controller. The only difference is they don't have 15 port limitation. See the photo (Gigabyte Z97 board + Windows 10). So, we'd better find a way to unlock 15 port limitation in AppleUSBXHCI.kext ???

 

post-629226-0-38756800-1442944746_thumb.png

Link to comment
Share on other sites

OK maybe a little help here because I am just not getting it and I really should after so many years of this.  I posted a picture on page 14, of the kernel panic as others have seen to, and in my case disabling USB3 or ASMedia did not stop the panic.  What allows me to boot without a flood of ASMX messages was VHC888 dummy kext for Z87 even though mine is an Asus X79, but only 2 USB ports work no biggie for now since I get past the kernel panic and no flood of ASMX messages.

 

Now here is the dilema and I think we are missing something here or its just me.  Without any 3rd party kexts I can boot into 10.11 after about 8 to 10 tries same pattern over and over weird ha?  Anyhow when I am able to boot my ASMedia USB3 ports are working!!  Not all ports but at least 2 in the back and 1 in the front and yes they are USB3 not USB2 according to Ioreg, now how can that be possible??  That is why I think we are missing something here?  

 

I am trying to figure out what connectors/port addresses I need to modify in the dummy kext?  It seems that connector 0 and 3 for SMBIOS iMac14,2 in the unaltered dummy kext is not enough in my case.  I have 5 physical USB connectors on the Asus X79, and four of them are USB2 and 1 is USB3 which I can connect 2 of the 4 USB2 and 1 of the USB 3 connectors from PC case.  Does this mean I need to add connectors 0,1,2,3,4 and whatever the ones are in the back also part of the motherboard, then assign the HS and SSP and port addresses?  Do I use the port addresses I see in the ioreg because none of them are 10000000, 20000000 etc etc.,ioreg screenshot below.   Do I just name them as they are in the ioreg such as port 1d110000 through 1d14000 as you see under XHC1, HS01 and then XHC2, HS01 port 1a100000?

 

Can I name the connector number whatever I want as long as there are that many connectors on the motherboard?  Also what is the ASMX@00000000 because its that one that floods me with messages if I do not use a dummy kext.

 

Excuse me for my dumbness on this but if its as simple as placing the connectors 0 through 5 maybe one or two more because there are some that are already soldered to the board in the back and changing the port numbers as they are in the screenshots then I am good to go!!

 

My DSDT was posted on page 14 if you want to look at it but nothing in that DSDT will help me as the names such as connectors, hubs and port addresses are look nothing like what you see in the dummy kext.

 

Thanks

post-135888-0-81660200-1442971868_thumb.png

post-135888-0-31180800-1442971875_thumb.png

Link to comment
Share on other sites

@ oSxFr33k

 

In case of your X79, this chipset supports two EHCI controllers, up to 14 USB2.0/1.1 ports.

 

from ASUS website

USB Ports

Intel® X79 chipset : 
12 x USB 2.0/1.1 port(s) (4 at back panel, black, 8 at mid-board)
ASMedia® ASM1042 controller : 
8 x USB 3.0/2.0 port(s) (6 at back panel, blue, 2 at mid-board)
 
The first thing is to get EHCI controllers working properly. You may not need any dummy kext if you try to rename Device (EUSB) to Device (EHC1) and Device (USBE) to Device (EHC2) in dsdt. And, can you disable your ASMEDIA via ssdt, such as  Scope (ASMX) {Name (_STA, Zero)} without disable USB3 in bios?
 
update:
USB 3.0 ports on this board connect to PCI bus, PEX0, PEX1, PEX2. You may need disable PEX0-2 via ssdt.
  • Like 1
Link to comment
Share on other sites

 

@ oSxFr33k

 

In case of your X79, this chipset supports two EHCI controllers, up to 14 USB2.0/1.1 ports.

 

from ASUS website

USB Ports

Intel® X79 chipset : 
12 x USB 2.0/1.1 port(s) (4 at back panel, black, 8 at mid-board)
ASMedia® ASM1042 controller : 
8 x USB 3.0/2.0 port(s) (6 at back panel, blue, 2 at mid-board)
 
The first thing is to get EHCI controllers working properly. You may not need any dummy kext if you try to rename Device (EUSB) to Device (EHC1) and Device (USBE) to Device (EHC2) in dsdt. And, can you disable your ASMEDIA via ssdt, such as  Scope (ASMX) {Name (_STA, Zero)} without disable USB3 in bios?
 
update:
USB 3.0 ports on this board connect to PCI bus, PEX0, PEX1, PEX2. You may need disable PEX0-2 via ssdt.

 

 

 

Thanks for replying.  I gave that a try and without the dummy kext I get the panic and I don't think the panic is from the USB3/ASMedia but rather some port address memory conflict possibly?  If I use your kext or the one I modified with the addresses in the ioreg, which made no difference as far as which ports are enabled and which are not I am able to boot perfectly, no ASMX messages.  Just 2 of the 4 USB ports in front don't work.  I had a developer help me design the DSDT/SSDT and here is what he came up with based on my Windows 10 RW-Everything and AIDA64 extracts.  Windows PCI/Device dumps and ACPITables.

 

He named the EUSB and USBE to XHC1 and XHC2.

 

 

Edited:

 

I just now realized that even the un-modified XHCI dummy kext works as well.  I don't think it worked before because I did not fix permissions and/or ignore caches!!

 

Edited Again:

 

I tried the EHCI Dummy kext with and without the XHCI dummy and with it all USB ports are disabled and without XHCI, I get the kernel panic.  So the only temp fix for now is to run the un-modified XHCI dummy until a Generic XHCI driver is available for the ASMedia 1042 in OS X 10.11.

DSDT.aml.zip

SSDT.aml.zip

SSDT-1.aml.zip

Link to comment
Share on other sites

@VCH888,  I will give this another shot.  I actually did the edits in DSDT instead of SSDT and did not use Scope.  Would I do the same for PEX0-2 with Scope in SSDT?   Question about the connectors.  For iMac14,2 the Dummy XHCI kext has connector 0 and 3.  Do I need to add more connectors, to enable the other two USB2/1.1 ports in front and enable the USB3 in back to work as USB2?  Mid. USB2/1.1 has four physical connectors but the PC case only has provisions for two cables to front connection four usb2/1.1 ports and for some reason only two of those four ports work in 10.11.  Same with USB3 mid., there is only one PC Cable for that connector, and only one, not two USB3 ports in front. All the rest of the ports USB1.1/2/3 are soldered onto motherboard assuming this is the form factor for most modern day ATX/Mini-ATX Mb's?

 

I will try adding more connectors just to see if it does make any difference, unless 10.11 goes strictly by SMBIOS definition of connectors 0 and 3 for iMac14,2?  Changing the port ID certainly did not make any difference.

Link to comment
Share on other sites

Hey Poken,

 

Two of my rear usb 2.0 ports aren't working on my Asus P8z77-v LK. So I followed part 2b of you guide.

 

My DSTD and Info was this -

 

EHC1

attachicon.gifEHC1.jpg

 

XHC1

attachicon.gifXHC1.jpg

 

So I changed EHC1 to this

attachicon.gifEHC1-new.jpg

 

And the two USB ports still aren't working, any idea what's wrong?

 

Thanks

You forgot to set port-count to the maximum count number of your ports.

  • Like 1
Link to comment
Share on other sites

Hello !

 

Does someone has this problem too ? Not a big deal since this USB 2.0 disk works fine with correct speed (up to 480 Mb/s). But a bit annoying cause the system see it as 3 different disks instead of one and force me to manually eject all of them where I should have the choice to eject only the partition I want or all of them in one click :wacko:

 

See, it's listed as internal, physical :

/dev/disk2 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *1.0 TB     disk2
   1:             Windows_FAT_32 EFI                     367.0 MB   disk2s1
   2:               Windows_NTFS Windows                 537.3 GB   disk2s2
   3:                  Apple_HFS Stockage                462.5 GB   disk2s3

The rig is the old Dell D830 in my sig with MacBookPro5,1 SMBios. Other than that, all ports works fine. This occurs only when I plug the disk in the back port.

 

[EDIT]

 

Ok, fixed :D.

 

In case you have the same problem it can easily be fixed by setting 3 (standard USB connector) instead of 255 (internal USB connector) in UsbConnector field of info.plist

 

509e351a-0b2c-4286-8daf-036b5c212318.jpg

post-1163891-0-11928100-1443020527.png

post-1163891-0-50124900-1443020536.png

DSDT.aml.zip

DummyUSBEHCIPCI.kext.zip

MacBook Pro.zip

  • Like 1
Link to comment
Share on other sites

Do you have an example? The port injector does not unlock the 15 limit of XHC but reroute ports from XHC to EHC1 or EHC2.

 

Are you sure about this? First page says:

 

 

 

However, Apple set a limit of 15 ports for one USB device, so if your DSDT define more than 15 ports, only first 15 ports will be recognized by system! In this case, you have to enable ports restriction and add  your ports as guided in 2b.

 

Also, are you sure that you actually have 15 different USB 3 ports? I don't think the Intel xHCI controller supports this many ports; if you only have an Intel xHCI controller, you probably have a hub. I'm not 100% sure, but I don't think hub ports count towards the port limitations.

 

Also, a general question: if we're using FakePCIID_XHCIMux to force routing to EH0x for USB 2 devices, is it OK if we remove the HS0x devices (under XH01) entirely from the port limitations, since we're using the EH0x devices for muxing?

  • Like 1
Link to comment
Share on other sites

Also, are you sure that you actually have 15 different USB 3 ports? I don't think the Intel xHCI controller supports this many ports; if you only have an Intel xHCI controller, you probably have a hub. I'm not 100% sure, but I don't think hub ports count towards the port limitations.

 

Also, a general question: if we're using FakePCIID_XHCIMux to force routing to EH0x for USB 2 devices, is it OK if we remove the HS0x devices (under XH01) entirely from the port limitations, since we're using the EH0x devices for muxing?

 

I'm sure that Intel xHCI controller can support 20 ports at least on Windows 10 (see the photo above). It's the same motherboard. Yes, I can move HS0x ports to EH0x controller but why should I do that while Windows 10 can control all of them with an Intel xHCI controller.  (PS: 20 = 6 USB 3.0 ports + 6 USB 2.0 mode of 3.0 ports + 8 USB 2.0 ports)

Link to comment
Share on other sites

I'm sure that Intel xHCI controller can support 20 ports at least on Windows 10 (see the photo above). It's the same motherboard. Yes, I can move HS0x ports to EH0x controller but why should I do that while Windows 10 can control all of them with an Intel xHCI controller.  (PS: 20 = 6 USB 3.0 ports + 6 USB 2.0 mode of 3.0 ports + 8 USB 2.0 ports)

 

Ah, that makes more sense. Have you tried using a port injector for all of the xHCI ports?

Link to comment
Share on other sites

@ oSxFr33k

 

Let's think. Your X79 has two brand USB controllers, one is Intel's ECHI controllers and other one is Asmedia's XHCI controllers.  They are separate. Their physical USB ports should not be linked each controller. So, all USB2.0 should be controlled by Intel's EHCI. All USB3.0 should be controlled by Asmedia's XHCI. 

 

Your dsdt and ssdt in post #330 should be fine. Can you change IOPCIClassMatch of AppleUSBXHCIPCI such as from 0x0c033000 to 0x0b033000? Trying not to load AppleUSBXHCIPCI.kext

 

Previously, I suggested you try to use Name (_STA, Zero) to disable device that connects to pic bus is useless. Sorry about this idea.

  • Like 1
Link to comment
Share on other sites

Instead of using Clover, now I try to implementing Rehabman's method, to USB2 devices renaming, now i got 4 in total, 2 new & 2 with zero address, and its working. I dont know if that can cause conflicts?

Device (EH01)
{
  Name (_ADR, 0x001D0000)  // _ADR: Address
  Method (_INI) { Store (Zero, \_SB.PCI0.EHC1._ADR) }
  ...
}

Device (EH02)
{
  Name (_ADR, 0x001A0000)  // _ADR: Address
  Method (_INI) { Store (Zero, \_SB.PCI0.EHC2._ADR) }
  ...
}

nGlh04U.png

Link to comment
Share on other sites

We need a more easy way for fixes..

I hope after official release to find it..

Most involved in the hackint0sh are not devlprs

:(

 

?? No development needed.. change an ID and make a couple edits. these are hackint0sh basics.

 

IMHO this topic and understanding of whats actually changed has been overcomplicated.

  • Like 1
Link to comment
Share on other sites

@ oSxFr33k

 

Let's think. Your X79 has two brand USB controllers, one is Intel's ECHI controllers and other one is Asmedia's XHCI controllers.  They are separate. Their physical USB ports should not be linked each controller. So, all USB2.0 should be controlled by Intel's EHCI. All USB3.0 should be controlled by Asmedia's XHCI. 

 

Your dsdt and ssdt in post #330 should be fine. Can you change IOPCIClassMatch of AppleUSBXHCIPCI such as from 0x0c033000 to 0x0b033000? Trying not to load AppleUSBXHCIPCI.kext

 

Previously, I suggested you try to use Name (_STA, Zero) to disable device that connects to pic bus is useless. Sorry about this idea.

 

 

Thanks I can try that to.   The DSDT/SSDT from post #330 were prepared by Dinesh to help troubleshoot the Panic which did not help.  I have to get back to him on that.  Interesting though if I put back my original SSDT/SSDT-1 without DSDT from RampageDev and the un-modified dummy XHCI KEXT, all USB 2 ports are now enabled!!  I believe the edits in DInesh's DSDT/SSDT were lacking devices because my wifi stopped working and could not get Audio to work until I put Rampage's SSDT back. Something was also not correct with his XHC1/2 edits in DSDT because two of the USB2 ports were disabled.   Interesting because Ramp's SSDT does have the edits for disabling the two USB devices you had mentioned (EUSB, USBE) and added sections for XHC1/XHC2.  Script below and attached Ramp's SSDT/SSDT-1.  I just need to figure out how the XHCI dummy kext is preventing the KP and slew of ASPX messages.  If I can figure that out then maybe I can just modify the SSDT and not use it anymore.  It would seem that I do not really need a DSDT.

 

 

Original SSDT prepared by Rampagedev:

 

 

Edited:

 

I can see what Dinesh did.  He switched the device names for EUSB and USBE to XHC1 and XHC2.  That must be why his edits did nothing to help the situation.  Rampage placed new devices in SSDT for XHCI1/2 and script similar to what I had seen in one of the earlier posts, Rehab's #182.

        Scope (PCI0)
        {
            Scope (EUSB)
            {
                Name (_STA, Zero)
            }

            Scope (USBE)
            {
                Name (_STA, Zero)
            }

            Device (XHC1)
            {
                Name (_ADR, 0x001D0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0F)
                        {
                            "AAPL,current-available", 
                            0x0834, 
                            "AAPL,current-extra", 
                            0x0A8C, 
                            "AAPL,current-extra-in-sleep", 
                            0x0A8C, 
                            "AAPL,max-port-current-in-sleep", 
                            0x0834, 
                            "AAPL,device-internal", 
                            Zero, 
                            "AAPL,root-hub-depth", 
                            0x0A, 
                            "AAPL,xhci-clock-id", 
                            One, 
                            Buffer (One)
                            {
                                0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

                Device (RHUB)
                {
                    Name (_ADR, Zero)
                    Device (HS01)
                    {
                        Name (_ADR, One)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (HS02)
                    {
                        Name (_ADR, 0x02)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (HS03)
                    {
                        Name (_ADR, 0x03)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (HS04)
                    {
                        Name (_ADR, 0x04)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP1)
                    {
                        Name (_ADR, 0x05)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP2)
                    {
                        Name (_ADR, 0x06)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP3)
                    {
                        Name (_ADR, 0x07)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP4)
                    {
                        Name (_ADR, 0x08)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
                }

                Method (MBSD, 0, NotSerialized)
                {
                    Return (One)
                }
            }

            Device (XHC2)
            {
                Name (_ADR, 0x001A0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0F)
                        {
                            "AAPL,current-available", 
                            0x0834, 
                            "AAPL,current-extra", 
                            0x0A8C, 
                            "AAPL,current-extra-in-sleep", 
                            0x0A8C, 
                            "AAPL,max-port-current-in-sleep", 
                            0x0834, 
                            "AAPL,device-internal", 
                            Zero, 
                            "AAPL,root-hub-depth", 
                            0x0A, 
                            "AAPL,xhci-clock-id", 
                            One, 
                            Buffer (One)
                            {
                                0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

                Device (RHUB)
                {
                    Name (_ADR, Zero)
                    Device (HS01)
                    {
                        Name (_ADR, One)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (HS02)
                    {
                        Name (_ADR, 0x02)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (HS03)
                    {
                        Name (_ADR, 0x03)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (HS04)
                    {
                        Name (_ADR, 0x04)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP1)
                    {
                        Name (_ADR, 0x05)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP2)
                    {
                        Name (_ADR, 0x06)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP3)
                    {
                        Name (_ADR, 0x07)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }

                    Device (SSP4)
                    {
                        Name (_ADR, 0x08)
                        Name (_UPC, Package (0x04)
                        {
                            0xFF, 
                            0x03, 
                            Zero, 
                            Zero
                        })
                        Name (_PLD, Package (0x10)
                        {
                            0x81, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            0x31, 
                            0x1C, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero, 
                            Zero
                        })
                    }
                }

                Method (MBSD, 0, NotSerialized)
                {
                    Return (One)
                }
            }

SSDT_SSDT-1.zip

Link to comment
Share on other sites

 

@oSxFr33k,

 

For me, base on your example, doing so will lead "000001.386481 StandardUSB::validateEndpointMaxPacketSize: USB 2.0 5.[5|7].3: endpoint 0x00 invalid wMaxPacketSize 0x0040" in boot console

Scope (EUSB)
{
  Name (_STA, Zero) <== this
}

 

 

@oSxFr33k,

 

For me, base on your example, doing so will lead "000001.386481 StandardUSB::validateEndpointMaxPacketSize: USB 2.0 5.[5|7].3: endpoint 0x00 invalid wMaxPacketSize 0x0040" in boot console

Scope (EUSB)
{
  Name (_STA, Zero) <== this
}

I will check my console messages tonight and see if I have the same messages and get back to you.

Link to comment
Share on other sites

Hello to all participants here. I have a hackintosh that is basically a GA-P55M-UD2 v1.0 mobo with a USB3 PCIe expansion card installed in order to have USB3 capability in the PC. The card controller is Renesas based and in Mavericks it was working very well thanks to the Genericusbxhci kext. In Yosemite it worked with this kext too but I had to connect the device to the card port prior to turning on the PC since for some reason the PC did not recognize the device when connected after booting and starting up completely to the desktop. I recently cloned the Yosemite partition and upgraded directly to 10.11 GM candidate in the newly created partition. To make the USB mouse and keyboard work, I had to apply the EHC1 & EHC2 rename DSDdt patch in the Clover config.plist file following Rehabman instructions. I was wondering if I can do something at this stage to also force 10.11 to recognize and allow me use the USB3 expansion card ports. Attached is my ioreg file.

  • Like 1
Link to comment
Share on other sites

I feel that there is no universal method for fixing USBs on El Captian which is why many are confused. Some say to edit the DSDT, others say make your own injector, and others say use dummy kexts. And then some say use fakepciid to override usb 2.0. I'm not even sure what method is the best.

 

Any VIA805 or any other VIA controller usb 3.0 users here that have working usb 3.0 ports? And any guides on creating a port injector kext? At least an outline of what you should put in there? in my case that seems to be the only solution for my setup.

  • Like 2
Link to comment
Share on other sites

I don't think any third party xHCI controllers are working in 10.11 right now. Does AppleUSBXHCI load for your VIA VL805? What do you see in IORegistryExplorer under RP0x (wherever the VIA VL805 xHCI controller is on PCIe).

 

The back 4 USBs are detected by OS X since I can see that they list the correct names for those USB sticks. However those drives never get mounted. I checked System Info and AppleUSBXHCI is loaded. 

 

I uploaded the IOREG. One of the USB drives is a real 3.0 device.

 

I'm not sure what approach to take. Using iMac 14,2 SMBIOS.

MSI H81ME34 IOReg.zip

Link to comment
Share on other sites

The back 4 USBs are detected by OS X since I can see that they list the correct names for those USB sticks. However those drives never get mounted. I checked System Info and AppleUSBXHCI is loaded. 

 

I uploaded the IOREG. One of the USB drives is a real 3.0 device.

 

I'm not sure what approach to take. Using iMac 14,2 SMBIOS.

 

Which one of these drives is the USB 3.0 device? I see four USB devices under PXSX. 

Link to comment
Share on other sites

Which one of these drives is the USB 3.0 device? I see four USB devices under PXSX. 

 

In this case anything that is a USB 2.0 device in the PXSX section is under AppleUSB20XHCIPort@0XXXXXXXX. Anything that is a 3.0 device is under AppleUSB30XHCIPort@0XXXXXXXX. The 3.0 external hard drive is called AS2105. 

 

And then there are other USB ports but those are controlled by Intel. These work normally without any modifications. SSP1 and SSP2 are the front panel 3.0 ports. Its the VIA805 ones that aren't working (4 ports) which leads me to believe that AppleUSB20XHCIPort and AppleUSB30XHCIPort aren't doing anything.

 

Not sure what method to apply here.

Link to comment
Share on other sites

According to your IOReg your AS2105 is under a USB2.0 hub under the RP06/PXSX device. Not sure why this is happening, but this is probably what's limiting your speeds to USB 2.0. I think third-party xHCI controllers won't work for the time being with USB 3.0, so OS X is probably forcing all devices to connect to the USB 2.0 ports.

Link to comment
Share on other sites

×
×
  • Create New...