rpeshkov / IntelWifi

MacOS port of Intel Wireless Linux (IWL) Driver
239 stars 47 forks source link

Error IO80211Family #22

Open Detrous opened 4 years ago

Detrous commented 4 years ago

sudo kextutil IntelWifi.kext Password: Kext with invalid signature (-67050) allowed: <OSKext 0x7fc7f0c2e590 [0x7fff87e65090]> { URL = "file:///Users/detrous/ha/IntelWifi/IntelWifi.kext/", ID = "net.rpeshkov.IntelWifi" } /Users/detrous/ha/IntelWifi/IntelWifi.kext - no compatible dependency found for com.apple.iokit.IO80211Family. /Users/detrous/ha/IntelWifi/IntelWifi.kext - no compatible dependency found for com.apple.iokit.IO80211Family. /Users/detrous/ha/IntelWifi/IntelWifi.kext - no compatible dependency found for com.apple.iokit.IO80211Family. Code Signing Failure: code signature is invalid Dependency Resolution Failures: Only incompatible kexts found for these libraries: com.apple.iokit.IO80211Family

Diagnostics for /Users/detrous/ha/IntelWifi/IntelWifi.kext: Dependency Resolution Failures: Only incompatible kexts found for these libraries: com.apple.iokit.IO80211Family

Detrous commented 4 years ago

@Weddin maybe you can help ?

RTHPJM commented 4 years ago

I'm trying to compile on macOS Catalina 10.15.2 with Xcode 11.3. With two minor changes to the code, and updated OSBundleLibraries (Target Settings > Info panel (aka the Info.plist), I can get the kext to compile. However, it will not load due to missing symbols

# kextlibs -undef-symbols IntelWifi.kext
For all architectures: com.apple.iokit.IO80211Family = 1200.12.2b1 com.apple.iokit.IO80211FamilyV2 = 1200.12.2b1 com.apple.iokit.IONetworkingFamily = 3.4 com.apple.iokit.IOPCIFamily = 2.9 com.apple.kpi.bsd = 19.2 com.apple.kpi.iokit = 19.2 com.apple.kpi.libkern = 19.2 com.apple.kpi.mach = 19.2

For x86_64: 4 symbols not found in any library kext: ZN19IONetworkController29_RESERVEDIONetworkController5Ev __ZN19IONetworkController29_RESERVEDIONetworkController4Ev ZN19IONetworkController29_RESERVEDIONetworkController3Ev __ZN19IONetworkController29_RESERVEDIONetworkController2Ev Multiple symbols found among 1 libraries: com.apple.iokit.IO80211FamilyV2

Cleaning it up with c++filt shows # echo __ZN19IONetworkController29_RESERVEDIONetworkController5Ev | c++filt IONetworkController::_RESERVEDIONetworkController5()

I've tried installing the 10.12 SDK, and setting the SDK Root and Development target to 10.12 appropriately. Whilst it will compile the kext won't load either when linking to the kernel (which I why I amended to use 10.15...)

I cannot figure out what's missing so that the missing symbols will resolve

Let me know if I can help further....

P.S.

Other functions resolve successfully into /System/Library/Extensions/IONetworkingFamily.kext (3.4)

e.g. # nm /System/Library/Extensions/IONetworkingFamily.kext/Contents/MacOS/IONetworkingFamily | grep ZN19IONetworkController29_ 00000000000080ce T __ZN19IONetworkController29_RESERVEDIONetworkController6Ev 00000000000080e4 T ZN19IONetworkController29_RESERVEDIONetworkController7Ev 00000000000080fa T __ZN19IONetworkController29_RESERVEDIONetworkController8Ev 0000000000008110 T __ZN19IONetworkController29_RESERVEDIONetworkController9Ev