Jump to content

GenericUSBXHCI USB 3.0 driver for OS X with source


928 posts in this topic

Recommended Posts

I made a build for OS 10.9 DP1 to try and solve the superspeed port detection issue.  Please let me know if it works.

 I couldn't find this build anywhere :o

 

Right now I am stuck because I burnt Mavericks install to my USB 2.0 Key and before, to be able to boot the install from USB in 10.8.2, I needed GenericUSBXHCI and it no longer works with Mavericks :S Unable to boot the install :\ Still waiting for root device.

 

I tried to use USB kexts from 10.8.2 where GenericUSBXHCI was working with, but no success.

 

Hopefully you will figure out soon :)

Link to comment
Share on other sites

This is really great stuff, my external Seagate Expansion Drive works like a charm. There is only one downside: Every time I try to access my old USB Scanner (Agfa SnapScan) while the USB3 external disk is connected the system freezes. This happens either after startup or restart when you log in as a user with the scanner connected or if you connect the scanner while the system is running  :(

I have been able to capture one kernel panic (see below), which indicates that TWAINBridge is the culprit, but I have no clue what is happening. I have also installed TWAIN SANE from Mattias Ellert (http://www.ellert.se/twain-sane/) incl. libusb (http://libusb.sourceforge.net/).

Strange enough, if the external drive is connected via USB2, everything works without issues.

 

I am running 10.8.4 on a GA-Z68X-UD3H-B3 with F12 Bios and Version 1.2.4 of GenericUSBXHCI.kext.

 

What would be a reasonable next step to further investigate ?

 

[EDIT] Removed TWAIN SANE and no more freezes. Unfortunately the scanner is not working without.

Link to comment
Share on other sites

 I couldn't find this build anywhere :o

 

Right now I am stuck because I burnt Mavericks install to my USB 2.0 Key and before, to be able to boot the install from USB in 10.8.2, I needed GenericUSBXHCI and it no longer works with Mavericks :S Unable to boot the install :\ Still waiting for root device.

 

I tried to use USB kexts from 10.8.2 where GenericUSBXHCI was working with, but no success.

 

Hopefully you will figure out soon :)

 

Hello man! Try install Maverick with this kext from 10.8.4 12E55(IOUSBFamily.kext) only. Good luck. Works for me. I had still waiting and this solved my problem.

http://www.sendspace.com/file/780u7u

Link to comment
Share on other sites

Let's wait for news! 

 

cheers!

 wow im being lucky lol, I succeeded to boot the install from my USB key xD I played with XHCI in my unlocked Bios and for some reason, OSX successfully used my USB Ports. It is only a glitch or something because it only worked once, I can't boot the install anymore but at least it is installed and SATA works xD

 

Edit : I just remembered, it is definitively a glitch because only USB Key worked, not even the mouse xD

  • Like 1
Link to comment
Share on other sites

  1. Really attaching the KP.
  2. When TWAIN SANE is not installed and it doesn't freeze, run 'xhcdump slots', and the 'xhcdump endpoints #' on the slot # for the scanner and upload the output.
What would be a reasonable next step to further investigate ?

 

[EDIT] Removed TWAIN SANE and no more freezes. Unfortunately the scanner is not working without.

Link to comment
Share on other sites

 

  1. Really attaching the KP.
  2. When TWAIN SANE is not installed and it doesn't freeze, run 'xhcdump slots', and the 'xhcdump endpoints #' on the slot # for the scanner and upload the output.

 

 

Hi :) 

 

Do you think you will be able to figure out why GenericUSBXHCI doesn't work in 10.9 ? Do you need to wait for the sources or they are released?

 

Btw thanks for making this awesome kext, I wish I could help but I don't think i'm skilled enough in C++ for such as project :/

Link to comment
Share on other sites

I uploaded a build of 1.2.4 for OS 10.9 DP1.  It's in the same folder as general 1.2.4 (see post #1).  Tested that it works.

It work!  :thumbsup_anim:

 

Log: Pandora's box 06-16-13_2337.html.zip

 

EDIT

 

Only a Sleep issue with device attached:

 

Log after failed Sleep, error visible into dmesg: 

Pandora's box 06-16-13_2342.html.zip

 

 

Micky

Link to comment
Share on other sites

Hi :)

 

Do you think you will be able to figure out why GenericUSBXHCI doesn't work in 10.9 ? Do you need to wait for the sources or they are released?

 

Btw thanks for making this awesome kext, I wish I could help but I don't think i'm skilled enough in C++ for such as project :/

 

Hello, Good News! Released version for Maverick DP 1

 

I tested and worked fine for me. Thanks in advanced zenith432!! and all osx86 family! 

 

Link: http://sourceforge.net/projects/genericusbxhci/files/

 

USB%20corrigido.png

Link to comment
Share on other sites

 wow im being lucky lol, I succeeded to boot the install from my USB key xD I played with XHCI in my unlocked Bios and for some reason, OSX successfully used my USB Ports. It is only a glitch or something because it only worked once, I can't boot the install anymore but at least it is installed and SATA works xD

 

Edit : I just remembered, it is definitively a glitch because only USB Key worked, not even the mouse xD

 

Which GenericUSBXHCI file did you use on that link? 

GenericUSBXHCI_1.2.4_for_Maverick

 wow im being lucky lol, I succeeded to boot the install from my USB key xD I played with XHCI in my unlocked Bios and for some reason, OSX successfully used my USB Ports. It is only a glitch or something because it only worked once, I can't boot the install anymore but at least it is installed and SATA works xD

 

Edit : I just remembered, it is definitively a glitch because only USB Key worked, not even the mouse xD

It's my bios config: 

 

http://f.cl.ly/items/0c2B473C0J0d3h3A1Y2F/Bios%20config%20GenericUSBXHCI%20Maverick.jpg

Link to comment
Share on other sites

Working here as well. Great work! 

USB 3.0 SuperSpeed Bus:

  Host Controller Location: Built-in USB
  Host Controller Driver: GenericUSBXHCI
  PCI Device ID: 0x1042 
  PCI Revision ID: 0x0000 
  PCI Vendor ID: 0x1b21 
  Bus Number: 0x3e 

USB3.0 Card Reader:

  Product ID: 0x0301
  Vendor ID: 0x0bda  (Realtek Semiconductor Corp.)
  Version:  1.26
  Serial Number: 201006010301
  Speed: Up to 5 Gb/sec
  Manufacturer: Realtek
  Location ID: 0x7d200000 / 1
  Current Available (mA): 900
  Current Required (mA): 200
Built in SD Card Reader:

  Vendor ID: 0x0bda
  Product ID: 0x0301
  Revision: 1.00
  Serial Number: 201006010301
  • Like 1
Link to comment
Share on other sites

I uploaded a build of 1.2.4 for OS 10.9 DP1.  It's in the same folder as general 1.2.4 (see post #1).  Tested that it works.

 

AWESOME!!! Having some troubles here, everything works (USB 2,0 Key, USB 3,0 external hard drive, etc..) but my USB mouse is not working. It is well reconized but my cursor wont move. At least my touchpad works :P (I have an Alienware m17x R4, dunno if it changes something).

 

I was about to say it must be my hackintosh that was messed up but same in the install :( I used myHack 3,2 beta 8 to prepare my USB, could the error be from there?

 

Thanks!

Link to comment
Share on other sites

 

  1. Really attaching the KP.
  2. When TWAIN SANE is not installed and it doesn't freeze, run 'xhcdump slots', and the 'xhcdump endpoints #' on the slot # for the scanner and upload the output.

 

Sorry I forgot to attach the KP.

When running xhcdump the scanner does not show up as it is connected to one of the USB2 sockets via a hub (USB1 only). All USB2 sockets on my board are served from the Z68 Chipset, the USB3 is served by Etron EJ168.

I have attached the results anyway including Apples System Report and IORegistryExplorer data.

 

 

$ xhcdump slots
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG1@1,1/IOPCI2PCIBridge/pci1b6f,7023@0/GenericUSBXHCI
Slot 1, Device Address 1
  State Configured
  Route String 0
  Speed Super, Last Endpoint 4
  RH Port #3, Interrupter 0, Max Exit Latency 0 us
 
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEX4@1C,4/IOPCI2PCIBridge/pci1b6f,7023@0/GenericUSBXHCI
 
$ xhcdump endpoints 1
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG1@1,1/IOPCI2PCIBridge/pci1b6f,7023@0/GenericUSBXHCI
Endpoint 1, Type Control, State Running
  Multiple 1, Interval 1 microframes, CErr 3, Max Burst 1, Max Packet Size 512
  Average TRB Length 8, Max ESIT Payload 0
Endpoint 3, Type Bulk In, State Running
  Multiple 1, Interval 1 microframes, CErr 3, Max Burst 16, Max Packet Size 1024
  Average TRB Length 1024, Max ESIT Payload 0
Endpoint 4, Type Bulk Out, State Running
  Multiple 1, Interval 1 microframes, CErr 3, Max Burst 16, Max Packet Size 1024
  Average TRB Length 1024, Max ESIT Payload 0
 
Found a device of class GenericUSBXHCI: IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEX4@1C,4/IOPCI2PCIBridge/pci1b6f,7023@0/GenericUSBXHCI

post-486173-0-85801000-1371469701_thumb.jpg

USB_Config_Freeze_USB3.tiff

USB_Config_System_Report_Freeze_USB3.tiff

Link to comment
Share on other sites

Micky1979: It's Intel Series 7 - and if the problem is instant-wake-on-sleep, try booting with -gux_defer_usb2.  Did you experience this same problem on same hardware with 10.8.4?

 

jamesst20: Try connecting the mouse to an ehci port - check if it works from there.

 

Inspector42: Your scanner is connected to the ehci topology - so the crash has nothing to do with GenericUSBXHCI.  In the KP screen it looks like it's crashing directly from user-land TWAINBridge driver due to a page-fault.  (Though I'm not quite sure how that can happen...)  The only thing you have connected to xhci is something called "Expansion Desk".

Link to comment
Share on other sites

Micky1979: It's Intel Series 7 - and if the problem is instant-wake-on-sleep, try booting with -gux_defer_usb2.  Did you experience this same problem on same hardware with 10.8.4?

 

No, the Sleep worked fine in 10.8.4 with no kernel flags (which is why I have spoken), and with many attached devices (USB Stick and USB HD). I'll do the test later with -gux_defer_usb2 (Pandora. .... coming really soon)

 

Just to let you know, Pandora will install the two builds, according to Os detected  for Lion >= 10.7.5 and ML, and your separate build for Mavericks. The Sparkel  software will help us for immediate updates!

 

Thanks for the reply and only the best for you! :)

 

 

 

EDIT

 

In 10.8.4 I have removed all the patches "Mac like" into the DSDT for  devices XHC (to obtain a proper function):

 

 

 

 

before

 
        Device (XHC1)
        {
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x0F)
                    {
                        "device-id", 
                        Buffer (0x04)
                        {
                            0x31, 0x1E, 0x00, 0x00
                        }, 


                        "built-in", 
                        Buffer (One)
                        {
                            0x00
                        }, 


                        "AAPL,clock-id", 
                        Buffer (One)
                        {
                            0x01
                        }, 


                        "device_type", 
                        Buffer (0x05)
                        {
                            "XHC1"
                        }, 


                        "AAPL,current-available", 
                        0x04B0, 
                        "AAPL,current-extra", 
                        0x02BC, 
                        "AAPL,current-in-sleep", 
                        0x03E8, 
                        Buffer (One)
                        {
                            0x00
                        }
                    }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

 

 

Now only:

 

 

    Device (XHC1)
        {
         
         }

I left similar for EHC (different current and with fake ID from real Retina Mac, sorry from a real Mac).

 

...This part under Scope (_GPE):

 

 

        Method (_L0D, 0, NotSerialized)
        {
            Notify (\_SB.PCI0.EHC1, 0x02)
            Notify (\_SB.LID0, 0x02)
            Notify (\_SB.PCI0.EHC2, 0x02)
            Notify (\_SB.PCI0.XHC1, 0x02)
            Notify (\_SB.PWRB, 0x02)
            Notify (\_SB.LID0, 0x02)
            Notify (\_SB.PCI0.HDEF, 0x02)
        }

to obtain the Sleep in 10.8.4. In Mavericks does not work...

 

 

 

Micky

Link to comment
Share on other sites

Micky1979: It's Intel Series 7 - and if the problem is instant-wake-on-sleep, try booting with -gux_defer_usb2.  Did you experience this same problem on same hardware with 10.8.4?

 

jamesst20: Try connecting the mouse to an ehci port - check if it works from there.

 

Inspector42: Your scanner is connected to the ehci topology - so the crash has nothing to do with GenericUSBXHCI.  In the KP screen it looks like it's crashing directly from user-land TWAINBridge driver due to a page-fault.  (Though I'm not quite sure how that can happen...)  The only thing you have connected to xhci is something called "Expansion Desk".

 

I only have USB 3 Ports on my laptop and it is why your kext is as important as FakeSMC xD

 

No USB --> No wifi usb adapter --> no internet

No USB --> No install booting --> Still waiting for root device

No USB --> No fun :(

Thanks xD

 

Nevermind, wrong permissions on kext IOUSBFamility.kext after having replaced it from Windows :#

Link to comment
Share on other sites

Micky1979: It's Intel Series 7 - and if the problem is instant-wake-on-sleep, try booting with -gux_defer_usb2.  Did you experience this same problem on same hardware with 10.8.4?

 

jamesst20: Try connecting the mouse to an ehci port - check if it works from there.

 

Inspector42: Your scanner is connected to the ehci topology - so the crash has nothing to do with GenericUSBXHCI.  In the KP screen it looks like it's crashing directly from user-land TWAINBridge driver due to a page-fault.  (Though I'm not quite sure how that can happen...)  The only thing you have connected to xhci is something called "Expansion Desk".

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

xhcdump_USB2_drive.rtf

USB_Config_No_Freeze_USB2.tiff

Link to comment
Share on other sites

If you still have that problem with failed sleep under 10.9DP1, could you try 1.2.5d2 and let me know if it makes any difference?

No, the Sleep worked fine in 10.8.4 with no kernel flags (which is why I have spoken), and with many attached devices (USB Stick and USB HD).

Link to comment
Share on other sites

hello Zenith432

 

in u signature u have a msg i have with my wireless lan.. i can not understand why i have this message...

 

is not equal.. is like can not wake from D3Cold

 

i always have sleep problems.. and not understand why ?

 

can u explain me what is causing this msg and any solution...

 

sorry is off topic

 

thanks

Link to comment
Share on other sites

×
×
  • Create New...