Jump to content
928 posts in this topic

Recommended Posts

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.

I tried it but my VIA ports didn't work. Intel ports are fine.

 

Also, the new version of GenericUSBXHCI in GitHub killed all of my USB ports. Not sure what happened.

Also, the new version of GenericUSBXHCI in GitHub killed all of my USB ports. Not sure what happened.

IOProbeScore is set to 1, try to increase over 1000 EDIT only on the repo, look at precompiled kext here:https://github.com/theracermaster/GenericUSBXHCI/releases

Edited by Micky1979

IOProbeScore is set to 1, try to increase over 1000 EDIT only on the repo, look at precompiled kext here:https://github.com/theracermaster/GenericUSBXHCI/releases

The pre compiled kext also kills all of my USB ports. Somewhat dangerous running OSX without USB. So with the updates given to GenericUSBXHCI both native Intel ports and VIA ports stopped working.

IOProbeScore is set to 1, try to increase over 1000 EDIT only on the repo, look at precompiled kext here:https://github.com/theracermaster/GenericUSBXHCI/releases

 

 

My X79 Sabertooth has all ASMedia1042 for USB3.  They are working with your updated driver but the Fresco FL1100 PCIe card stops working.  I wonder if I can add a second driver for that one while using the Generic driver?

The pre compiled kext also kills all of my USB ports. Somewhat dangerous running OSX without USB. So with the updates given to GenericUSBXHCI both native Intel ports and VIA ports stopped working.

 

What's the device ID of your VIA controller? I added eratta for the VL800/801, this could be why your USB broke.

My X79 Sabertooth has all ASMedia1042 for USB3.  They are working with your updated driver but the Fresco FL1100 PCIe card stops working.  I wonder if I can add a second driver for that one while using the Generic driver?

 

Hmm... I probably should disable the kext for FL1100 & Intel chipsets. Unfortunately I'll be extremely busy this next week, so I won't be able to get any major updates in.

  • Like 2

What's the device ID of your VIA controller? I added eratta for the VL800/801, this could be why your USB broke.

 

Hmm... I probably should disable the kext for FL1100 & Intel chipsets. Unfortunately I'll be extremely busy this next week, so I won't be able to get any major updates in.

 

 

No rush on this.  When your ready let me know I will run any tests you want.  Thanks for the effort.

What's the device ID of your VIA controller? I added eratta for the VL800/801, this could be why your USB broke.

 

Oh okay, I see. Yeah my motherboard uses the VL805 controller. From the patched AppleUSBXHCI kext, all available VIA controllers are VL800, VL801, VL805 and VL806. 

Hmm... I probably should disable the kext for FL1100 & Intel chipsets. Unfortunately I'll be extremely busy this next week, so I won't be able to get any major updates in.

I have done this the other way around:

<key>IOPCIPrimaryMatch</key>
<string>0x34831106</string> 
Now only VL805 uses the kext.

 

P.S.: 

The kext is working for me and there are no issues after sleep but:

I have slower reboot and power-off even if no device is connected.

A mounted USB-Pendrive doesn't appear after reboot. From a cold-boot it is mounting fine. 

 

Linux lspci

05:00.0 USB controller [0c03]: VIA Technologies, Inc. VL805 USB 3.0 Host Controller [1106:3483] (rev 01) (prog-if 30 [XHCI])
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
	Flags: bus master, fast devsel, latency 0, IRQ 25
	Memory at f7c00000 (64-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] MSI: Enable+ Count=1/4 Maskable- 64bit+
	Capabilities: [c4] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Kernel driver in use: xhci_hcd

Since it seems to not be crashing anymore....

 

I just pushed an update to GenericUSBXHCI.kext: https://github.com/RehabMan/OS-X-Generic-USB3

 

Changes:

- it will only attach to XHCI controllers that are not Intel and not Fresco Logic

- added kernel flag -gux_disable (the kext will disable itself to avoid any post-probe panic)

- removed the checking for 10.11 (it wasn't working anyway - :)

 

It "sort of" works on my pre-XHC 1.0 NEC/Renesas equipped Intel DH67GD, but is a bit flakey (sometimes have to insert the device more than once for it to be recognized).

 

I have an FL1100 attached to the USB3 ports on case top panel, so I probably won't use the Renesas ports much.

  • Like 7

Since it seems to not be crashing anymore....

 

I just pushed an update to GenericUSBXHCI.kext: https://github.com/RehabMan/OS-X-Generic-USB3

 

Changes:

- it will only attach to XHCI controllers that are not Intel and not Fresco Logic

- added kernel flag -gux_disable (the kext will disable itself to avoid any post-probe panic)

- removed the checking for 10.11 (it wasn't working anyway - :)

 

It "sort of" works on my pre-XHC 1.0 NEC/Renesas equipped Intel DH67GD, but is a bit flakey (sometimes have to insert the device more than once for it to be recognized).

 

I have an FL1100 attached to the USB3 ports on case top panel, so I probably won't use the Renesas ports much.

 

Nice work! I think completely blacklisting Fresco Logic controllers might be a bit too much, it might be better to to allow certain older chipsets like FL1000 which are only xHCI 0.96 compliant (won't work with AppleUSBXHCI). NEC/Renesas might need extra errata, but I personally have no idea (I don't have non-Intel xHCI).

Nice work! I think completely blacklisting Fresco Logic controllers might be a bit too much, it might be better to to allow certain older chipsets like FL1000 which are only xHCI 0.96 compliant (won't work with AppleUSBXHCI). NEC/Renesas might need extra errata, but I personally have no idea (I don't have non-Intel xHCI).

FL1009 is supported with a simple injector kext (or FakeID, or DSDT patch, etc)...

Not sure about FL1000.... maybe it will work the same way?

 

Note that I have a //REVIEW comment at the hardcoded blacklist logic. It would be better to do that through an Info.plist mechanism, but I'll wait for concrete examples to determine requirements.

 

NEC/Renesas used to work pretty well with GenericUSBXCHI.kext in 10.9 (and earlier), but something changed in 10.10 in the OS X base classes that makes it flakey as far as detecting plugged devices (they seem to always work if plugged in prior to rebooting).

Since it seems to not be crashing anymore....

 

I just pushed an update to GenericUSBXHCI.kext: https://github.com/RehabMan/OS-X-Generic-USB3

 

Changes:

- it will only attach to XHCI controllers that are not Intel and not Fresco Logic

- added kernel flag -gux_disable (the kext will disable itself to avoid any post-probe panic)

- removed the checking for 10.11 (it wasn't working anyway - :)

 

It "sort of" works on my pre-XHC 1.0 NEC/Renesas equipped Intel DH67GD, but is a bit flakey (sometimes have to insert the device more than once for it to be recognized).

 

I have an FL1100 attached to the USB3 ports on case top panel, so I probably won't use the Renesas ports much.

 

 

Nice Work Rehabman!!  I'll test this out tonight. There is one user that brought to my attention and I verified that for the ASMedia1042 when you plugged in a flash drive and then unmount, it would not re-mount and only mount in another port.  Same thing happens to each port until none will mount anymore.

 

I have not tried your update, this was on the last update before yours.

 

Does the hub and mounted device show up in System Preferences?

 

Thanks

Nice Work Rehabman!!  I'll test this out tonight. There is one user that brought to my attention and I verified that for the ASMedia1042 when you plugged in a flash drive and then unmount, it would not re-mount and only mount in another port.  Same thing happens to each port until none will mount anymore.

 

I have not tried your update, this was on the last update before yours.

No real changes other than what I detailed above. The problem you mention is probably still there.

 

Does the hub and mounted device show up in System Preferences?

No. I think it would require a rewrite to work against Apple's new USB interfaces. Which for controllers, are not really documented... source code not published.

  • Like 1

NEC/Renesas used to work pretty well with GenericUSBXCHI.kext in 10.9 (and earlier), but something changed in 10.10 in the OS X base classes that makes it flakey as far as detecting plugged devices (they seem to always work if plugged in prior to rebooting).

 

I have this with ASM1042 as well. I tried GenericUSBXHCI to see if it worked ok with 10.11.2 on my Z68 but I'll be sticking with mXHCD for now. I only need storage support here anyway.

Since it seems to not be crashing anymore....

 

I just pushed an update to GenericUSBXHCI.kext: https://github.com/RehabMan/OS-X-Generic-USB3

 

Changes:

- it will only attach to XHCI controllers that are not Intel and not Fresco Logic

- added kernel flag -gux_disable (the kext will disable itself to avoid any post-probe panic)

- removed the checking for 10.11 (it wasn't working anyway - :)

 

It "sort of" works on my pre-XHC 1.0 NEC/Renesas equipped Intel DH67GD, but is a bit flakey (sometimes have to insert the device more than once for it to be recognized).

 

I have an FL1100 attached to the USB3 ports on case top panel, so I probably won't use the Renesas ports much.

 

Your version has finally enabled my VL805 ports on El Captain. Also, the bluetooth dongle works perfectly and is detected correctly. Great work!

Bitbucket zip files dead link?  Anyone with a copy I can grab.  I wanted to test on my Sabertooth X79.

 

Edited:

 

I just saw a message at the top "We're changing our IP addresses on 15 December 2015 at 00:00 UTC."

No. At least not here.

 

 

I tried another PC no issues.  Rebooted the one that got dead link and now the file is available.   It was my end.   I know it should not have fixed the problem about not being able to re-mount but whatever fixes you did also took care of that works 100% on my end.

 

Thank you very much for this!!

Since it seems to not be crashing anymore....

 

I just pushed an update to GenericUSBXHCI.kext: https://github.com/RehabMan/OS-X-Generic-USB3

 

Changes:

- it will only attach to XHCI controllers that are not Intel and not Fresco Logic

- added kernel flag -gux_disable (the kext will disable itself to avoid any post-probe panic)

- removed the checking for 10.11 (it wasn't working anyway - :)

 

It "sort of" works on my pre-XHC 1.0 NEC/Renesas equipped Intel DH67GD, but is a bit flakey (sometimes have to insert the device more than once for it to be recognized)...

I tried your build with my VL805:

 

The kext is working.

No issues after sleep.

All tested devices where recognized immediately.

Slower reboot and power-off even if no device is connected.

A mounted USB-Pendrive doesn't be recognized after a reboot.

Haven't tried this yet, but it seems all those connect / reconnect problems might be not 10.11 specific. I also got them with 10.10. In my case for a device (iPhone, iPad) to be recognized I had to either connect it at boot, or connect another device to a different port. Anyways, this was the most glaring problem I had - so if this would be fixed we might have a reliable "native" solution again, instead of having to buy a dedicated (FL1100 based) PCI card.

Haven't tried this yet, but it seems all those connect / reconnect problems might be not 10.11 specific. I also got them with 10.10. In my case for a device (iPhone, iPad) to be recognized I had to either connect it at boot, or connect another device to a different port. Anyways, this was the most glaring problem I had - so if this would be fixed we might have a reliable "native" solution again, instead of having to buy a dedicated (FL1100 based) PCI card.

The unreliable connection problems were present in 10.10. Nothing new here.

I think completely blacklisting Fresco Logic controllers might be a bit too much, it might be better to to allow certain older chipsets like FL1000 which are only xHCI 0.96 compliant (won't work with AppleUSBXHCI).

New build 1.2.11.

 

Implemented a whitelist/blacklist in Info.plist (DeviceWhitelist/DeviceBlacklist)

 

The whitelist contains full vendor_device specifications and overrides blacklist.

The blacklist can contain vendors or full vendor_device specifications.

 

The whitelist overrides the blacklist.

 

Current whitelist: 1b73_1000 (FL1000)

Current blacklist: 8086, 1b73

 

Hence, all Intel controllers are blacklisted and all Fresco Logic controllers are blacklisted except FL1000.

 

Note: I guessed on the device-id for FL1000.

 

I remember that
before Zenith432, come with GenericUSBXHCI.kext
I used two kexts the CalDigit, to my old
ASMedia 1042, worked well, someone already tested these
kexts in 10.11?

 

If your ASmedia is 1b211042 is the same as mine, tested in 10.11.2 and works, but don't show bus and device attached in System Info

http://www.insanelymac.com/forum/topic/307756-how-to-fix-asmedia-usb-30-on-el-capitan/?p=2197465

@Mirone: If you were happy with the CalDigit, I'd stay with those or use the Oyen Digital driver (mXHCD). These drivers are fine for storage devices.

 

GenericUSBXHCI will allow other features like audio and charging but starting with 10.10 (and continuing with 10.11) it has trouble detecting devices if they're powered up or attached after startup.

  • Like 1
×
×
  • Create New...