Search the Community: Showing results for tags 'xHC'.
Found 4 results
Zenith432 posted a topic in Other Peripheral DevicesI've been working on an open source USB 3.0 driver for OS X for a while, and decided it's stable enough to be published. Implements USB SuperSpeed and HighSpeed root hubs, and accepts SS, HS, FS, LS devices. I've benchmarked a SS drive at the highest speed it's capable of with it. If you benchmark drives, use block sizes of 128Kbyte or higher power of two - as those are optimal. I've fixed the issue with interrupters. MSI is used on all chips except FL1000, which is known to have problems with it. Uses pin interrupt on FL1000. Sleep Issue - Attempts to enable PME on all chips. If PME is supported, uses XHCI suspend/resume. If resume fails, resets the xHC and lets IOUSBFamily reenumerate devices (this causes disconnection messages.) If PME is not supported, reverts to shutdown/reset which will always reenumerate. If PME is not supported, there'll be a message in syslog "xHC will be unloaded across sleep". In case of restore error during wakeup, there'll be a message in syslog "xHC Restore Error". Limitations: Isochronous endpoints are not supported yet. This includes anything having to do with audio or video (webcams too.) If you try to connect devices with isoch endpoints, and OS X has an upper layer driver for the device, it'll fail to configure the device and you'll probably see some messages about it from IOUSBFamily in syslog. Some kernel flags - "-gux_nosleep" forces Sleep to always use the shudown/reset method. - "-gux_nomsi" forces use of pin interrupt instead of msi. - For Intel Series 7 chipset only (Panther Point.) "-gux_defer_usb2" causes the xHC to defer the management of USB2 ports and their devices to one of the EHC controllers on the PCH (south-bridge). This option can usually also be configured in the BIOS for Intel Series 7 chipsets. "-gux_no_idle" disables some feature for idle-mode on Intel's chip. I couldn't test this, so I added an option to disable it. There is a debugging tool called "xhcdump" that prints various aspects of xHC internal state. Run without options for a list things it can dump. Note 1: If system doesn't wake from sleep, try the power button before reporting. USB keyboards don't always work during sleep. Note 2: For Intel Series 7 - if you'd like USB 2.0 ports 1 - 4 to be managed by xhci, it's recommended you configure the bios setting to route these ports to xhci. This ensures devices don't get enumerated on ehci before being switched to xhci. Note 3: Some Intel Series 7 motherboards have a hardware issue that causes instant-wakeup when put to sleep. Use '-gux_defer_usb2' to resolve this. If you would like to contribute in the development, particularly to add code for a chipset that you have and can test - feel welcome to do so. Binaries contain build for OSes 10.7.5, 10.8.x, 10.9. [Earlier OSes not supported.] xhcdump utility.. Binaries v1.2.7. Sources are here. Bugs may be reported here. Older Binaries: Archive Edit [October 25 2013]: Release 1.2.7 Implemented miscellaneous errata for Intel series 8, Intel series 7, FL 1100, Etron, ASMedia 1042. Optimize stream management. Reorganized diagnostics. Fixed some bugs. Edit [October 1 2013]: Release 1.2.6 Added support for VMware virtual xHC device in Workstation 10/Fusion 6. Fixed serious bug that would cause KPs with any USB3 driver supporting streams endpoints. Fixed support for streams endpoints to use earlier allocation of rings. Cleaned up and simplified some of the code that creates control endpoints. [October 9 Update] Fixed KP when waking from unpowered sleep with streams drive. [October 22 Update] Integrated workaround for using UAS drives on Etron xHCs, OS 10.8.5 or later. Edit [september 13 2013]: Release 1.2.5 Support for OS 10.8.5, OS 10.9. Support for Lynx Point/Intel Series 8 with 16 xHC ports (8 dual ports). Edit [June 11 2013]: Release 1.2.4 Overhauled error-handling of non-isoch transfers. Fixed a couple of bugs with KP potential related to transfers. Optimized handling of transfer timeouts. Added kext version to 'xhcdump caps' + a couple of diagnostic counters to 'xhcdump running' Edit [June 5 2013]: Release 1.2.3 Improved handling of bios semaphore for legacy USB - eliminates a problem that causes some bioses to crash during sleep. Made sequence for entering sleep mode more robust and safer. Eliminated potential memory corruption if xhci commands time out. Eliminated some potential memory leaks, fixed some minor bugs, made some minor optimizations and added a bit more logging. Edit [June 2 2013]: Release 1.2.2 Fixed extra-current errors mentioned in posts #85, #90. Fixed minor issue with 32-bit build. Fixed issue with chips that stop clocks for power reduction. Added some logging to help debugging. Edit [May 20 2013]: Release 1.2.1 Fixed alignment bug that made 32-bit build for OS 10.7.5 fail. Edit [May 19 2013]: Release 1.2.0 Implemented support for Isochronous Endpoints. Should now support webcams, etc... (real-time audio/video streaming). Updated UIM interface changes in OS 10.8.3. Added workaround for Intel Series 7 chipset that causes instant-wakeup-on-sleep on some motherboards. Edit [May 19 2013]: Release 1.1.6. Fixed two critical bugs and seven minor bugs. Edit [May 12 2013]: Release 1.1.5. Fixed one critical bug and two minor bugs. Edit [March 23 2013]: Release 1.1.4. Reverted change that caused regression discussed in post #41. Turns out 11 msec means 11 msec and not a msec less. Packaged common binary for 10.7.5 + 10.8.x, as suggested in post #39. Edit [March 22 2013]: Release 1.1.3. Prevent instant-wakeup and spontaneous reboot on ASM1042. Eliminated some race conditions on power-state and port-status changes that may cause KPs. Edit [March 19 2013]: Release 1.1. Made suspend/resume code safer from KPs. Fixed an issue with use of shared pin interrupt. Added diagnostic counters for some errors. These are printed by 'xhcdump running' if non-zero. Edit [March 17 2013]: Uploaded 1.1a4 with Fix for xHC that lack 64-bit physical-addressing (ASM1042) Prints some more information in xhcdump caps/running Added kernel flag '-gux_nomsi' to force use of pin interrupt 'xhcdump options' shows kernel flags supported by kext Edit [March 11 2013]: Uploaded 1.1a3 with Added code to discard spurious events that are a likely cause of stalls described in post #10. Made error handling of events more robust and fixed some minor bugs in processing of transfers. Edit [March 8 2013]: Uploaded 1.1a2 with code added to take ownership of xHC from bios.
chriz74 posted a topic in General DiscussionI wanted to share my findings. Prior to some minutes ago I couldn't have my USB3 port in the laptop working, this since Yosemite, now I am on Sierra. My laptop would freeze at MBINIT done during boot if I left XHCI enabled in bios hence I needed to disable it and lose USB3 functionality. Some days ago I read a thread on reddit, this guy had the freeze and solved it by selecting hand-off in bios for xhc, the problem is this laptop and bios doesn't have such an option. After many tries with DSDT patching and bla bla today I found what the solution was. It was simply a matter of selecting "FixOwnership" in Clover! WTF!!! Now the USB3 is working with the aid of that flag and FakePCIID_XHCIMux.kext . So to all those people that have this problem try to put that damn flag.
shrieken213 posted a topic in OSx86 10.11 (El Capitan)Hi guys, I've already finished installing El Capitan and it runs fine except for the USB and PS/2 ports. But since the USB problem is more relevant to this forum, I'll be posting the issue here. I own a Maximus VII Gene running a 4790K and a GTX 770. The board uses a mix of Intel and ASMedia USB controllers, and so far (and surprisingly) only the ASMedia controller provides reliable USB 3.0 connections. I am not using the EHC controllers. I've looked into the new USB issue as the sticky says, and I'm completely stuck. My DSDT already uses the device name XHC instead of XHC1, but the Intel XHC device makes 6 out of 8 ports available, and all on USB 2.0 speeds. If the thread is right, it should have automatically detected all the ports and assigned USB 3.0 to the appropriate ports. This time I tried a dummy kext on SMBIOS iMac14,2. After figuring out which of the port devices are actually active, I used UsbTreeViewer on Windows, identified each port's device and edited Info.plist to match the DSDT. Right now XHC only has HS05, HS06, HS12 and HS14 available, none of which are working, and the remaining Intel ports are being picked up by EHC1. I've attached the dummy kext, ioreg and DSDT. Can you guys figure this out? Archive.zip
Hello! I recently bought the Gigabyte GA-Z87X-UD3H together with 16 GB ram and an i7 4770k with the intent of running Mavericks on it. I have previously been running OS X on my very old Asus P5Q E8400 for a while, so I did some research and this board seemed to be working well without a patched dsdt. I'd also had enough of Asus boards, which I've personally had very bad experiences with. And it did work well, until I tried my most demanded feature, sleep. Whenever I go to sleep, the computers wakes up within 1 second, then it comes on with no display. Unless I press a button thought, it tries to go to sleep again. If I at any point press a button, the display comes back and it exits the sleep/wake loop. Wake up reason is listed as XHC: kernel: Wake reason: XHC I have tried: Unplugging everything except monitor cable. This includes mouse, keyboard, ethernet. Still happens. When unplugging all I use sleep 5 && pmset sleepnow in terminal to trigger sleep without having usb gear connected. BIOS and OS X wake on lan is DISABLED. The other BIOS options are set as recommended by every other guide for this board (EHCI/XHCI handoff). I have tried BIOSes F7, F8 and newest beta F9b, same result. I have reinstalled several times. I have tried clean install with and without the third party USB3 support (GenericUSBXHCI 2.7.5 driver). Sleep does work in Windows 8. Any more tips for what I can try? Pasting logfiles: pmset logfile: Time stamp Domain Message Duration Delay ========== ====== ======= ======== ===== UUID: XXX 08/03/14 05:16:43 PST Sleep Software Sleep pid=84: Using AC 22 secs 08/03/14 05:16:48 PST SlowResponse PMConnection: Response from com.apple.apsd is slow (powercaps:0x0) 4374 ms 08/03/14 05:16:48 PST WakeRequests Clients requested wake events: None 08/03/14 05:17:05 PST Assertions PID 17(powerd) Created InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:00 id:0xe00000259 [System: BGTask SRPrevSleep kCPU] 08/03/14 05:17:05 PST DarkWake DarkWake [CDN] due to XHC/: Using AC 2 secs 08/03/14 05:17:05 PST SlowResponse Kernel: Response from powerd is slow (powercaps:0xf) 8010 ms 08/03/14 05:17:05 PST SlowResponse Kernel: Response from powerd is slow (powercaps:0x0) 4375 ms 08/03/14 05:17:05 PST Assertions PID 17(powerd) Created InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:00 id:0xe0000025a [System: BGTask SRPrevSleep kCPU] 08/03/14 05:17:07 PST Wake DarkWake to FullWake [CDNVA] due to HID Activity: Using AC 08/03/14 05:17:16 PST Assertions PID 17(powerd) Released InternalPreventSleep "PM configd - Wait for Device enumeration" 00:00:11 id:0xe00000259 [System: PushSrvc BGTask SRPrevSleep kCPU] 08/03/14 05:17:50 PST Assertions PID 17(powerd) TimedOut InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:45 id:0xe0000025a [System: BGTask SRPrevSleep kCPU] 08/03/14 05:17:50 PST Assertions PID 17(powerd) Released InternalPreventSleep "com.apple.powermanagement.acwakelinger" 00:00:45 id:0xe0000025a [System: BGTask SRPrevSleep kCPU] Total Sleep/Wakes since boot at 08/03/14 04:36:16 PST :7 Kernel Log: 08/03/14 05:48:27,000 kernel: Wake reason: XHC 08/03/14 05:48:31,000 kernel: RTC: PowerByCalendarDate setting ignored 08/03/14 05:48:31,000 kernel: RTC: PowerByCalendarDate setting ignored 08/03/14 05:48:31,000 kernel: Previous Sleep Cause: 5 08/03/14 05:48:31,000 kernel: USB (XHCI Root Hub USB 2.0 Simulation):Port 20 on bus 0xa connected or disconnected: portSC(0xf020340) 08/03/14 05:48:31,000 kernel: An Unknown USB Device (Port 5 of Hub at 0x15000000), may have caused a wake by being connected 08/03/14 05:48:35,000 kernel: AppleIntelE1000e(Info): e1000e NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx 08/03/14 05:49:31,000 kernel: Wake reason: XHC 08/03/14 05:49:31,000 kernel: RTC: PowerByCalendarDate setting ignored 08/03/14 05:49:31,000 kernel: RTC: PowerByCalendarDate setting ignored 08/03/14 05:49:31,000 kernel: Previous Sleep Cause: 5 08/03/14 05:49:31,000 kernel: USB (XHCI Root Hub USB 2.0 Simulation):Port 20 on bus 0xa connected or disconnected: portSC(0xf020340) 08/03/14 05:49:31,000 kernel: An Unknown USB Device (Port 5 of Hub at 0x15000000), may have caused a wake by being connected 08/03/14 05:49:32,000 kernel: full wake (reason 1) 1209 ms 08/03/14 05:49:34,000 kernel: AppleIntelE1000e(Info): e1000e NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx To me it looks like a USB device is waking the computer up again, but I have no usb devices attached. So could it be a faulty USB hub on the motherboard? I'm all out of ideas.