Micky1979 Posted December 12, 2015 Share Posted December 12, 2015 Managed to get GenericUSBXHCI to "work" under 10.11 by manually copying headers from 10.10 SDK. No USB bus seen under System Information/USB, but devices attached to the USB 3.0 controller mount fine. I had to delete AppleUSBXHCI.kext in order to get GenericUSBXHCI to load. Attached is the (very hacky) source. I probably won't work on this anymore at all, as I have no need to (have native Intel 7 Series xHCI), but I guess it could be useful for someone. Oh, great! Should be cool to build a kext disabler that deceive OSX to load it instead of AppleUSBXHCI.kext, and add it to the GenericUSBXHCI.kext/Contents/PlugIns... EDIT BTW IOProbeScore is set only to 1 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 12, 2015 Share Posted December 12, 2015 Oh, great! Should be cool to build a kext disabler that deceive OSX to load it instead of AppleUSBXHCI.kext, and add it to the GenericUSBXHCI.kext/Contents/PlugIns... EDIT BTW IOProbeScore is set only to 1 Yes, should be possible, although I have no experience doing so Source is here if anyone's interested. More work needs to be done to make the controller properly recognized in System Information (probably will require rewriting using IOUSBHost* instead of IOUSB* from 10.10, but AppleUSBHostController doesn't seem to be documented. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted December 12, 2015 Share Posted December 12, 2015 The IOProbeScore on the Info.plist should be greater then the one on Apple kext to win the battle of witch kext will be run for the IO node involved, so that only one will be loaded. I'm on Window and for several minutes I can't restart... later I want to take a look and try THX for the idea 2 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 12, 2015 Share Posted December 12, 2015 The IOProbeScore on the Info.plist should be greater then the one on Apple kext to win the battle of witch kext will be run for the IO node involved, so that only one will be loaded. I'm on Window and for several minutes I can't restart... later I want to take a look and try THX for the idea Thanks, that worked (increased IOProbeScore to 2000, AppleUSBXHCIPCI.kext has IOProbeScore of 1000 for AppleUSBXHCIPPT). 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted December 12, 2015 Share Posted December 12, 2015 So no kp? Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 12, 2015 Share Posted December 12, 2015 Correct, no KP since I manually added the headers from the 10.10 IOKit framework. Simply building it with the 10.10 SDK and running it in 10.11 will panic because it can't find the (removed) IOUSB* headers. ~ ❯❯❯ sw_vers ProductName: Mac OS X ProductVersion: 10.11.2 BuildVersion: 15C50 ~ ❯❯❯ kextstat | grep GenericUSBXHCI 47 0 0xffffff7f80f9b000 0x18000 0x18000 net.osx86.kexts.GenericUSBXHCI (1.3.0b1) no UUID <46 12 7 5 4 3> ~ ❯❯❯ ioreg -rxn GenericUSBXHCI +-o GenericUSBXHCI <class GenericUSBXHCI, id 0x1000001d5, registered, matched,$ | { | "IOClass" = "GenericUSBXHCI" | "CFBundleIdentifier" = "net.osx86.kexts.GenericUSBXHCI" | "IOProviderClass" = "IOPCIDevice" | "RM,Build" = "El Capitan-" | "IOPCIClassMatch" = "0x0c033000" | "ASMediaEDLTAFix" = Yes | "IOUserClientClass" = "IOUSBControllerUserClient" | "IOProbeScore" = 0x1388 | "IOPCITunnelCompatible" = Yes | "IOPCIPauseCompatible" = Yes | "IntelDoze" = No | "IOMatchCategory" = "IODefaultMatchCategory" | "IOPowerManagement" = {"ChildrenPowerState"=0x4,"DevicePowerState"=0x3,"C$ | "Errata" = 0x83b2000000 | "Card Type" = "Built-in" | "ResetOnResume" = No | "UpdatedSleepPropertiesExists" = Yes | "ISTKeepAway" = 0x1 | "RM,Version" = "GenericUSBXHCI 1.3.0b1" | } | +-o XHCI Root Hub SS Simulation@14 <class IOUSBRootHubDevice, id 0x1000001e0$ | +-o AppleUSBLegacyHub <class AppleUSBLegacyHub, id 0x1000001eb, registered$ | +-o IOUSBInterface@0 <class IOUSBInterface, id 0x1000001ed, !registered, !$ +-o XHCI Root Hub USB 2.0 Simulation@14 <class IOUSBRootHubDevice, id 0x1000$ | +-o AppleUSBLegacyHub <class AppleUSBLegacyHub, id 0x1000001fa, registered$ | +-o IOUSBInterface@0 <class IOUSBInterface, id 0x1000001fd, !registered, !$ +-o 4-Port USB 3.0 Hub@15300000 <class IOUSBHubDevice, id 0x1000002c2, regis$ | +-o AppleUSBLegacyHub <class AppleUSBLegacyHub, id 0x1000002c3, registered$ | +-o IOUSBInterface@0 <class IOUSBInterface, id 0x1000002c5, !registered, !$ +-o 4-Port USB 3.0 Hub@15400000 <class IOUSBHubDevice, id 0x100000326, regis$ | +-o AppleUSBLegacyHub <class AppleUSBLegacyHub, id 0x100000327, registered$ | +-o IOUSBInterface@0 <class IOUSBInterface, id 0x100000329, !registered, !$ +-o SanDisk Ultra@15200000 <class IOUSBDevice, id 0x10000032a, registered, m$ +-o IOUSBCompositeDriver <class IOUSBCompositeDriver, id 0x10000032b, !reg$ +-o IOUSBInterface@0 <class IOUSBInterface, id 0x10000032c, registered, ma$ +-o IOUSBMassStorageClass <class IOUSBMassStorageClass, id 0x10000032d, $ +-o IOSCSIPeripheralDeviceNub <class IOSCSIPeripheralDeviceNub, id 0x1$ +-o IOSCSIPeripheralDeviceType00 <class IOSCSIPeripheralDeviceType00$ +-o IOBlockStorageServices <class IOBlockStorageServices, id 0x100$ +-o IOBlockStorageDriver <class IOBlockStorageDriver, id 0x10000$ +-o SanDisk SanDisk Ultra Media <class IOMedia, id 0x1000003f3$ +-o IOMediaBSDClient <class IOMediaBSDClient, id 0x1000003f4$ +-o IOFDiskPartitionScheme <class IOFDiskPartitionScheme, id$ +-o Untitled 1@1 <class IOMedia, id 0x1000003fa, registere$ +-o IOMediaBSDClient <class IOMediaBSDClient, id 0x10000$ However, you won't see the xHCI controller in System Profiler. Probably because it's using the old headers. 1 Link to comment Share on other sites More sharing options...
Micky1979 Posted December 12, 2015 Share Posted December 12, 2015 Ok thanks, let see if can work for me (damm, I'v just boot into windows to do a long rendering I can't stop ). I the case that will work.. port restriction probably no longer matters... 1 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 12, 2015 Share Posted December 12, 2015 Yep, AppleUSBXHCIPCI will only load if AppleUSBXHCI is loaded already, so no port restrictions are applied. 1 Link to comment Share on other sites More sharing options...
qwaak Posted December 12, 2015 Share Posted December 12, 2015 Anyone know about any other solution for ASMedia 1042 USB 3.0 solution for El Capitan? Thanks!! On Asus X99-A mainboard, GenericUSBXHCI v1.2.7 seems to be working again with the latest update to Mac OS X El Capitan version 10.11.2. External USB3 disk mounts perfectly fine with USB 3.0 transfer speeds. Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 12, 2015 Share Posted December 12, 2015 Hmm... it appears that 10.11.2 did somehow fix the panics caused by older versions of GenericUSBXHCI. Oh well, at least you can build it with the 10.11 SDK now. Link to comment Share on other sites More sharing options...
GhostRaider Posted December 12, 2015 Share Posted December 12, 2015 Hmm... it appears that 10.11.2 did somehow fix the panics caused by older versions of GenericUSBXHCI. Oh well, at least you can build it with the 10.11 SDK now. Hey TheRacerMaster! I compiled the Xcode project and tested out the kext. It enabled my VIA 3.0 ports again on El Capitan 10.11.2! Would have never thought of this happening lol. But there was a problem, and for some reason the kext disables my GMYLE USB 4.0 Bluetooth dongle. No matter what port I connect it to, it doesn't work, even though it is receiving power which was a bummer. The only way it works is by removing the GenericUSBXHCI kext. Is there a reason why it makes my USB bluetooth dongle not work or get detected? Every other device like flash drives, printer, etc works. Though I do notice that even though the VIA 3.0 ports work, it won't charge an iPad (I believe this was always an issue). Attached compiled kext from Xcode project if somebody wants to test it out. Else you can download the source project files from TheRaceMaster's Github page, then open the project in Xcode, build it and the compiled kext will be in the products folder. GenericUSBXHCI.kext(10.11.x).zip 3 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 12, 2015 Share Posted December 12, 2015 Can you attach an IOReg? 1 Link to comment Share on other sites More sharing options...
GhostRaider Posted December 13, 2015 Share Posted December 13, 2015 Can you attach an IOReg? Okay, I did attach 2 below. One with Generic kext and one without it. Did notice that the Bluetooth dongle is detected but is missing components for it to function. IOReg Files.zip 1 Link to comment Share on other sites More sharing options...
gils83 Posted December 13, 2015 Share Posted December 13, 2015 Hey TheRacerMaster! I compiled the Xcode project and tested out the kext. It enabled my VIA 3.0 ports again on El Capitan 10.11.2! Would have never thought of this happening lol. But there was a problem, and for some reason the kext disables my GMYLE USB 4.0 Bluetooth dongle. No matter what port I connect it to, it doesn't work, even though it is receiving power which was a bummer. The only way it works is by removing the GenericUSBXHCI kext. Is there a reason why it makes my USB bluetooth dongle not work or get detected? Every other device like flash drives, printer, etc works. Though I do notice that even though the VIA 3.0 ports work, it won't charge an iPad (I believe this was always an issue). Attached compiled kext from Xcode project if somebody wants to test it out. Else you can download the source project files from TheRaceMaster's Github page, then open the project in Xcode, build it and the compiled kext will be in the products folder. thanks , works good for me ( GA 78LMTUSB3) #108 1 Link to comment Share on other sites More sharing options...
oSxFr33k Posted December 13, 2015 Share Posted December 13, 2015 This is the greatest news yet!! Thanks TheRacerMaster, Mickey1979 and GhostRaider!! 1 Link to comment Share on other sites More sharing options...
tuxy Posted December 13, 2015 Share Posted December 13, 2015 So is the GenericUSBXHci.kext supposed to work with inatek kt 4005? Is it enough to place it into kext/10.11 folder ? Thanks a lot Link to comment Share on other sites More sharing options...
oSxFr33k Posted December 13, 2015 Share Posted December 13, 2015 The Generic kexts work for me on 10.11.1 and on 10.11.2 no need for them. The AppleUSBXHCI.kext supports my ASMedia1024 once again on my Asus Z97-Deluxe. I have to still test on my Sabertooth X79. 1 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 13, 2015 Share Posted December 13, 2015 I'm curious, what's the device ID of your ASM1042 on your Z97 board, and the ASM1042 on your X79 board? I'm thinking it's ASM1042 (0x1042) vs ASM1042A (0x1142) (newer revision, but most motherboard manufacturers still refer to it as ASM1042). ASM1042A is xHCI 1.0 compliant and has less issues (no broken streams, etc). 2 Link to comment Share on other sites More sharing options...
oSxFr33k Posted December 13, 2015 Share Posted December 13, 2015 I'm curious, what's the device ID of your ASM1042 on your Z97 board, and the ASM1042 on your X79 board? I'm thinking it's ASM1042 (0x1042) vs ASM1042A (0x1142) (newer revision, but most motherboard manufacturers still refer to it as ASM1042). ASM1042A is xHCI 1.0 compliant and has less issues (no broken streams, etc). You are right, I did not verify the Asus X79 yet. The device ID for ASMedia on the Asus Z97 is 1142, not 1042. I am about to try the updated driver. Edited: For the Asus X79, only 2 ports in the rear work for ASMedia1042, with the Generic driver. The other two do not as well as the ASMedia USB connection in the mid section of the motherboard that connects to Case USB port in front. The Fresco Fl100 PCIe card also gets disabled assuming its because the AppleUSBXHCI is disabled over the generic. Its a great start though, maybe with some further future updates to sort things out. Link to comment Share on other sites More sharing options...
Frank Nitty Posted December 14, 2015 Share Posted December 14, 2015 Will this one boot like the Inateck KT4005? http://www.amazon.com/ORICO-PCI-Express-Adapter-Controller-Windows/dp/B005LC2MLC/ref=sr_1_fkmr0_1?ie=UTF8&qid=1449810352&sr=8-1-fkmr0&keywords=ORICO+USB+Expansion+Card%2C+USB3.0+4+Port+PCI+Express The KT005 is shown to be compatible with Windows, not Mac OS X even though it appears to be recognized in System Report on my system. Amazon says that the KT006 is the one here is natively supported on Mac Pro, which I overlooked. I am currently returning the KT4005 for the KT4006. Hmm it states "other Mac OS needs GenericUSBXHCI open source USB3.0 xHC driver" in the description. And as we know, that wont work with 10.11. I do not see the specific chipset mentioned. So maybe you just better go with one of the Inateck ones, they work fine (apparently all of them, including the 5 port + internal header version I have myself). Also has very mixed reviews, personally I would stay away from that. Which Inateck 5 port internal header are you referring to that u use? Hey TheRacerMaster! I compiled the Xcode project and tested out the kext. It enabled my VIA 3.0 ports again on El Capitan 10.11.2! Would have never thought of this happening lol. But there was a problem, and for some reason the kext disables my GMYLE USB 4.0 Bluetooth dongle. No matter what port I connect it to, it doesn't work, even though it is receiving power which was a bummer. The only way it works is by removing the GenericUSBXHCI kext. Is there a reason why it makes my USB bluetooth dongle not work or get detected? Every other device like flash drives, printer, etc works. Though I do notice that even though the VIA 3.0 ports work, it won't charge an iPad (I believe this was always an issue). Attached compiled kext from Xcode project if somebody wants to test it out. Else you can download the source project files from TheRaceMaster's Github page, then open the project in Xcode, build it and the compiled kext will be in the products folder. It doesn't work with my non-Intel Renasas USB 3.0 chipset. Guess I shouldn't be surprised Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 14, 2015 Share Posted December 14, 2015 It doesn't work with my non-Intel Renasas USB 3.0 chipset. Guess I shouldn't be surprised What exactly isn't working, and what's your chipset (vendor/device ID)? Link to comment Share on other sites More sharing options...
frankiee Posted December 14, 2015 Share Posted December 14, 2015 Which Inateck 5 port internal header are you referring to that u use? I mean this one: http://www.amazon.com/dp/B00FPIMJEW/ref=twister_B00YBX2B0Y?_encoding=UTF8&psc=1 Link to comment Share on other sites More sharing options...
TheRacerMaster Posted December 14, 2015 Share Posted December 14, 2015 Someone with Intel xHCI + 3rd-Party xHCI try setting the IOProbeScore in the kext to 100, and see if that lets the Intel controller use AppleUSBXHCI & the 3rd party controller GenericUSBXHCI. Link to comment Share on other sites More sharing options...
Frank Nitty Posted December 14, 2015 Share Posted December 14, 2015 What exactly isn't working, and what's your chipset (vendor/device ID)? I was trying to get my DAC to work on either one of my (2) USB 3.0 ports via Renasas which are integrated w/ my motherboard and I tried using ur kext to enable them but no dice. Also, how would I find my device ID if it doesn't show up in System Report. I mean this one: http://www.amazon.com/dp/B00FPIMJEW/ref=twister_B00YBX2B0Y?_encoding=UTF8&psc=1 O ok, I thought so. I had initially ordered this one . It would recognize my DAC in System Report but it wouldn't allow it to work. I'm returning it back for this one. Link to comment Share on other sites More sharing options...
Micky1979 Posted December 14, 2015 Share Posted December 14, 2015 Also, how would I find my device ID if it doesn't show up in System Report. In Windows or Linux? Link to comment Share on other sites More sharing options...
Recommended Posts