Jump to content

GenericUSBXHCI USB 3.0 driver for OS X with source


928 posts in this topic

Recommended 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.

Link to comment
Share on other sites

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

xhcdumps.txt

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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\

post-144276-0-77648200-1376171537_thumb.jpg

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.insanelymac.com/forum/topic/291270-iousbfamily-1084-anv-with-full-appleusbxhci-support-for-any-usb3-chip/?hl=%2Busb+%2B30&do=findComment&comment=1939404

 

Try it, it works well for me :-)

Link to comment
Share on other sites

I have the same issue,

 

Well i've deleted this kext and installed the kext in this topic : http://www.insanelymac.com/forum/topic/291270-iousbfamily-1084-anv-with-full-appleusbxhci-support-for-any-usb3-chip/?hl=%2Busb+%2B30&do=findComment&comment=1939404

 

Try it, it works well for me :-)

 

Thanks for fast answer.

 

Unfortunatly that didint work for me.

 

KP on boot :-(

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Hi, it works in my build but only with 10.8.4. No way (tried also the Mavericks one) with Mavericks (DP6) and 10.8.5. I also have an Orico card with Fresco Logic 1100. With 10.8.4 it works well (average speed 80/90)

Link to comment
Share on other sites

Hi, I bought usb3 pcie card (renesas chip).

After installing the generic driver, there are error messages in boot log saying "xhci root hub ss simulation" has reported an overcurrent condition.

The port has been disabled.

Does this mean pcie card is faulty?

Link to comment
Share on other sites

Hi


I  installed 1.2.4 driver in my Laptop,and then I plug in USB 3.0 external hard-drive ,and I got a kernl-panic


But an USB 3.0 portable drive is OK


So how can I  get USB 3.0 external hard-drive work?


Thanks 


 


 


OS: ML  10.8.4 NoteBook Dell L502X  Chip Renesas


 


 


Here is something I get from xhcdump


xhcdump.zip


 


Link to comment
Share on other sites

Experimental build for OS 10.8.5: If you're trying to get GenericUSBXHCI to work on OS 10.8.5, please download v1.2.5d5 from here.

 

Hey Zenith, Glad to see your still actively working on this, i was getting worried since i hadn't seen a reply from you in a while. Hopefully that just means you have been busy with paying work and such. Just wanted to ask if you had any leads on the Lacie USB 3.0 drive freeze issue.

Thanks!

g\

Link to comment
Share on other sites

Hi Zenith432,

May I come in?

I acquire an USB3 PCIe controller with chip VIA VL800-Q8 and I want to make it working. 

First results in 10.8.4 (my build from git):

- Initialization about a minute.

- Write 420Mb to USB3 stick at 30sec.

- Read 420Mb from the stick at 8 sec.

- Going to sleep and it waked up immediately  :( .

- After wake the USB drive is mounted but not working.

 

I tried the same driver in 10.7.5 (not possible to compile here)

It loaded but works incorrectly

Screen Shot 2013-08-30 at 7.21.04.png

It seems PCI operations should be revised. PCI DeviceID must be uint16 but not uint32.

 

Will think more.

 

  • Like 1
Link to comment
Share on other sites

Fri Aug 30 16:28:54 2013
panic(cpu 1 caller 0xffffff801e0b8655): Kernel trap at 0xffffff7f9f803b2f, type 14=page fault, registers:
CR0: 0x000000008001003b, CR2: 0x0000000000000000, CR3: 0x0000000020d8b000, CR4: 0x0000000000000660
RAX: 0x00000001b2f7e000, RBX: 0xffffff803dc3fb00, RCX: 0x6333c418335a0028, RDX: 0x0000000000000200
RSP: 0xffffff810629b6b0, RBP: 0x0000000000000000, RSI: 0x0000000000000000, RDI: 0xffffff8042c2e2b0
R8:  0xffffff810629b5d0, R9:  0x0000000000000200, R10: 0xffffff8042c2e2b0, R11: 0xffffff8042c2e280
R12: 0xffffff8034618000, R13: 0x0000000000000200, R14: 0xffffff81062ee000, R15: 0x0000000000000000
RFL: 0x0000000000010206, RIP: 0xffffff7f9f803b2f, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0x0000000000000000, Error code: 0x0000000000000002, Fault CPU: 0x1
 
Backtrace (CPU 1), Frame : Return Address
0xffffff810629b350 : 0xffffff801e01d626 
0xffffff810629b3c0 : 0xffffff801e0b8655 
0xffffff810629b590 : 0xffffff801e0ce17d 
0xffffff810629b5b0 : 0xffffff7f9f803b2f 
      Kernel Extensions in backtrace:
         net.osx86.kexts.GenericUSBXHCI(1.2.4)[00000000-0000-0000-0000-000000000000]@0xffffff7f9f803000->0xffffff7f9f819fff
            dependency: com.apple.iokit.IOUSBFamily(5.6.0)[065077C5-A49E-3C52-BDC0-60169E293563]@0xffffff7f9e597000
            dependency: com.apple.iokit.IOPCIFamily(2.7.3)[1D668879-BEF8-3C58-ABFE-FAC6B3E9A292]@0xffffff7f9e56e000
 
BSD process name corresponding to current thread: kernel_task
 
Mac OS version:
12E55
 
Kernel version:
Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; root:xnu-2050.24.15~1/RELEASE_X86_64
Kernel UUID: 896CB1E3-AB79-3DF1-B595-549DFFDF3D36
Kernel slide:     0x000000001de00000
Kernel text base: 0xffffff801e000000
System model name: MacBookPro5,1
 

 

 

Hi Zenith432,

 
thank you for working on this. I just got a USB 3.0 ExpressCard (Transcend TS-PNU3). It works with you driver, but only in a very limited fashion. I can mount and use a USB 2 stick. Sleep causes it to be disconnected (with the appropriate Apple warning) and it is remounted after waking up. When I connect a USB 3.0 2.5 or 3.5 inch disk I get a kernel panic like the one above. If you need further details, I will try and help to get to the root of this.
 
Have you considered merging this into your main line source?
Link to comment
Share on other sites

I have an Asus Maximus V Extreme motherboard with Asmedia 1042 USB3 chipset.  Running OS X 10.8.4.  The Intel USB 3 ports work with no issues, even without installing GenericUSBXHCI.kext, the new Asmedia USB3 ports don't.  When I have GenericUSBXHCI.kext installed the Asmedia USB3 ports work, but certain external USB3 hard drives cause OS X to immediately freeze or I get a kernel panic at startup if the drives are connected.

 

The drives with this issue that I've come across so far are: Lacie portable and d2 desktop drives, Seagate Backup Plus for Mac portable drives, HGST Touro Mobile drives, and G-Technology G-RAID 8TB. What's odd is the Seagate Backup Plus drives have the removable SATA-USB interface. I took the interface off and put it on another drive and it did the same thing. For a non-for Mac version of the Backup Plus that didn't cause the computer to freeze, I put that interface on the other drive that did freeze, and it works fine.

 

These drives all work in the Intel USB3 ports when GenericUSBXHCI.kext isn't installed.  They all also work in the USB2 ports with no issues (other than being slow) when GenericUSBXHCI.kext.  Is there a way to fix this?  I've tried v1.1.5, 1.2.4, and 1.2.5d5 of the kext.

Link to comment
Share on other sites

These drives all work in the Intel USB3 ports when GenericUSBXHCI.kext isn't installed.  They all also work in the USB2 ports with no issues (other than being slow) when GenericUSBXHCI.kext.  Is there a way to fix this?  I've tried v1.1.5, 1.2.4, and 1.2.5d5 of the kext.

Hey, while i am hoping zenith can crack this issue soon too, there are a couple of things.

 

1) you can run both the intel with native apple driver AND asmedia with genericxhci in the same system by changing the ioprobe score in the genericxhci plist file to "-1". Then your intel based ports will work with the "problem drives" and you can still use the asmedia ports for other stuff.

 

2) i have had this issue with lacie drives. I dont have any "for mac" seagates to test, but i have many, many other seagate drives and none of them have the issue, which is i guess the same as what your experiencing. I also have several Touro drives and G drives and none of them have the issue either so maybe its specific to the capacity or model your using (my touro are all desktop for instance). 

 

3) That you can swap the interface and get the panic is not surprising as it is the interface that is incompatible, not the actual hard drive. Since you have found multiple drives with this issue it WOULD be good if you can figure out what chipset the interface uses on each of them. Perhaps they are using the same chip in the sata to usb adapters. That could be helpful info.

 

Cheers,

g\

  • Like 1
Link to comment
Share on other sites

×
×
  • Create New...