Jump to content

GenericUSBXHCI USB 3.0 driver for OS X with source

xHC USB 3.0

  • Please log in to reply
585 replies to this topic

#221
Drag0nFly

Drag0nFly

    InsanelyMac Protégé

  • Members
  • Pip
  • 21 posts

@Zenith432–sadly this USB3 driver does not work as well as your VoodooHDA branch (2.8.2d6) on my two systems (one Sandy Bridge Shuttle SH67H7, the other an Ivy Bridge Shuttle SH61V). Both systems are running 10.7.5.

 

When loading the kext, it does not register peripherals plugged into the USB3 ports, nor log anything to the syslog (unsure if it should). I used the Caldigit driver on 10.7.4, but as we all know 10.7.5 breaks it.

 

Some debugging output (happy to provide more, as I'd certainly like USB3 to be functioning on these boxes)–

 

$ ./xhcdump running:

Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP03@1C,2/IOPCI2PCIBridge/PXSX@0/GenericUSBXHCI
USBCmd RS Y HCRST N INTE Y HSEE N LHCRST N CSS N CRS N EWE Y EU3S N
USBSts HCH N HSE N EINT Y PCD N SSS N RSS N SRE N CNR N HCE N
DNCtrl 0xffff
CRCr CRR N
Config 32
MFIndex 9380
Last Time Sync xHC 0 milliseconds <-> CPU 0 nanoseconds
# Configured Endpoints 0
# Interrupts: Total 0, Serviced 0, Inactive 0, Offline 0
Port   1 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc U1 0 U2 0 FLA N PortLi LEC 0
Port   2 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc U1 0 U2 0 FLA N PortLi LEC 0
Port   3 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc L1S Invalid RWE N HIRD 50 us L1Slot 0 HLE N TestMode Disabled
Port   4 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc L1S Invalid RWE N HIRD 50 us L1Slot 0 HLE N TestMode Disabled
Interrupter 0 iman IP Y imod I 40000 ns C 0 ns erstsz 1 erdp DESI 0 EHB Y

$ ./xhcdump caps:

Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/RP03@1C,2/IOPCI2PCIBridge/PXSX@0/GenericUSBXHCI
Kext Version 1.2.4
Vendor 0x1b21, Device 0x1042, Revision 0
CapLength  32
HCIVersion 0x96
MaxSlots 32, MaxIntrs 8, Rsvd(1) 0, MaxPorts 4
IST 1 microframes, ERST Max 32768, Rsvd(2) 0x17, SPR N, Max Scratchpad Bufs 0
U1 Device Exit Latency 0, Rsvd(3) 0, U2 Device Exit Latency 0
AC64 N, BNC N, CSZ N, PPC N, PIND N, LHRC N, LTC N, NSS Y, Rsvd(4) 0x1, MaxPSASize 65536
  xHC Extended Cap ID 1, Specific 0
    Legacy CTLSTS 0xc0010000
  xHC Extended Cap ID 2, Specific 0x300
    Supported Protocol Name 0x20425355 PortOffset 1 PortCount 2 ProtocolDefined 0
  xHC Extended Cap ID 2, Specific 0x200
    Supported Protocol Name 0x20425355 PortOffset 3 PortCount 2 ProtocolDefined 0x1
DBOff  0x1800
RTSOff 0x1000
PageSize 4096
Using MSI



#222
majoho

majoho

    InsanelyMac Protégé

  • Members
  • Pip
  • 9 posts

Will this work on a Mac Pro with a USB3 PCI-e card?

 

And in that case is there any particular chipset that it works best with?



#223
Inspector42

Inspector42

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts

 

Hi Zenith432,

 

this is what confused me in the first place. I also would have expected that the scanner using EHCI is not impacted by the XHCI driver. What makes it even more confusing is, that if I attach a USB2-HD to the USB3 ports of the EJ168 the scanner works (see attached files), attaching a USB3-HD (the famous "Expansion Desk") to the same port causes the KP. The only connection between the two I can think of is "libusb" (http://libusb.sourceforge.net/), which when activated through "TWAINBridge" not only polls or otherwise accesses the EHCI side but XHCI driver as well and is not prepared for the response ultimately leading to the crash of "TWAINBridge". Any suggestion how I can further narrow that down ? I have scanned the system.log and crash-reporter logs already but don't really know what to look for, there are no obvious messages related to the crash.

 

[EDIT] Just stumbled across this for "libusb 0.1", which is used by TWAINSANE. Would that support my theory ?

 

Disadvantages compared to libusb-1.0

  • Does not provide isochronous endpoint I/O
  • Does not provide asynchronous I/O

 

 

Hi Zenith432,
 
trying to find a solution for the libusb freeze issue I faced with my scanner I found out that also Apple's Logic Pro 8 as well as Soundtrack Pro 2.0 freeze during start-up when I connect my USB3.0 hard drive to one of the USB 3 ports of my GA-Z68X-UD3H-B3. I am using Version 1.2.4 of your GenericUSBXHCI on 10.8.4.
 
Logic Pro 8 freezes when checking MIDI-drivers, Soundtrack Pro does not give any indication. I also could not find any entries in the system logs.
Could it be connected to those applications being 32bit and the driver only supporting 64bit ?
 
It might not be an issue with your kext after all, but I have no access to a real Mac with USB3 to see, if those programs freeze there as well.
 
Since both programs are kind of outdated and are not really supported under 10.8.4 any more it may be a waste of time searching for a solution. 
Nevertheless, I would hate having to spend another $199,99 for the latest Logic Pro X as I use Logic Pro 8 frequently.
Of course I would be able to live without USB3 for a while, but it's annoying.
 
Thanks for any idea or advice how to proceed from here. For my scanner I decided to use VueScan and remove libusb as well as twain-sane.


#224
imastun

imastun

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
  • Gender:Male
  • Location:Pennsylvania

Hi Zephyr, I am a newbie, and have combed this thread pretty thoroughly.

I appreciate the work invested into this kext. and after I installed it, It helped me read my USB 3 devices, but unfortunately they only appear under the High-Speed Bus, they max out at 480 mb/s.  I know my ext drive can super super speed because on the actual imac I have, it supports that speed under the superspeed setting.

 

What am I doing wrong with this kext?

 

my specs:

GA-H77N-WIFI

OSX 10.8.4

i5-3750K @ 3.9GHz



#225
ernando

ernando

    InsanelyMac Geek

  • Donators
  • 187 posts

Hi,

I tried to use the latest version 1.2.4 with my ASMedia ExpressCard 2 port USB 3.0 on my MacBook Pro early 2008, with 10.8.4 installed. First time after insert the ExpressCard, if I try to plug in USB 3.0 HDD, it only operates in Hi-Speed mode (480MB/s). But if I eject the drive then plug it in again in the same port, it can operates at Super Speed Bus. This condition happens to the other port. If I want to get Super Speed Bus then I have to plug then eject the drive and then plug it in again.
With the ExpressCard inside, my MBP cannot go to the sleep mode. But if I unplug the ExpressCard, the sleep function is normal.
I also tried older version 1.1.6 & 1.1.4, but got the same problem.

I just wonder is there a way to fix this problem ?



#226
bebop68

bebop68

    InsanelyMac Protégé

  • Members
  • Pip
  • 23 posts

I have an Orico PFU3-2P fl1009 pcie card in a gigabyte ep45-ds4 sckt 775 system.  The other cards in it are amd 5770 gfx and apple original atheros bx72 airport (patched into the dsdt).  It autosleeps and wakes with the edited dsdt and the only kext I need is fakesmc.  I patched the dsdt for xhc1 as in post 196.  With the genericusbxhci 1.2.4 kext system information reports the card as 'built in' but when I put the system to sleep the card loses power and disconnects any connected hard drives.  Is there anything I can do about this?

 

 

 

Ernando - I had so much trouble trying to get expresscards to work I sold my macbook.  I tried all the available chipsets, none were really reliable, and none slept properly.  Fl1000, Asmedia 1042 and Nec 720202 were ok.  The nec tended to disconnect more than the others.



#227
tbp

tbp

    InsanelyMac Protégé

  • Members
  • Pip
  • 2 posts

Hi Zenith432,

 

Hey I installed 1.2.4 kext on my Z68x-UD3h-B3 on 10.4 and everything appears to work great. Except Sleep is broken now. I can manually sleep my computer and it wakes up fine with all my drives working.   What can I do to fix sleep? I tried -gux_nosleep and that does not make any noticeable difference. I attached my xhc log. If you have a moment cant you take a look and see if this is fixable?

 

Thanks

Attached Files



#228
FelipeZ

FelipeZ

    InsanelyMac Protégé

  • Members
  • PipPip
  • 58 posts

Not working on 10.8.5... I tried both versions, normal and mavericks... System boots but usb ports don't work...

Any help?

felipe-pc:GenericUSBXHCI_1.2.4 felipe$ ./xhcdump caps
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/GenericUSBXHCI
Kext Version 1.2.4
Vendor 0x8086, Device 0x1e31, Revision 0x4
CapLength  128
HCIVersion 0x100
MaxSlots 32, MaxIntrs 8, Rsvd(1) 0, MaxPorts 8
IST 4 microframes, ERST Max 32, Rsvd(2) 0, SPR Y, Max Scratchpad Bufs 16
U1 Device Exit Latency 10, Rsvd(3) 0, U2 Device Exit Latency 512
AC64 Y, BNC N, CSZ N, PPC N, PIND N, LHRC N, LTC N, NSS Y, Rsvd(4) 0x1, MaxPSASize 256
  xHC Extended Cap ID 2, Specific 0x200
    Supported Protocol Name 0x20425355 PortOffset 1 PortCount 4 ProtocolDefined 0x1
      PSIV 1 PSIE 2 PLT 0 PFD N Rsvd 0 Mantissa 12
      PSIV 2 PSIE 1 PLT 0 PFD N Rsvd 0 Mantissa 1500
      PSIV 3 PSIE 2 PLT 0 PFD N Rsvd 0 Mantissa 480
  xHC Extended Cap ID 2, Specific 0x300
    Supported Protocol Name 0x20425355 PortOffset 5 PortCount 4 ProtocolDefined 0
      PSIV 4 PSIE 3 PLT 0 PFD Y Rsvd 0 Mantissa 5
  xHC Extended Cap ID 193, Specific 0
  xHC Extended Cap ID 192, Specific 0
  xHC Extended Cap ID 1, Specific 0x100
    Legacy CTLSTS 0x40000000
DBOff  0x3000
RTSOff 0x2000
PageSize 4096
Using MSI

felipe-pc:GenericUSBXHCI_1.2.4 felipe$ ./xhcdump running
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/GenericUSBXHCI
USBCmd RS Y HCRST N INTE Y HSEE N LHCRST N CSS N CRS N EWE Y EU3S N
USBSts HCH N HSE N EINT N PCD N SSS N RSS N SRE N CNR N HCE N
DNCtrl 0xffff
CRCr CRR N
Config 32
MFIndex 0
Last Time Sync xHC 0 milliseconds <-> CPU 0 nanoseconds
# Configured Endpoints 0
# Interrupts: Total 0, Serviced 0, Inactive 0, Offline 0
Port   1 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc L1S Invalid RWE N HIRD 50 us L1Slot 0 HLE N TestMode Disabled
Port   2 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc L1S Invalid RWE N HIRD 50 us L1Slot 0 HLE N TestMode Disabled
Port   3 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc L1S Invalid RWE N HIRD 50 us L1Slot 0 HLE N TestMode Disabled
Port   4 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc L1S Invalid RWE N HIRD 50 us L1Slot 0 HLE N TestMode Disabled
Port   5 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc U1 0 U2 0 FLA N PortLi LEC 0
Port   6 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc U1 0 U2 0 FLA N PortLi LEC 0
Port   7 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc U1 0 U2 0 FLA N PortLi LEC 0
Port   8 PortSC CCS N PED N OCA N PR N
           PLS RxDetect PP Y Speed Unknown PIC Off LWS N
           CSC N PEC N WRC N OCC N PRC N PLC N CEC N CAS N
           WCE Y WDE Y WOE Y DR N WPR N
         PortPmsc U1 0 U2 0 FLA N PortLi LEC 0
Interrupter 0 iman IP N imod I 40000 ns C 0 ns erstsz 1 erdp DESI 0 EHB N

felipe-pc:GenericUSBXHCI_1.2.4 felipe$ ./xhcdump slots
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/GenericUSBXHCI
felipe-pc:GenericUSBXHCI_1.2.4 felipe$ ./xhcdump bandwidth
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/XHC@14/GenericUSBXHCI
Bandwidth for RootHub, Speed 0
  90  90  90  90  0  0  0  0
Bandwidth for RootHub, Speed 1
  90  90  90  90  0  0  0  0
Bandwidth for RootHub, Speed 2
  80  80  80  80  0  0  0  0
Bandwidth for RootHub, Speed 3
  0  0  0  0  90  90  90  90



#229
X-TRiAL

X-TRiAL

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 147 posts
  • Gender:Male
  • Location:UK

Hi Zenith432,

 

Hey I installed 1.2.4 kext on my Z68x-UD3h-B3 on 10.4 and everything appears to work great. Except Sleep is broken now. I can manually sleep my computer and it wakes up fine with all my drives working.   What can I do to fix sleep? I tried -gux_nosleep and that does not make any noticeable difference. I attached my xhc log. If you have a moment cant you take a look and see if this is fixable?

 

Thanks

+1 

 

Sleep is broken for me too whilst using your kext, I can attach any dumps if you need? 

 

Thanks again



#230
genzai

genzai

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 167 posts
  • Gender:Male
  • Location:San Francisco

Hi Zenith,

Your driver rocks and has been working well on most of the systems i have installed it on with 3rd party controllers. I have an issue with one of my friends systems (based on GA-P67A-UD7-B3) which has the D720200 through VIA hubs (i have upgraded the hubs to latest 960 firmwares). It works with many devices, but a Lacie USB 3.0 device causes system to completely freeze up after plug in. Because the system kernel panics but does not appear to even have time to print the panic on screen, etc - it is very hard for me to collect data on it, for instance i would not be able to run the xhcdump commands because the system freezes before i can get any data from it. I was able to leave the drive connected at boot and in verbose mode get a kernel panic. I am not sure if its enough to help but i will post it below. Any advice to solve this bug would be appreciated and if there is more info i can supply i will do so. The drive works fine on my system with native intel XHCI and apple driver.

g\

Attached Files



#231
shilohhh

shilohhh

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
  • Gender:Male
  • Location:Texas

Good work! It seems to recognize drives faster but the read and write speeds are much slower than the CalDigit Kexts from mlydinesh.

 

Read times 32MB/s Slower than the CalDigit Kexts

Write times 25MB/s Slower than the CalDigit Kexts



#232
radargb

radargb

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male
  • Location:Krakow, Poland

Hey ppl!

 

I've found GenericUSBXHCI.kext working like a charm with my hardware.

 

Speed is correct, no issues with sleep/wake etc.

 

The only problem is that USB3.0 port doesnt work after sleep. After restart everything is fine again.

 

Any clues how to fix this issue? Its really annoying sometimes.



#233
TUX FIRE

TUX FIRE

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 113 posts

Hey ppl!

 

I've found GenericUSBXHCI.kext working like a charm with my hardware.

 

Speed is correct, no issues with sleep/wake etc.

 

The only problem is that USB3.0 port doesnt work after sleep. After restart everything is fine again.

 

Any clues how to fix this issue? Its really annoying sometimes.

I have the same issue,

 

Well i've deleted this kext and installed the kext in this topic : http://www.insanelym...30#entry1939404

 

Try it, it works well for me :-)



#234
radargb

radargb

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male
  • Location:Krakow, Poland

I have the same issue,

 

Well i've deleted this kext and installed the kext in this topic : http://www.insanelym...30#entry1939404

 

Try it, it works well for me :-)

 

Thanks for fast answer.

 

Unfortunatly that didint work for me.

 

KP on boot :-(



#235
TUX FIRE

TUX FIRE

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 113 posts

i guess you forgot to deletet the GenericUSBXHCI kext



#236
radargb

radargb

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male
  • Location:Krakow, Poland

No i didnt ;) 

I removed GenericUSBXHCI as well as IOUSBFamily and installed IOUSBFamily from this topic. I couldnt start OSX and had to use SafeMode.

 

After that ive tried to install only AppleUSBXHCI and had same problem.



#237
TUX FIRE

TUX FIRE

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 113 posts

Are you tried this one : IOUSBFamily-10.8.4-V3.zip ?  (do u have ML 10.8.4 first ?)



#238
radargb

radargb

    InsanelyMac Protégé

  • Members
  • PipPip
  • 63 posts
  • Gender:Male
  • Location:Krakow, Poland

Yes i have 10.8.4 and this kext doesnt work for me. 

Think it might be my USB3.0 controller which is Fresco Logic FL1000G, not Intel one.



#239
indianapenguin

indianapenguin

    InsanelyMac Protégé

  • Members
  • Pip
  • 1 posts

Has anyone had any luck on getting the USB 3.0 drivers to work on the Asus P9x79 Pro motherboard? I've tried to "GenericUSBXHCI.kext" and it caused kernel panic.

 

Any ideas would be awesome! Thanks!



#240
Maniac10

Maniac10

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,078 posts
  • Gender:Not Telling

It looks like OWC Accelsio's kext is being loaded along with GenericUSBXHCI on Mavericks DP6. Weird...

 

Loaded at boot:

Attached File  console_log.png   18.42KB   3 downloads

In IOREG:

Attached File  ioreg_section.png   23.63KB   3 downloads

In loaded kexts:

Attached File  loaded_kext.png   42.38KB   3 downloads

 

The kext is located in /Library/Extensions/SoftRAID.kext/Contents/PlugIns/







Also tagged with one or more of these keywords: xHC, USB 3.0


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy