Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

Commit

Permalink
native intel NIC driver
Browse files Browse the repository at this point in the history
  • Loading branch information
cui authored and cui committed May 25, 2023
1 parent dd6eeef commit 14e4bad
Show file tree
Hide file tree
Showing 16 changed files with 504 additions and 256 deletions.
18 changes: 9 additions & 9 deletions EFI/OC/Kexts/AirportBrcmFixup.kext/Contents/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>20G624</string>
<string>21G419</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
Expand All @@ -17,31 +17,31 @@
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>2.1.6</string>
<string>2.1.7</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>2.1.6</string>
<string>2.1.7</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>13C100</string>
<string>13F100</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>12.1</string>
<string>12.3</string>
<key>DTSDKBuild</key>
<string>21C46</string>
<string>21E226</string>
<key>DTSDKName</key>
<string>macosx12.1</string>
<string>macosx12.3</string>
<key>DTXcode</key>
<string>1321</string>
<string>1341</string>
<key>DTXcodeBuild</key>
<string>13C100</string>
<string>13F100</string>
<key>IOKitPersonalities</key>
<dict>
<key>as.lvs1974.AirportBrcmFixup</key>
Expand Down
Binary file modified EFI/OC/Kexts/AirportBrcmFixup.kext/Contents/MacOS/AirportBrcmFixup
Binary file not shown.
98 changes: 98 additions & 0 deletions EFI/OC/Kexts/AppleIGC.kext/Contents/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>BuildMachineOSBuild</key>
<string>21G217</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>AppleIGC</string>
<key>CFBundleIdentifier</key>
<string>com.sxx.AppleIGC</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>AppleIGC</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.1d1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>14C18</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>13.1</string>
<key>DTSDKBuild</key>
<string>22C55</string>
<key>DTSDKName</key>
<string>macosx13.1</string>
<key>DTXcode</key>
<string>1420</string>
<key>DTXcodeBuild</key>
<string>14C18</string>
<key>IOKitPersonalities</key>
<dict>
<key>i225</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.sxx.AppleIGC</string>
<key>IOClass</key>
<string>AppleIGC</string>
<key>IOPCIMatch</key>
<string>0x15f28086 0x15f38086 0x15f88086</string>
<key>IOProbeScore</key>
<integer>4000</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>NETIF_F_TSO</key>
<true/>
</dict>
<key>i226</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.sxx.AppleIGC</string>
<key>IOClass</key>
<string>AppleIGC</string>
<key>IOPCIMatch</key>
<string>0x125c8086 0x125b8086 0x125d8086 0x31028086</string>
<key>IOProbeScore</key>
<integer>4000</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>NETIF_F_TSO</key>
<true/>
</dict>
</dict>
<key>LSMinimumSystemVersion</key>
<string>10.13</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IONetworkingFamily</key>
<string>1.5.0</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.7</string>
<key>com.apple.kpi.bsd</key>
<string>8.10.0</string>
<key>com.apple.kpi.iokit</key>
<string>8.10.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.10.0</string>
<key>com.apple.kpi.mach</key>
<string>8.10.0</string>
</dict>
<key>OSBundleRequired</key>
<string>Root</string>
</dict>
</plist>
Binary file not shown.
11 changes: 11 additions & 0 deletions EFI/OC/Kexts/AppleIGC.kext/Contents/Resources/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# AppleIGC

Intel 2.5G Ethernet driver for macOS. Based on the Intel igc implementation in Linux commit 0bf913e07b377cfc288cfe488ca30b7d67059d8a.

In theory, it will have better performance than the AppleEthernetE1000 driver implemented in user space. It's also more stable for me, since macOS Monterey's AppleEthernetE1000 on i226-V immediately causes a kernel panic.

Only test on macOS Monterey 12.6.1 with Intel i226-V for days.
It should work on other versions macOS and all igc compliant devices(i225, i226 and others) whose PCI id may not be filled in the IOPCIMatch. (You can fill it out yourself to test.) Use at your own risk.

## Known Issues
- Only work in auto-negotiation mode. "Force mode currently not supported." (from `igc_ethtool_set_link_ksettings()` in igc_ethtool.c)
132 changes: 132 additions & 0 deletions EFI/OC/Kexts/AppleIGC.kext/Contents/_CodeSignature/CodeResources
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/README.md</key>
<data>
QzQPGJBI4JtH9NOs5QR3nRKhCyg=
</data>
</dict>
<key>files2</key>
<dict>
<key>Resources/README.md</key>
<dict>
<key>hash</key>
<data>
QzQPGJBI4JtH9NOs5QR3nRKhCyg=
</data>
<key>hash2</key>
<data>
DSYqKvl1hlB/oAGG4uKyAMlbfMx8PxqBoLogsytSw4Q=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^Resources/</key>
<true/>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^.*</key>
<true/>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^Resources/.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^Resources/.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Resources/Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^[^/]+$</key>
<dict>
<key>nested</key>
<true/>
<key>weight</key>
<real>10</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
Loading

0 comments on commit 14e4bad

Please sign in to comment.