Jump to content

fusionIO IODrive2 on Yosemite - FakePCIID with custom Injector Kext needed?


fluxus123
 Share

3 posts in this topic

Recommended Posts

Hi everyone,

I have 3 working OS X's on my ASUS Z10PE-D8 WS Dual Xeon build. 

That is: ElCapitan & Sierra (both working flawlessly apart from audio, but HDA works, so thats fine) and now recently I installed Yosemite (bit laggy and sometimes hangs during boot with an IOUSBFamily error of BUS 14 already in use??). 

All three work with Clover however, which is great as they're all on a single drive.

The reason I installed Yosemite is because I bought a fusionIO card, for which the driver support stopped at Yosemite. clear.png In ElCapitan I get unresolved symbols/dependencies errors and the driver wouldn't load. I (and even SanDisk themselves) don't know if they will be supporting ElCapitan and later OS's, which is annoying. I know source code is available from SanDisk but I am not sure how much the source code needs changing before it can be recompiled for the 15.0 Darwin/XNU Kernel if this is at all possible? I am by no means a rootkit developer, so I wouldn't know if this is even a feasible route/starting point? 

If this is somehow possible it would mean I can ditch Yosemite again, which would be great as it runs laggy and Ethernet seems to be recognised but doesn't connect with self-assigned IP, so would be better if I could make it work on my smooth OS's (i.e. ElCapitan and later).

 

If the above is too complicated or not possible at all without putting in some serious work and having an advanced techy brain...Is there a way to make it work on Yosemite? Do I need to come up with a custom injector kext and use FakePCIID to get the card recognised properly?

Any help with this would be much appreciated. 

Thanks guys! And thanks for this great Forum!

Link to comment
Share on other sites

  • 2 months later...

Plenty of views, but no-one can suggest anything?

 

Maybe a little more detailed info of what is actually happening...

 

 

This is what happens in Terminal when I try to load the iomemory-vsl.kext

 

bash-3.2# kextutil iomemory-vsl.kext

Notice: /System/Library/Extensions/iomemory-vsl.kext has debug properties set.

Diagnostics for /System/Library/Extensions/iomemory-vsl.kext:

Code Signing Failure: not code signed

kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

kext signature failure override allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: The following symbols are unresolved for this kext:

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper11NewARTTableEyPPvPj

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper12FreeARTTableEP6OSDatay

(kernel) Can't load kext com.fusionio.driver.iomemory-vsl - link failed.

(kernel) Failed to load executable for kext com.fusionio.driver.iomemory-vsl.

(kernel) Kext com.fusionio.driver.iomemory-vsl failed to load (0xdc008016).

(kernel) Failed to load kext com.fusionio.driver.iomemory-vsl (error 0xdc008016).

Failed to load /System/Library/Extensions/iomemory-vsl.kext - (libkern/kext) link error.

Check library declarations for your kext with kextlibs(8).

 

bash-3.2# kextlibs iomemory-vsl.kext

For all architectures:

    com.apple.iokit.IOStorageFamily = 2.1

    com.apple.kpi.bsd = 16.4

    com.apple.kpi.iokit = 16.4

    com.apple.kpi.libkern = 16.4

    com.apple.kpi.mach = 16.4

 

For x86_64:

    13 symbols not found in any library kext.

 

bash-3.2# kextlibs -undef-symbols iomemory-vsl.kext

For all architectures:

    com.apple.iokit.IOStorageFamily = 2.1

    com.apple.kpi.bsd = 16.4

    com.apple.kpi.iokit = 16.4

    com.apple.kpi.libkern = 16.4

    com.apple.kpi.mach = 16.4

 

For x86_64:

    13 symbols not found in any library kext:

__ZN20IOBlockStorageDevice30_RESERVEDIOBlockStorageDevice3Ev

__ZN9IOStorage19_RESERVEDIOStorage3Ev

__ZN9IOStorage19_RESERVEDIOStorage2Ev

__ZN9IOStorage19_RESERVEDIOStorage1Ev

__ZN9IOStorage19_RESERVEDIOStorage4Ev

__ZN8IOMapper12FreeARTTableEP6OSDatay

__ZN8IOMapper11NewARTTableEyPPvPj

__ZN20IOBlockStorageDevice30_RESERVEDIOBlockStorageDevice1Ev

__ZN9IOService19_RESERVEDIOService1Ev

__ZN9IOService19_RESERVEDIOService0Ev

__ZN20IOBlockStorageDevice30_RESERVEDIOBlockStorageDevice2Ev

__ZN9IOStorage19_RESERVEDIOStorage6Ev

__ZN9IOStorage19_RESERVEDIOStorage5Ev

 
 
First question is, why does it only mention the 2 symbols when trying to load and then 13 symbols when using the undef-symbols option? Is it because they are the only 2 symbols "unresolved" while the other 11 are 'just' "undefined"?
 
What would be the best way to resolve those symbol issues? Would I need to modify my XNU kernel? I know the symbols exist in the Yosemite XNU kernel up to 14.5. From XNU 15.0 onwards they are missing
 
Or would the kext have to be re-compiled/re-written from source to work with the current XNU kernel (I am on 16.5 now since my first post)?
 
Any suggestions/comments on how to approach this or whther this is even doable/feasible would be greatly appreciated as I might just sell the card again.
 
Thanks a lot in advance!
Link to comment
Share on other sites

here is the verbose output

 

bash-3.2# kextutil -v 6 iomemory-vsl.kext

Kext user-space log filter changed from 0xff2 to 0xfff.

Kext kernel-space log filter changed from 0xff2 to 0xfff.

Kext library architecture set to x86_64.

Can't stat /AppleInternal - No such file or directory.

Defaulting to kernel file '/System/Library/Kernels/kernel'

Kext library recording diagnostics for: validation authentication dependencies warnings.

Notice: /System/Library/Extensions/iomemory-vsl.kext has debug properties set.

Diagnostics for /System/Library/Extensions/iomemory-vsl.kext:

Code Signing Failure: not code signed

/System/Library/Extensions/iomemory-vsl.kext appears to be loadable (not including linkage for on-disk libraries).

Reading loaded kext info from kernel.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received 'Get Loaded Kext Info' request from user space.

(kernel) Returning loaded kext info.

Loaded kext info:

{

}

 

kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

kext signature failure override allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext "/System/Library/Extensions/iomemory-vsl.kext"

Reading loaded kext info from kernel.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received 'Get Loaded Kext Info' request from user space.

(kernel) Returning loaded kext info.

Loaded kext info:

{

}

 

Loading /System/Library/Extensions/iomemory-vsl.kext.

Reading load info for 9 kexts.

Reading loaded kext info from kernel.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received 'Get Loaded Kext Info' request from user space.

(kernel) Returning loaded kext info.

Loaded kext info:

{

"com.apple.kpi.mach" = {

    "OSBundleWiredSize" = 15824

    "CFBundleIdentifier" = "com.apple.kpi.mach"

    "OSBundleUUID" = <2a128386 c5354026 b9d7e91d 3360cef4>

    "OSBundleLoadAddress" = -551892811776

    "OSBundleLoadTag" = 5

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0d0"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = "/System/Library/Extensions/System.kext/PlugIns/Mach.kext"

    "OSBundleRetainCount" = 107

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 15824

}

"com.apple.kpi.libkern" = {

    "OSBundleWiredSize" = 53760

    "CFBundleIdentifier" = "com.apple.kpi.libkern"

    "OSBundleUUID" = <677b5452 b29443d3 a562f135 02c04c54>

    "OSBundleLoadAddress" = -551892656128

    "OSBundleLoadTag" = 4

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0d0"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/Libkern.kext"

    "OSBundleRetainCount" = 125

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 53760

}

"com.apple.kpi.bsd" = {

    "OSBundleWiredSize" = 40240

    "CFBundleIdentifier" = "com.apple.kpi.bsd"

    "OSBundleUUID" = <548007fe b2174499 8640238b c24f4a17>

    "OSBundleLoadAddress" = -551892525056

    "OSBundleLoadTag" = 1

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0b1"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext"

    "OSBundleRetainCount" = 87

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 40240

}

"com.apple.iokit.IOPCIFamily" = {

    "OSBundleWiredSize" = 237568

    "CFBundleIdentifier" = "com.apple.iokit.IOPCIFamily"

    "OSBundleStarted" = true

    "OSBundleCPUType" = 16777223

    "OSBundleCompatibleVersion" = "1.0.0b1"

    "OSBundleUUID" = <57960dc6 409931bc 9b4752cd 647779c7>

    "OSKernelResource" = false

    "CFBundleVersion" = "2.9"

    "OSBundleLoadTag" = 12

    "OSBundleLoadAddress" = -551891558400

    "OSBundleDependencies" = (

        4

        5

        3

        7

        6

    )

    "OSBundlePath" = "/System/Library/Extensions/IOPCIFamily.kext"

    "OSBundleRetainCount" = 34

    "OSBundleCPUSubtype" = 3

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = false

    "OSBundleLoadSize" = 237568

}

"com.apple.kpi.iokit" = {

    "OSBundleWiredSize" = 135232

    "CFBundleIdentifier" = "com.apple.kpi.iokit"

    "OSBundleUUID" = <ea3a39ee 499f44c3 88f2334f eb308226>

    "OSBundleLoadAddress" = -551892795392

    "OSBundleLoadTag" = 3

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "7.0"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/IOKit.kext"

    "OSBundleRetainCount" = 117

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 135232

}

"com.apple.kpi.unsupported" = {

    "OSBundleWiredSize" = 22672

    "CFBundleIdentifier" = "com.apple.kpi.unsupported"

    "OSBundleUUID" = <c8c39c9e 83fe4274 ba909535 845eff9c>

    "OSBundleLoadAddress" = -551892549632

    "OSBundleLoadTag" = 7

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0b1"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext"

    "OSBundleRetainCount" = 81

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 22672

}

"com.apple.kpi.private" = {

    "OSBundleWiredSize" = 47632

    "CFBundleIdentifier" = "com.apple.kpi.private"

    "OSBundleUUID" = <f8c31c2f 28314680 90df97a2 ea6de9f0>

    "OSBundleLoadAddress" = -551892598784

    "OSBundleLoadTag" = 6

    "OSBundleStarted" = true

    "OSBundleCompatibleVersion" = "8.0.0b1"

    "OSKernelResource" = true

    "CFBundleVersion" = "16.4.0"

    "OSBundlePath" = 

        "/System/Library/Extensions/System.kext/PlugIns/Private.kext"

    "OSBundleRetainCount" = 55

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = true

    "OSBundleLoadSize" = 47632

}

"com.apple.iokit.IOStorageFamily" = {

    "OSBundleWiredSize" = 192512

    "CFBundleIdentifier" = "com.apple.iokit.IOStorageFamily"

    "OSBundleStarted" = true

    "OSBundleCPUType" = 16777223

    "OSBundleCompatibleVersion" = "1.0"

    "OSBundleUUID" = <3238c6a2 a948378e 9c533883 089c1b52>

    "OSKernelResource" = false

    "CFBundleVersion" = "2.1"

    "OSBundleLoadTag" = 16

    "OSBundleLoadAddress" = -551892484096

    "OSBundleDependencies" = (

        1

        4

        3

        7

        6

        5

    )

    "OSBundlePath" = "/System/Library/Extensions/IOStorageFamily.kext"

    "OSBundleRetainCount" = 5

    "OSBundleCPUSubtype" = 3

    "OSBundlePrelinked" = true

    "OSBundleIsInterface" = false

    "OSBundleLoadSize" = 192512

}

}

 

/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 16.4, UUID 548007FE-B217-4499-8640-238BC24F4A17) is loaded.

/System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext to 0xffffff7f80a46000

/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 16.4, UUID 677B5452-B294-43D3-A562-F13502C04C54) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Libkern.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Libkern.kext to 0xffffff7f80a26000

/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 16.4, UUID 2A128386-C535-4026-B9D7-E91D3360CEF4) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Mach.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Mach.kext to 0xffffff7f80a00000

/System/Library/Extensions/IOStorageFamily.kext (version 2.1, UUID 3238C6A2-A948-378E-9C53-3883089C1B52) is loaded.

/System/Library/Extensions/IOStorageFamily.kext (version 2.1): is started.

setting load address of /System/Library/Extensions/IOStorageFamily.kext to 0xffffff7f80a50000

/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 16.4, UUID EA3A39EE-499F-44C3-88F2-334FEB308226) is loaded.

/System/Library/Extensions/System.kext/PlugIns/IOKit.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/IOKit.kext to 0xffffff7f80a04000

/System/Library/Extensions/IOPCIFamily.kext (version 2.9, UUID 57960DC6-4099-31BC-9B47-52CD647779C7) is loaded.

/System/Library/Extensions/IOPCIFamily.kext (version 2.9): is started.

setting load address of /System/Library/Extensions/IOPCIFamily.kext to 0xffffff7f80b32000

/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 16.4, UUID F8C31C2F-2831-4680-90DF-97A2EA6DE9F0) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Private.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Private.kext to 0xffffff7f80a34000

/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 16.4, UUID C8C39C9E-83FE-4274-BA90-9535845EFF9C) is loaded.

/System/Library/Extensions/System.kext/PlugIns/Unsupported.kext (version 16.4): is started.

setting load address of /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext to 0xffffff7f80a40000

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/BSDKernel.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Libkern.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Mach.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Private.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/Unsupported.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/System.kext/PlugIns/IOKit.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/IOStorageFamily.kext from mkext for kernel load.

Omitting loaded kext /System/Library/Extensions/IOPCIFamily.kext from mkext for kernel load.

Adding /System/Library/Extensions/iomemory-vsl.kext to mkext.

/System/Library/Extensions/iomemory-vsl.kext added 1266256-byte noncompressed executable to mkext.

Created mkext for architecture x86_64 containing 1 kexts.

Loading /System/Library/Extensions/iomemory-vsl.kext.

(kernel) User-space log flags changed from 0x0 to 0xfff.

(kernel) Received kext load request from user space.

(kernel) Received request from user space to load kext com.fusionio.driver.iomemory-vsl.

(kernel) Loading kext com.fusionio.driver.iomemory-vsl.

(kernel) Kext com.apple.kpi.bsd is already loaded.

(kernel) Kext com.apple.kpi.libkern is already loaded.

(kernel) Kext com.apple.kpi.mach is already loaded.

(kernel) Kext com.apple.iokit.IOStorageFamily is already loaded.

(kernel) Kext com.apple.iokit.IOStorageFamily sending 6 personalities to the IOCatalogue and starting matching.

(kernel) Kext com.apple.kpi.iokit is already loaded.

(kernel) Kext com.apple.iokit.IOPCIFamily is already loaded.

(kernel) Kext com.apple.iokit.IOPCIFamily sending 3 personalities to the IOCatalogue and starting matching.

(kernel) Allocated link buffer for kext com.fusionio.driver.iomemory-vsl at 0xffffff7f82ee4000 (1265664 bytes).

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: The following symbols are unresolved for this kext:

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper11NewARTTableEyPPvPj

(kernel) kxld[com.fusionio.driver.iomemory-vsl]: __ZN8IOMapper12FreeARTTableEP6OSDatay

(kernel) Can't load kext com.fusionio.driver.iomemory-vsl - link failed.

(kernel) Failed to load executable for kext com.fusionio.driver.iomemory-vsl.

(kernel) Kext com.fusionio.driver.iomemory-vsl failed to load (0xdc008016).

(kernel) Failed to load kext com.fusionio.driver.iomemory-vsl (error 0xdc008016).

(kernel) Kext com.fusionio.driver.iomemory-vsl removing all personalities naming it from the IOCatalogue.

Kernel error handling kext request - (libkern/kext) link error.

Failed to load /System/Library/Extensions/iomemory-vsl.kext - (libkern/kext) link error.

Failed to load /System/Library/Extensions/iomemory-vsl.kext - (libkern/kext) link error.

Check library declarations for your kext with kextlibs(8).

Link to comment
Share on other sites

 Share

×
×
  • Create New...