Jump to content
122 posts in this topic

Recommended Posts

I decided to mod the latest IOUSBFamily sources.
I modified AppleUSBEHCI for sleep and legacy support.
I modifiied AppleUSBOHCI and AppleUSBUHCI for sleep support.
I modified AppleUSBXHCI for all XHCI controllers supported and now also for sleep support.
I added the Slice errata fix list for IOUSBFamily.

Please test and report back, I'm sure you'll like it.
Source is included in diff form.
I also built USB prober my own way to debug the USB3 parts.

Enjoy... :D

EDIT: One more fix applied: Sleep fix for USB3... V2... ;)
EDIT2: Little change, it didn't work right so I used the original IOUSBFamily with only AppleUSBXHCI, AppleUSBEHCI, AppleUSBOHCI and AppleUSBUHCI kext plugins replaced.
This one works right, just tested...

EDIT3: I implemented controller reset and USB bus restart on wake.
I also changed it to 1 primary interrupter (can be set to 2 interrupters in the Info.plist).
You can set the interrupter type to MSI or legacy (can be set in the Info.plist).
All options are toggeable in the Info.plist of AppleUSBXHCI.
If somebody could test this with the controllers, especially sleep...

EDIT4: I changed the sleep code so it uses the reset option not to save the state of the USB3 registers.
In this case it will not restore them but just reinitialize the USB3 on wake.
I also changed the sleep code to not save and restore the second interrupter in case UseSingleInt is set (little fix).

EDIT5: New version with new PM support.
I modified some of the power management code from GenericUSBXHCI in order to work with AppleUSBXHCI.
The result is SRE support and fixed sleep for all USB3 cards.
There is still the option to use the standard sleep code by setting ResetControllerFix to false (/ NO)...

Thus now we have several Info.plist options for AppleUSBXHCI:
ResetControllerFix = Use new sleep code (default: YES)
SleepFix = Set PM card always builtin and allow sleep (default: YES)
UseSingleInt = Use single interrupter instead of 2 (default: YES)
UseLegacyInt = Use legacy interrupts for cards that aren't by default in the errata list (default: NO)

EDIT6: Some more modifications.
Improved PM code some more, now sets the property for controller reset in case of the new NoSleepForced is set to YES, otherwise value for controller reset will be NO.
Added Info.plist option for forcing sleep to unsupported (for controller unload).
The NoSleepForced key in the Info.plist controls this... (default: NO)
Added USB3 legacy support (and BIOS ownership taking).

EDIT7: More mods but this time to AppleUSBEHCI, AppleUSBOHCI and AppleUSBUHCI.
Sleep fix made and applied for AppleUSBUHCI.kext
Sleep support improved for AppleUSBOHCI and AppleUSBEHCI
Now deep sleep with PCI power management works for the OHCI and EHCI controllers.

 

EDIT8: More fixes to errata and option to always force legacy interrupts (even on Intel / etc...)

UseLegacyInt in the Info.plist controls this.

Some minor bug fixes...

 

EDIT9: New diff. (V10 patch)

This version can build a mostly working IOUSBFamily.

2 issues remain.

- HandleLinkState only crudely implemented (but seems to work)

- IsPortMuxed is implemented but the underlying ACPI method doesn't work yet (don't know for which ACPI method to check, etc)

 

 

EDIT10: Add AppleUSBXHCI from Slice and update the diff with the one made by Slice

A lot of thanks go to Slice for improving the driver (e.g. better check for multiplexed controller, etc...)

I did some more compile fixes as needed on my machine.

The IOUSBFamily is now also built with clang 4.1 (Apple LLVM compiler 4.1)

Again, big thx to Slice for the new fixes.

It's full custom IOUSBFamily so it should work optimized...

 

EDIT11: V12: Removed errata for Intel Panther Point from IOUSBController's errata and upped the current to Intel Panther Point standards in AppleUSBXHCI...

 

EDIT12: V12 for Intel... mostly works still power issues with USB2 devices on USB3...

USB Prober.zip

IOUSBFamily-10.8.4-V9.zip

IOUSBFamily-560.4.2-AnV_V10.diff.zip

IOUSBFamily-560.4.2-Slice-AnV-V12.diff.zip

IOUSBFamily-Slice-AnV-V12.zip

IOUSBFamily-Slice-AnV-V12-Intel.zip

  • Like 15

don´t load the kext for me, and not work any port USB IN 10.8.4, installed with Kext Wizard and repairPermissions/RebuildCaches but not load

 

my actual version:            

com.apple.iokit.IOUSBFamily          5.6.0      /System/Library/Extensions/IOUSBFamily.kext 

 

 

 

don´t load the kext for me, and not work any port USB IN 10.8.4, installed with Kext Wizard and repairPermissions/RebuildCaches but not load

 

my actual version:            

com.apple.iokit.IOUSBFamily          5.6.0      /System/Library/Extensions/IOUSBFamily.kext 

 

 

Aug 17 14:09:17 localhost bootlog[0]: BOOT_TIME 1376741357 0
Aug 17 14:09:18 localhost kernel[0]: Darwin Kernel Version 12.4.0: Wed May  1 17:57:12 PDT 2013; *patched-2050.24.15~1/RELEASE_X86_64
Aug 17 14:09:18 localhost kernel[0]: vm_page_bootstrap: 2021201 free pages and 59567 wired pages
Aug 17 14:09:18 localhost kernel[0]: kext submap [0xffffff7f80737000 - 0xffffff8000000000], kernel text [0xffffff8000200000 - 0xffffff8000737000]
Aug 17 14:09:18 localhost kernel[0]: zone leak detection enabled
Aug 17 14:09:18 localhost kernel[0]: standard timeslicing quantum is 10000 us
Aug 17 14:09:18 localhost kernel[0]: standard background quantum is 2500 us
Aug 17 14:09:18 localhost kernel[0]: mig_table_max_displ = 74
Aug 17 14:09:18 localhost kernel[0]: corecrypto kext started!
Aug 17 14:09:18 localhost kernel[0]: Running kernel space in FIPS MODE
Aug 17 14:09:18 localhost kernel[0]: Plist hmac value is    735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
Aug 17 14:09:18 localhost kernel[0]: Computed hmac value is 735d392b68241ef173d81097b1c8ce9ba283521626d1c973ac376838c466757d
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS integrity POST test passed!
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS AES CBC POST test passed!
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS TDES CBC POST test passed!
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS SHA POST test passed!
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS HMAC POST test passed!
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS ECDSA POST test passed!
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS DRBG POST test passed!
Aug 17 14:09:18 localhost kernel[0]: corecrypto.kext FIPS POST passed!
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=0 LocalApicId=0 Enabled
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=1 LocalApicId=2 Enabled
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=2 LocalApicId=4 Enabled
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=3 LocalApicId=6 Enabled
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=4 LocalApicId=1 Enabled
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=5 LocalApicId=3 Enabled
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=6 LocalApicId=5 Enabled
Aug 17 14:09:18 localhost kernel[0]: AppleACPICPU: ProcessorId=7 LocalApicId=7 Enabled
Aug 17 14:09:18 localhost kernel[0]: calling mpo_policy_init for Sandbox
Aug 17 14:09:17 localhost com.apple.launchd[1]: *** launchd[1] has started up. ***
Aug 17 14:09:18 localhost kernel[0]: Security policy loaded: Seatbelt sandbox policy (Sandbox)
Aug 17 14:09:18 localhost kernel[0]: calling mpo_policy_init for Quarantine
Aug 17 14:09:18 localhost kernel[0]: Security policy loaded: Quarantine policy (Quarantine)
Aug 17 14:09:18 localhost kernel[0]: calling mpo_policy_init for TMSafetyNet
Aug 17 14:09:18 localhost kernel[0]: Security policy loaded: Safety net for Time Machine (TMSafetyNet)
Aug 17 14:09:18 localhost kernel[0]: Copyright (c) 1982, 1986, 1989, 1991, 1993
Aug 17 14:09:18 localhost kernel[0]: The Regents of the University of California. All rights reserved.
Aug 17 14:09:18 localhost kernel[0]: MAC Framework successfully initialized
Aug 17 14:09:18 localhost kernel[0]: using 16384 buffer headers and 10240 cluster IO buffer headers
Aug 17 14:09:18 localhost kernel[0]: waitForSystemMapper
Aug 17 14:09:18 localhost kernel[0]: Backtrace 0xffffff800064ba7f 0xffffff800064c45f 0xffffff7f808ba06b 0xffffff7f808e9cb3 0xffffff7f808e6e94 0xffffff7f808e6daa 0xffffff7f808b816a
Aug 17 14:09:18 localhost kernel[0]: Kernel Extensions in backtrace:
Aug 17 14:09:18 localhost kernel[0]: com.apple.iokit.IOAudioFamily(1.8.9f11)[AB8DD2DD-43BD-3B7B-95F7-26E6E0BBF339]@0xffffff7f808b4000->0xffffff7f808e5fff
Aug 17 14:09:18 localhost kernel[0]: dependency: com.apple.kext.OSvKernDSPLib(1.6)[E29D4200-5C5A-3A05-8A28-D3E26A985478]@0xffffff7f808ad000
Aug 17 14:09:18 localhost kernel[0]: net.telestream.driver.TelestreamAudio(1.1)[EEF9313A-72D9-F5C7-7408-F1F8F3E37A2C]@0xffffff7f808e6000->0xffffff7f808f8fff
Aug 17 14:09:18 localhost kernel[0]: dependency: com.apple.iokit.IOAudioFamily(1.8.9fc11)[AB8DD2DD-43BD-3B7B-95F7-26E6E0BBF339]@0xffffff7f808b4000
Aug 17 14:09:18 localhost kernel[0]: IOAPIC: Version 0x20 Vectors 64:87
Aug 17 14:09:18 localhost kernel[0]: ACPI: System State [S0 S3 S4 S5]
Aug 17 14:09:18 localhost kernel[0]: PFM64 (36 cpu) 0xf80000000, 0x80000000
Aug 17 14:09:18 localhost kernel[0]: [ PCI configuration begin ]
Aug 17 14:09:18 localhost kernel[0]: PCI configuration changed (bridge=2 device=0 cardbus=0)
Aug 17 14:09:18 localhost kernel[0]: [ PCI configuration end, bridges 8 devices 28 ]
Aug 17 14:09:18 localhost kernel[0]: RTC: Only single RAM bank (128 bytes)
Aug 17 14:09:18 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 1145
Aug 17 14:09:18 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 23:03:24 Jun 24 2012) initialization complete
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AudioAUUC - library kext com.apple.iokit.IOGraphicsFamily not found.
Aug 17 14:09:18 localhost kernel[0]: Can't load kext com.apple.driver.AudioAUUC - failed to resolve library dependencies.
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AudioAUUC failed to load (0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: Failed to load kext com.apple.driver.AudioAUUC (error 0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleHDAController - library kext com.apple.iokit.IOGraphicsFamily not found.Couldn't alloc class "AudioAUUCDriver"
Aug 17 14:09:18 localhost kernel[0]: Can't load kext com.apple.driver.AppleHDAController - failed to resolve library dependencies.
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleHDAController failed to load (0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: Failed to load kext com.apple.driver.AppleHDAController (error 0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: Couldn't alloc class "AppleHDAController"
Aug 17 14:09:18 localhost kernel[0]: SuperIODevice: found ITE IT8720F on port=0x2e address=0x290
Aug 17 14:09:18 localhost kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: The following symbols are unresolved for this kext:
Aug 17 14:09:18 localhost kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: __ZN17IOUSBControllerV313GetErrataBitsEttt
Aug 17 14:09:18 localhost kernel[0]: Can't load kext com.apple.iokit.IOUSBFamily - link failed.
Aug 17 14:09:18 localhost kernel[0]: Failed to load executable for kext com.apple.iokit.IOUSBFamily.
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.iokit.IOUSBFamily failed to load (0xdc008016).
Aug 17 14:09:18 localhost kernel[0]: Dependency com.apple.iokit.IOUSBFamily of kext com.apple.driver.AppleUSBUHCI failed to load.
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBUHCI failed to load (0xdc008015).
Aug 17 14:09:18 localhost kernel[0]: Failed to load kext com.apple.driver.AppleUSBUHCI (error 0xdc008015).
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBUHCI might not load - kextd is currently unavailable.Couldn't alloc class "AppleUSBUHCI"
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBUHCI might not load - kextd is currently unavailable.
Aug 17 14:09:19 --- last message repeated 2 times ---
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBEHCI - library kext com.apple.iokit.IOUSBFamily not found.
Aug 17 14:09:18 localhost kernel[0]: Can't load kext com.apple.driver.AppleUSBEHCI - failed to resolve library dependencies.
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBEHCI failed to load (0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: Failed to load kext com.apple.driver.AppleUSBEHCI (error 0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBUHCI might not load - kextd is currently unavailable.Couldn't alloc class "AppleUSBEHCI"
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBUHCI might not load - kextd is currently unavailable.
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.driver.AppleUSBEHCI might not load - kextd is currently unavailable.HWSensors Project Copyright 2012 netkas, slice, usr-sse2, kozlek, navi, THe KiNG. All rights reserved.
Aug 17 14:09:18 localhost kernel[0]: FakeSMCDevice: 22 preconfigured key(s) added
Aug 17 14:09:18 localhost kernel[0]: SMC: successfully initialized
Aug 17 14:09:18 localhost kernel[0]: CPUSensors: CPU family 0x6, model 0x1e, stepping 0x5, cores 4, threads 8, TJmax 99
Aug 17 14:09:18 localhost kernel[0]: IT87xMonitor: started
Aug 17 14:09:18 localhost kernel[0]: mbinit: done [96 MB total pool size, (64/32) split]
Aug 17 14:09:18 localhost kernel[0]: Pthread support ABORTS when sync kernel primitives misusedKext com.apple.iokit.IOAcceleratorFamily - library kext com.apple.iokit.IOGraphicsFamily not found.
Aug 17 14:09:18 localhost kernel[0]: Can't load kext com.apple.AMDRadeonAccelerator - failed to resolve library dependencies.
Aug 17 14:09:18 localhost kernel[0]: Kext com.apple.AMDRadeonAccelerator failed to load (0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: Failed to load kext com.apple.AMDRadeonAccelerator (error 0xdc00800e).
Aug 17 14:09:18 localhost kernel[0]: [:init] RealtekRTL81xxx.kext v0.0.67 (c)2010 by Lnx2Mac (lnx2mac@gmail.com)
Aug 17 14:09:19 --- last message repeated 1 time ---
Aug 17 14:09:18 localhost kernel[0]: rooting via boot-uuid from /chosen: 66C25517-A9BF-3681-93B9-66A38CB828FD
Aug 17 14:09:18 localhost kernel[0]: Couldn't alloc class "AMDJuniperGraphicsAccelerator"
Aug 17 14:09:17 localhost com.apple.launchd[1]: *** Verbose boot, will log to /dev/console. ***
Aug 17 14:09:18 localhost kernel[0]: RadeonMonitor: found ATI Radeon 68b8
Aug 17 14:09:18 localhost kernel[0]: com.apple.AppleFSCompressionTypeDataless kmod start
Aug 17 14:09:17 localhost com.apple.launchd[1]: *** Shutdown logging is enabled. ***
Aug 17 14:09:18 localhost kernel[0]: FireWire runtime power conservation disabled. (2)
Aug 17 14:09:18 localhost kernel[0]: com.apple.AppleFSCompressionTypeZlib kmod start
Aug 17 14:09:18 localhost com.apple.launchd[1] (com.apple.automountd): Unknown key for boolean: NSSupportsSuddenTermination
Aug 17 14:09:18 localhost kernel[0]: com.apple.AppleFSCompressionTypeDataless load succeeded
Aug 17 14:09:18 localhost kernel[0]: com.apple.AppleFSCompressionTypeZlib load succeeded
Aug 17 14:09:18 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready
Aug 17 14:09:18 localhost kernel[0]: Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict>
Aug 17 14:09:18 localhost kernel[0]: Got boot device = IOService:/AppleACPIPlatformExpert/PCI0/AppleACPIPCI/SATA@1F,2/AppleIntelPchSeriesAHCI/PRIM@0/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/INTEL SSDSA2M040G2GC Media/IOGUIDPartitionScheme/LION@2
Aug 17 14:09:18 localhost kernel[0]: BSD root: disk0s2, major 1, minor 2
Aug 17 14:09:18 localhost kernel[0]: FireWire (OHCI) TI ID 8024 PCI now active, GUID 007ac8360000241d; max speed s400.
Aug 17 14:09:18 localhost kernel[0]: Kernel is LP64
Aug 17 14:09:18 localhost kernel[0]: RealtekRTL81xxx.kext: NIC identified as RTL8168D/8111D (mcfg=18)
Aug 17 14:09:19 --- last message repeated 1 time ---
Aug 17 14:09:18 localhost com.apple.kextd[14]: Cache file /System/Library/Caches/com.apple.kext.caches/Directories/System/Library/Extensions/KextIdentifiers.plist.gz is out of date; not using.
Aug 17 14:09:19 localhost configd[20]: skipped com.unsanity.apeconfig (not allowed)
Aug 17 14:09:19 localhost distnoted[21]: # distnote server daemon  absolute time: 4.541675535   civil time: Sat Aug 17 14:09:19 2013   pid: 21 uid: 0  root: yes
Aug 17 14:09:21 localhost com.apple.kextd[14]: Cache file /System/Library/Caches/com.apple.kext.caches/Startup/IOKitPersonalities_x86_64.ioplist.gz is out of date; not using.
Aug 17 14:09:21 localhost kernel[0]: HFS: Low Disk: Vol: Macintosh HD  freeblks: 261943, warninglimit: 262144
Aug 17 14:09:21 localhost kernel[0]: HFS: Vol: Macintosh HD  Very Low Disk: freeblks: 131009, dangerlimit: 131072
Aug 17 14:09:21 localhost com.apple.SecurityServer[18]: Session 100000 created
Aug 17 14:09:21 Alan-Pc.local configd[20]: setting hostname to "Alan-Pc.local"
Aug 17 14:09:21 Alan-Pc.local configd[20]: network changed.
Aug 17 14:09:21 Alan-Pc.local com.apple.SecurityServer[18]: Entering service
Aug 17 14:09:22 Alan-Pc.local UserEventAgent[13]: Captive: [mySCCopyWiFiDevices:162] WiFi Device Name == NULL
Aug 17 14:09:22 Alan-Pc.local com.apple.SecurityServer[18]: Succeeded authorizing right 'com.apple.ServiceManagement.daemons.modify' by client '/usr/libexec/UserEventAgent' [13] for authorization created by '/usr/libexec/UserEventAgent' [13] (100012,0)
Aug 17 14:09:23 Alan-Pc com.apple.launchd[1] (com.nvram.root[85]): Exited with code: 1
Aug 17 14:09:23 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: The following symbols are unresolved for this kext:macx_swapon SUCCESS
Aug 17 14:09:23 Alan-Pc.local hidd[72]: Posting 'com.apple.iokit.hid.displayStatus' notifyState=1
Aug 17 14:09:23 Alan-Pc.local hidd[72]: void __IOHIDLoadBundles(): Loaded 0 HID plugins
Aug 17 14:09:23 Alan-Pc.local revisiond[59]: Had metainfo
Aug 17 14:09:23 Alan-Pc.local revisiond[59]: UUIDs match!
Aug 17 14:09:23 Alan-Pc.local mDNSResponder[65]: mDNSResponder mDNSResponder-379.38.1 (Apr 25 2013 19:19:56) starting OSXVers 12
Aug 17 14:09:23 Alan-Pc.local appleeventsd[77]: main: Starting up
Aug 17 14:09:23 Alan-Pc.local revisiond[59]: Had metainfo
Aug 17 14:09:23 Alan-Pc.local revisiond[59]: UUIDs match!
Aug 17 14:09:24 Alan-Pc.local com.apple.usbmuxd[52]: usbmuxd-296.4 on Dec 21 2012 at 16:11:14, running 64 bit
Aug 17 14:09:24 Alan-Pc.local apsd[83]: CGSLookupServerRootPort: Failed to look up the port for "com.apple.windowserver.active" (1102)
Aug 17 14:09:24 --- last message repeated 1 time ---
Aug 17 14:09:24 Alan-Pc.local coreservicesd[44]: FindBestLSSession(), no match for inSessionID 0xfffffffffffffffc auditTokenInfo( uid=0 euid=0 auSessionID=100000 create=false
Aug 17 14:09:24 Alan-Pc.local awacsd[81]: Starting awacsd connectivity-78.3 (Apr 25 2013 19:22:44)
Aug 17 14:09:24 Alan-Pc.local awacsd[81]: InnerStore CopyAllZones: no info in Dynamic Store
Aug 17 14:09:24 Alan-Pc.local locationd[69]: Incorrect NSStringEncoding value 0x8000100 detected. Assuming NSASCIIStringEncoding. Will stop this compatiblity mapping behavior in the near future.
Aug 17 14:09:24 Alan-Pc.local systemkeychain[93]: done file: /var/run/systemkeychaincheck.done
Aug 17 14:09:24 Alan-Pc kernel[0]: Waiting for DSMOS...
Aug 17 14:09:24 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: __ZN17IOUSBControllerV313GetErrataBitsEttt
Aug 17 14:09:24 Alan-Pc kernel[0]: Can't load kext com.apple.iokit.IOUSBFamily - link failed.
Aug 17 14:09:24 Alan-Pc kernel[0]: Failed to load executable for kext com.apple.iokit.IOUSBFamily.
Aug 17 14:09:24 Alan-Pc kernel[0]: Kext com.apple.iokit.IOUSBFamily failed to load (0xdc008016).
Aug 17 14:09:24 Alan-Pc kernel[0]: Dependency com.apple.iokit.IOUSBFamily of kext com.apple.driver.AppleUSBUHCI failed to load.
Aug 17 14:09:24 Alan-Pc kernel[0]: Kext com.apple.driver.AppleUSBUHCI failed to load (0xdc008015).
Aug 17 14:09:24 Alan-Pc kernel[0]: Failed to load kext com.apple.driver.AppleUSBUHCI (error 0xdc008015).
Aug 17 14:09:24 Alan-Pc.local configd[20]: network changed: DNS*
Aug 17 14:09:24 Alan-Pc.local mDNSResponder[65]: D2D_IPC: Loaded
Aug 17 14:09:24 Alan-Pc.local mDNSResponder[65]: D2DInitialize succeeded
Aug 17 14:09:24 Alan-Pc.local com.apple.kextd[14]: Failed to load AppleUSBUHCI.kext - (libkern/kext) dependency load failed.
Aug 17 14:09:24 Alan-Pc.local com.apple.kextd[14]: Load com.apple.driver.AppleUSBUHCI failed; removing personalities from kernel.
Aug 17 14:09:24 Alan-Pc.local locationd[69]: NOTICE,Location icon should now be in state 0
Aug 17 14:09:24 Alan-Pc.local locationd[69]: locationd was started after an unclean shutdown
Aug 17 14:09:24 Alan-Pc kernel[0]: Kext load request buffer from user space still retained by a kext; probable memory leak.
Aug 17 14:09:24 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: The following symbols are unresolved for this kext:
Aug 17 14:09:24 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: __ZN17IOUSBControllerV313GetErrataBitsEttt
Aug 17 14:09:24 Alan-Pc kernel[0]: Can't load kext com.apple.iokit.IOUSBFamily - link failed.
Aug 17 14:09:24 Alan-Pc kernel[0]: Failed to load executable for kext com.apple.iokit.IOUSBFamily.
Aug 17 14:09:24 Alan-Pc kernel[0]: Kext com.apple.iokit.IOUSBFamily failed to load (0xdc008016).
Aug 17 14:09:24 Alan-Pc kernel[0]: Dependency com.apple.iokit.IOUSBFamily of kext com.apple.driver.AppleUSBEHCI failed to load.
Aug 17 14:09:24 Alan-Pc.local com.apple.kextd[14]: Failed to load AppleUSBEHCI.kext - (libkern/kext) dependency load failed.
Aug 17 14:09:24 Alan-Pc.local com.apple.kextd[14]: Load com.apple.driver.AppleUSBEHCI failed; removing personalities from kernel.
Aug 17 14:09:24 Alan-Pc kernel[0]: Kext com.apple.driver.AppleUSBEHCI failed to load (0xdc008015).
Aug 17 14:09:24 Alan-Pc kernel[0]: Failed to load kext com.apple.driver.AppleUSBEHCI (error 0xdc008015).
Aug 17 14:09:24 Alan-Pc kernel[0]: Kext load request buffer from user space still retained by a kext; probable memory leak.
Aug 17 14:09:24 Alan-Pc kernel[0]: Previous Shutdown Cause: 0
Aug 17 14:09:25 Alan-Pc.local KernelEventAgent[70]: tid 00000000 received event(s) VQ_LOWDISK (4)
Aug 17 14:09:25 Alan-Pc.local KernelEventAgent[70]: tid 00000000 type 'hfs', mounted on '/', from '/dev/disk0s2', low disk
Aug 17 14:09:25 Alan-Pc.local KernelEventAgent[70]: tid 00000001 display_lowdisk_warning: generating lowdisk warning for volume 'Macintosh HD '
Aug 17 14:09:25 Alan-Pc.local KernelEventAgent[70]: tid 00000000 found 1 filesystem(s) with problem(s)
Aug 17 14:09:25 Alan-Pc.local KernelEventAgent[70]: tid 00000000 received event(s) VQ_LOWDISK, VQ_VERYLOWDISK (516)
Aug 17 14:09:25 Alan-Pc.local KernelEventAgent[70]: tid 00000000 type 'hfs', mounted on '/', from '/dev/disk0s2', low disk, very low disk
Aug 17 14:09:25 Alan-Pc kernel[0]: HFS: Low Disk: Vol: Macintosh HD  freeblks: 261974, warninglimit: 262144
Aug 17 14:09:25 Alan-Pc kernel[0]: HFS: Vol: Macintosh HD  Very Low Disk: freeblks: 131005, dangerlimit: 131072
Aug 17 14:09:25 Alan-Pc.local iStatLocalDaemon[87]: Waiting for connections on port 5204.
Aug 17 14:09:25 Alan-Pc kernel[0]: fsevents: watcher AppCleaner Daemo (pid: 86) - Using /dev/fsevents directly is unsupported.  Migrate to FSEventsFramework
Aug 17 14:09:26 Alan-Pc kernel[0]: HFS: Low Disk: Vol: Macintosh HD  freeblks: 261975, warninglimit: 262144
Aug 17 14:09:26 Alan-Pc kernel[0]: HFS: Vol: Macintosh HD  Very Low Disk: freeblks: 131045, dangerlimit: 131072
Aug 17 14:09:27 Alan-Pc.local UserEventAgent[13]: Captive: [mySCCopyWiFiDevices:162] WiFi Device Name == NULL
Aug 17 14:09:27 Alan-Pc kernel[0]: com_lnx2mac_RealtekRTL81xx: Ethernet address 00:24:1d:7f:53:7c
Aug 17 14:09:28 Alan-Pc kernel[0]: com_lnx2mac_RealtekRTL81xx: Ethernet address 00:24:1d:7f:53:7e
Aug 17 14:09:30 Alan-Pc kernel[0]: [AGPM Controller] unknownPlatform
Aug 17 14:09:30 Alan-Pc.local com.apple.kextd[14]: Failed to load IOBluetoothFamily.kext - (libkern/kext) dependency load failed.
Aug 17 14:09:30 Alan-Pc.local com.apple.kextd[14]: Load com.apple.iokit.IOBluetoothFamily failed; removing personalities from kernel.
Aug 17 14:09:30 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: The following symbols are unresolved for this kext:
Aug 17 14:09:30 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: __ZN17IOUSBControllerV313GetErrataBitsEttt
Aug 17 14:09:30 Alan-Pc kernel[0]: Can't load kext com.apple.iokit.IOUSBFamily - link failed.
Aug 17 14:09:30 Alan-Pc kernel[0]: Failed to load executable for kext com.apple.iokit.IOUSBFamily.
Aug 17 14:09:30 Alan-Pc kernel[0]: Kext com.apple.iokit.IOUSBFamily failed to load (0xdc008016).
Aug 17 14:09:30 Alan-Pc kernel[0]: Dependency com.apple.iokit.IOUSBFamily of kext com.apple.iokit.IOBluetoothFamily failed to load.
Aug 17 14:09:30 Alan-Pc kernel[0]: Kext com.apple.iokit.IOBluetoothFamily failed to load (0xdc008015).
Aug 17 14:09:30 Alan-Pc kernel[0]: Failed to load kext com.apple.iokit.IOBluetoothFamily (error 0xdc008015).
Aug 17 14:09:30 Alan-Pc kernel[0]: Kext load request buffer from user space still retained by a kext; probable memory leak.
Aug 17 14:09:30 Alan-Pc.local com.apple.kextd[14]: Failed to load IOBluetoothFamily.kext - (libkern/kext) dependency load failed.
Aug 17 14:09:30 Alan-Pc.local com.apple.kextd[14]: Load com.apple.iokit.IOBluetoothFamily failed; removing personalities from kernel.
Aug 17 14:09:30 Alan-Pc.local loginwindow[68]: Login Window Application Started
Aug 17 14:09:30 Alan-Pc.local mds[64]: (Normal) FMW: FMW 0 0
Aug 17 14:09:30 Alan-Pc.local WindowServer[111]: Server is starting up
Aug 17 14:09:31 Alan-Pc.local mds[64]: (/.Spotlight-V100/Store-V2/E32423F2-4A8F-49F0-A3FD-0D834E5A7BD6)(Error) IndexCI in TermUpdateSetRef TermUpdateSetRestore(store_stream_t *, ProgressCallback, void *, DocID, uint32_t, uint32_t, uint32_t):invalid store version 10, expected 8 or 7
Aug 17 14:09:31 Alan-Pc.local mds[64]: (/.Spotlight-V100/Store-V2/E32423F2-4A8F-49F0-A3FD-0D834E5A7BD6)(Error) IndexState in int _SIOpenIndexFilesWithState(SIRef, uint32_t, _Bool, _Bool, _Bool, _Bool *, DocID *, CIDocCounts *):ContentIndexOpenBulk err:-1
Aug 17 14:09:31 Alan-Pc.local mds[64]: (/.Spotlight-V100/Store-V2/E32423F2-4A8F-49F0-A3FD-0D834E5A7BD6)(Warning) IndexState in int _SIOpenIndexFilesWithState(SIRef, uint32_t, _Bool, _Bool, _Bool, _Bool *, DocID *, CIDocCounts *):open from fast flush failed:-1
Aug 17 14:09:31 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: The following symbols are unresolved for this kext:
Aug 17 14:09:31 Alan-Pc kernel[0]: kxld[com.apple.iokit.IOUSBFamily]: __ZN17IOUSBControllerV313GetErrataBitsEttt
Aug 17 14:09:31 Alan-Pc kernel[0]: Can't load kext com.apple.iokit.IOUSBFamily - link failed.
Aug 17 14:09:31 Alan-Pc kernel[0]: Failed to load executable for kext com.apple.iokit.IOUSBFamily.
Aug 17 14:09:31 Alan-Pc kernel[0]: Kext com.apple.iokit.IOUSBFamily failed to load (0xdc008016).
Aug 17 14:09:31 Alan-Pc kernel[0]: Dependency com.apple.iokit.IOUSBFamily of kext com.apple.iokit.IOBluetoothFamily failed to load.
Aug 17 14:09:31 Alan-Pc kernel[0]: Kext com.apple.iokit.IOBluetoothFamily failed to load (0xdc008015).
Aug 17 14:09:31 Alan-Pc kernel[0]: Failed to load kext com.apple.iokit.IOBluetoothFamily (error 0xdc008015).
Aug 17 14:09:31 Alan-Pc kernel[0]: Kext load request buffer from user space still retained by a kext; probable memory leak.
Aug 17 14:09:31 Alan-Pc kernel[0]: DSMOS has arrived
Aug 17 14:09:31 Alan-Pc kernel[0]: AMDJuniperGraphicsAccelerator: ** Device in slot: SLOT--1 **

I just fixed that.

Use the V3 zip from above... ;)

hello Andy

 

nice work like always comming from u...

 

can be used in 10.9 ?

 

all the best

Probably: Yes, but untested...

Anybody with a non-standard supported USB3 controller?

Could such a person test and report on the working of the AppleUSBXHCI.kext?

I need verification of mods... :)

Hi Andy. I tried it on my Z68 board. It has the ASM1042. The ports show up in System Profiler but none of the attached devices. I use a DSDT edit to change the vendor/device IDs of the 1042 so it can use unmodified CalDigit or Oyen drivers. I also tried rolling back to the original IOUSBFamily kext with just the new XHCI kext but the results were the same.

 

Update: I removed the DSDT edits but still no change. The ports appear but none of the attached devices.

 

w1f6.png

Anybody with a non-standard supported USB3 controller?

Could such a person test and report on the working of the AppleUSBXHCI.kext?

I need verification of mods... :)

I just tried AppleUSBXHCI on my gigabyte mb with etron ej168 usb3. This fixed my usb3 device sleep behavior vs using a binary patched AppleUSBXHCI.

HOWEVER, I then let my system go idle for a minute or so and then the usb3 ejected instead of spinning down, and my kernel logged:

Aug 17 11:52:38 hostname kernel[0]: [0xffffff8011444000](0)/(5) Device not responding
Aug 17 11:52:38 hostname kernel[0]: disk1s3: device/channel is not attached.
Aug 17 11:52:38 --- last message repeated 1 time ---
Aug 17 11:52:38 hostname kernel[0]:
Aug 17 11:52:38 --- last message repeated 3 times ---
Aug 17 11:52:38 hostname kernel[0]: jnl: disk1s3: do_jnl_io: strategy err 0x6
Aug 17 11:52:38 hostname kernel[0]: jnl: disk1s3: write_journal_header: error writing the journal header!
Aug 17 11:52:38 hostname kernel[0]: disk1s3: media is not present.
I only replaced the AppleUSBXHCI plugin, not the whole bundle.

Update: It's not an issue with disksleep. Disksleep is set to 10 minutes. The disk is ejecting improperly about 1 minute after a resume from suspend. Looks like the key event I missed was:

 

Aug 17 11:51:28 hostname kernel[0]: IOUSBMassStorageClass::setPowerState(0xffffff8011444000, 0 -> 1) timed out after 101610 ms

 

and the disk is ejecting improperly 1 minute after that.

Update: It's not an issue with disksleep. Disksleep is set to 10 minutes. The disk is ejecting improperly about 1 minute after a resume from suspend. Looks like the key event I missed was:

 

Aug 17 11:51:28 hostname kernel[0]: IOUSBMassStorageClass::setPowerState(0xffffff8011444000, 0 -> 1) timed out after 101610 ms

 

and the disk is ejecting improperly 1 minute after that.

Could you test this version AppleUSBXHCI?

Also check for any messages related to AppleUSBXHCI...

EDIT: I think I found it... give me a minute...

 

 

    if(_lostRegisterAccess)

    {

        return(kIOReturnNotResponding);

    }

 
...
 
Try this one, I removed the not responding returns from the sleep states and stuff.
It should now work with that controller.
Please test and let me know...
EDIT2: I made one with the returns but with new PM flag set.
Try this one first...

AppleUSBXHCI.kext.zip

AppleUSBXHCI_NewPM.zip

Ok, I downloaded the NewPM version, and tried that. Fails the same way.

Aug 17 15:10:01 hostname kernel[0]: Wake reason: PXSX (Network)
Aug 17 15:10:01 hostname kernel[0]: RTC: PowerByCalendarDate setting ignored
Aug 17 15:10:01 hostname kernel[0]: Previous Sleep Cause: 5
Aug 17 15:10:09 hostname kernel[0]: considerRebuildOfPrelinkedKernel com.apple.driver.AppleUSBCDC triggered rebuild
Aug 17 15:10:09 hostname kernel[0]: HID tickle 8569 ms
Aug 17 15:10:09 hostname.local configd[17]: network changed: v4(en0-:192.168.1.10) DNS- Proxy- SMB
...
Aug 17 15:11:43 hostname kernel[0]: IOUSBMassStorageClass::setPowerState(0xffffff8011395400, 0 -> 1) timed out after 101584 ms
Aug 17 15:12:19 hostname.local com.apple.SecurityServer[15]: Succeeded authorizing right 'system.hdd.smart' by client '/System/Library/CoreServices/SystemUIServer.app' [182] for authorization created by '/System/Library/CoreServices/SystemUIServer.app' [182] (B,0)
Aug 17 15:12:49 --- last message repeated 1 time ---
Aug 17 15:12:53 hostname kernel[0]: [0xffffff8011395400](0)/(5) Device not responding
Aug 17 15:12:53 hostname kernel[0]: disk1s3: device/channel is not attached.
Aug 17 15:12:53 hostname kernel[0]: disk1s2: device/channel is not attached.
Edit: Same result with the other experimental version as well.

Note that disk I/O to the mounted partitions works before&after the setPowerState() timeout.

How can i know if USB 3 works well

 

I have intel USB 3 (chipset serie 7 for laptop), i plug my iphone into usb 3 port and it works well.

Intel will always work fine....

I know because I have Intel USB3 myself.

Any chance to get that AppleUSBXHCI.kext working with Fresco Logic FL1000G USB3.0 Controller? Just tried to install and doesnt work for me.

Actually using GenericUSBXHCI.kext from post: http://www.insanelymac.com/forum/topic/286860-genericusbxhci-usb-30-driver-for-os-x-with-source/ which works fine till sleep. After wake stops working.

Hi Andy, any word on full usb3 sleep support for non-intel chip? I thought the point of building AppleUSBXHCI from source was to make this work. I assume you've read zenith432's posts concerning the issues with waking from suspend in the context of the binary-only AppleUSBXHCI driver:

http://www.insanelymac.com/forum/topic/285157-patched-appleusbxhci-from-os-1082/page-2?do=findComment&comment=1878236

as well as some subsequent posts.

Seems this should be relatively easy to nail now that we have source.

Hi Andy, any word on full usb3 sleep support for non-intel chip? I thought the point of building AppleUSBXHCI from source was to make this work. I assume you've read zenith432's posts concerning the issues with waking from suspend in the context of the binary-only AppleUSBXHCI driver:

http://www.insanelymac.com/forum/topic/285157-patched-appleusbxhci-from-os-1082/page-2?do=findComment&comment=1878236

as well as some subsequent posts.

Seems this should be relatively easy to nail now that we have source.

Well, the issue of MSI interrupts was fixed by using legacy interrupts.

As for the ring buffer restore, this still happens.

I should add code to reset the controller on wake after restore.

I'll look into it.

Thanks for the info btw ;)

EDIT: Apparently I need to add the 10014 hex patch.

By the description of the other patches, they are allready applied in some way.

I'd need a diff of an otool disassembled file of the patched xhci and original xhci kext binary as well as a otool disassembly text file of the patched kext.

Update: It's not an issue with disksleep. Disksleep is set to 10 minutes. The disk is ejecting improperly about 1 minute after a resume from suspend. Looks like the key event I missed was:

 

Aug 17 11:51:28 hostname kernel[0]: IOUSBMassStorageClass::setPowerState(0xffffff8011444000, 0 -> 1) timed out after 101610 ms

 

and the disk is ejecting improperly 1 minute after that.

I modified the sleep code.

Now it stops the bus, resets the controller and restart the usb bus.

It should now work just fine.

EDIT: New version.

This one has the option to just reinitialize the USB3 controller without state saving and resuming.

This should thus fix that little issue...

 

Thanks Andy, but no luck on ASMedia controller on ASRock Z77E-ITX motherboard on Mountain Lion 10.8.4. What should I do to provide issues report?

 

 

 

Did not work for me,
My controller is a Asmedia 1042.

 

 

 

Any chance to get that AppleUSBXHCI.kext working with Fresco Logic FL1000G USB3.0 Controller? Just tried to install and doesnt work for me.

 

Actually using GenericUSBXHCI.kext from post: http://www.insanelymac.com/forum/topic/286860-genericusbxhci-usb-30-driver-for-os-x-with-source/ which works fine till sleep. After wake stops working.

Could you guys test the new version?

It uses MSI interrupts (which are faster) by default on a single interrupter instead of 2.

It seems this was the issue.

Sleep should be fixed too as it doesn't restore the registers, it stops, resets and restarts the USB bus...

 

EDIT: New version.

This one has the option to just reinitialize the USB3 controller without state saving and resuming.

I modified some of the power management code from GenericUSBXHCI in order to work with AppleUSBXHCI.

The result is SRE support and fixed sleep for all USB3 cards.

There is still the option to use the standard sleep code by setting ResetControllerFix to false (/ NO)...

 

Thus now we have several Info.plist options for AppleUSBXHCI:

ResetControllerFix = Use new sleep code (default: YES)

SleepFix = Set PM card always builtin and allow sleep (default: YES)

UseSingleInt = Use single interrupter instead of 2 (default: YES)

UseLegacyInt = Use legacy interrupts for cards that aren't by default in the errata list (default: NO)

 

Somebody with a non-standard recognized USB3 controller, could you test the sleep and report back please?

I also added Doze support for Intel Panther Point.

On my card the new sleep code works fine so I'm curious for the other chipsets.

 

 

EDIT: Some more modifications.

Improved PM code some more, now sets the property for controller reset in case of the new NoSleepForced is set to YES, otherwise value for controller reset will be NO.

Added Info.plist option for forcing sleep to unsupported (for controller unload).

The NoSleepForced key in the Info.plist controls this... (default: NO)

Added USB3 legacy support (and BIOS ownership taking).

Latest version is thus V7.

Please test and report back (I need feedback).

Just did a little test on the legacy fix by turning on USB3 legacy support and by copying 2 large ISO files to my Medion Drive-N-Go USB3 HD.

I captured it in quicktime and added it to Youtube...

 

 

It really goes super fast now.

Also tested the new PM.

Now the devices plugged into the USB3 port will be suspended completely (power off and on wake back on and recover).


New version V8:

 

More mods but this time to AppleUSBEHCI, AppleUSBOHCI and AppleUSBUHCI.

Sleep fix made and applied for AppleUSBUHCI.kext

Sleep support improved for AppleUSBOHCI and AppleUSBEHCI

Now deep sleep with PCI power management works for the OHCI and EHCI controllers.

  • Like 1

Hi Andy, I tried your v5 and v8 versions with my  ej168 usb3.  v5 failed just like earlier versions with the  setPowerState() timeout message and the disk ejecting 1 minute later.

v8 had the same timeout message, but adds 1 more error and then I don't see the disk eject.  So it seems to work; but are those errors expected at this point?  With v8 (no Info.plist changes):

Aug 29 18:13:04 hostname kernel[0]: Wake reason: PXSX (Network)
Aug 29 18:14:45 hostname kernel[0]: IOUSBMassStorageClass::setPowerState(0xffffff8011365000, 0 -> 1) timed out after 101437 ms
Aug 29 18:15:13 hostname kernel[0]: USBF: 193.703 The USB Family found a device at  port 1 of hub @ 0xfc800000 with a bad USB device descriptor (0x300011203000112, 0x300011203000112 )

 

Now works for my chip Asmedia1042.
 
Great job Andy!  :thumbsup_anim:
Edit: unfortunately I was wrong I had a Genericxhci installed
still not working. :(

 

Try V9 which I've just uploaded.

It has support for any asmedia chip... (errata present)

 

 

Hi Andy, I tried your v5 and v8 versions with my  ej168 usb3.  v5 failed just like earlier versions with the  setPowerState() timeout message and the disk ejecting 1 minute later.

v8 had the same timeout message, but adds 1 more error and then I don't see the disk eject.  So it seems to work; but are those errors expected at this point?  With v8 (no Info.plist changes):

Aug 29 18:13:04 hostname kernel[0]: Wake reason: PXSX (Network)
Aug 29 18:14:45 hostname kernel[0]: IOUSBMassStorageClass::setPowerState(0xffffff8011365000, 0 -> 1) timed out after 101437 ms
Aug 29 18:15:13 hostname kernel[0]: USBF: 193.703 The USB Family found a device at  port 1 of hub @ 0xfc800000 with a bad USB device descriptor (0x300011203000112, 0x300011203000112 )

The second is the reenumeration of the USB port...

I added this to be able to recover from these errors.

So the powerstate fails and next the USB3 driver does exactly what it should: recover from the problem (which is a start).

The second is part of AppleUSBHub

			// No error, but let's validate the bMaxPacketSize0
			if ( (_desc.bMaxPacketSize0 < 8) ||  (_desc.bMaxPacketSize0 > 64 ) )
			{
				// The USB descriptor is not right.  Don't even retry
				USBError(1, "The USB Family found a device at  port %d of hub @ 0x%x with a bad USB device descriptor (0x%qx, 0x%qx )", (uint32_t)_portNum, (uint32_t)_hub->_locationID, * (uint64_t *)(&_desc), * (uint64_t *)(&_desc.idVendor));
				USBTrace( kUSBTHubPort,  kTPHubPortGetDevZeroDescriptorWithRetries, (uintptr_t)this, _portNum, _hub->_locationID, 6 );
				retries = 0;
				err = kIOReturnDeviceError;
				break;
			}
			

I think the new version will fix this, test it please ;)

 

As for ASM1042: I noticed in GenericUSBXHCI that it uses 32bit registers instead of 64bit ones.

This will need more work...

×
×
  • Create New...