Contribute
Register

Intel Network adapters on OS X: Small Tree drivers

Joined
Apr 27, 2016
Messages
15
Motherboard
B360 AORUS GAMING 3 WIF
CPU
i7 8700
Graphics
RX480
Mac
  1. MacBook Air
  2. Mac Pro
Mobile Phone
  1. iOS
The ioreg image you show proves FakePCIID kexts are loading as expected.
Thank you, RehabMan.
I read the disscusion before carefully, I install the smallstree before FakePCIID.
Now, it works perfectly.
Thanks angin.
 

Attachments

  • 屏幕快照 2018-04-01 20.54.15.png
    屏幕快照 2018-04-01 20.54.15.png
    239.4 KB · Views: 378
  • 屏幕快照 2018-04-01 20.54.47.png
    屏幕快照 2018-04-01 20.54.47.png
    694.3 KB · Views: 344
Joined
Apr 7, 2018
Messages
19
Motherboard
X99-E-10G WS
CPU
i7-6950X
Graphics
GTX 1080 Ti
Mac
  1. Mac Pro
Mobile Phone
  1. Android
Greetings:



I am using a Asus X99-E-10G WS that has 2 Intel X550-AT2 10 Gigabit LAN



Installed in S/L/E (from https://bitbucket.org/RehabMan/os-x-fake-pci-id/downloads/, *2017-0527 version) FakePCIID.kext, FakePCIID_Intel_GbX.kext (edited Info.plist - IOPCIPrimaryMatch to include 0x15638086) and SmallTreeIntel8259x.kext attached to the beginning of this thread (edited Info.plist - IOPCIPrimaryMatch to include 0x15638086)



dpcimanager recognizes the two NIC as Vendor 8086, Device 1563, Sub Vendor 8086, Sub Dev 0000, when “clicked to find”, it points to FakePCIID in S/L/E



Attached is the .ioreg



About this Mac, System Report, Hardware, Ethernet Cards (no card installed), PCI (there was an error while gathering PCI device information)



sudo cat /var/log/system.log does not have any entry on FakePCI* or Small*



kextstat revealed one entry on FakePCIID

Me too,Is the problem solved?
 
Joined
Apr 7, 2018
Messages
19
Motherboard
X99-E-10G WS
CPU
i7-6950X
Graphics
GTX 1080 Ti
Mac
  1. Mac Pro
Mobile Phone
  1. Android
Did anyone ever try the drives from Small Tree for OS X?
They are officially linked from the Intel driver page.
https://downloadcenter.intel.com/Detail_Desc.aspx?ProductID=943&DwnldID=7852&lang=ENG&iid=dc_rss

The drivers can be found here:
http://www.small-tree.com/Articles.asp?ID=198

Supported devices for SmallTreeIntel8254x.kext:


  • 8086:1010 82546EB Gigabit Ethernet Controller (Copper)
  • 8086:1011 82545EM Gigabit Ethernet Controller (Fiber)
  • 8086:1012 82546EB Gigabit Ethernet Controller (Fiber)
  • 8086:101d 82546EB Gigabit Ethernet Controller
  • 8086:1026 82545GM Gigabit Ethernet Controller
  • 8086:1027 82545GM Gigabit Ethernet Controller
  • 8086:1028 82545GM Gigabit Ethernet Controller
  • 8086:105e 82571EB Gigabit Ethernet Controller (Also covered by AppleIntel8254XEthernet.kext)
  • 8086:105f 82571EB Gigabit Ethernet Controller
  • 8086:1079 82546GB Gigabit Ethernet Controller
  • 8086:107a 82546GB Gigabit Ethernet Controller
  • 8086:107b 82546GB Gigabit Ethernet Controller
  • 8086:107c 82541PI Gigabit Ethernet Controller
  • 8086:107d 82572EI Gigabit Ethernet Controller (Copper)
  • 8086:107e 82572EI Gigabit Ethernet Controller (Fiber)
  • 8086:10a4 82571EB Gigabit Ethernet Controller
  • 8086:10b5 82546GB Gigabit Ethernet Controller (Copper)
  • 8086:10b9 82572EI Gigabit Ethernet Controller (Copper)
  • 8086:10bc 82571EB Gigabit Ethernet Controller (Copper)

SmallTreeIntel82576.kext:


  • 8086:1521 I350 Gigabit Network Connection
  • 8086:1522 I350 Gigabit Fiber Network Connection
  • 8086:1533 I210 Gigabit Network Connection (Also covered by AppleIntelI210Ethernet.kext)

SmallTreeIntel8259x.kext:



  • 8086:10c6 82598EB 10-Gigabit AF Dual Port Network Connection
  • 8086:10c7 82598EB 10-Gigabit AF Network Connection
  • 8086:10c8 82598EB 10-Gigabit AT Network Connection
  • 8086:10ec 82598EB 10-Gigabit AT CX4 Network Connection
  • 8086:10d8 82599EB 10 Gigabit Network Connection
  • 8086:10fb 82599ES 10-Gigabit SFI/SFP+ Network Connection
  • 8086:10f1 82598EB 10-Gigabit AF Dual Port Network Connection
  • 8086:151c 82599 10 Gigabit TN Network Connection
  • 8086:150b 82598EB 10-Gigabit AT2 Server Adapter
  • 8086:1528 Ethernet Controller 10-Gigabit X540-AT2
  • 8086:10fc 82599 10 Gigabit Dual Port Network Connection
  • 8086:1560 Ethernet Controller X540

From what I read the Small Tree drivers verify if the Intel card is a "Small Tree Intel card".
This is most likely done using the subsystem-id and subsystem-vendor-id in the PCI configuration space, something which can now be spoof using FakePCIID.

Two questions need to be answered:

I hope someone with an Intel network adapter can pitch in here.

Note, I believe it should be possible to additional devices through plist or FakePCI injection.

Apple also includes a number of Intel ethernet kexts which might be spoofable:


  • AppleIntel8254XEthernet.kext
    • 8086:1096 80003ES2LAN Gigabit Ethernet Controller (Copper)
    • 8086:100f 82545EM Gigabit Ethernet Controller (Copper)
    • 8086:105e 82571EB Gigabit Ethernet Controller
  • AppleIntelI210Ethernet.kext
    • 8086:1533 I210 Gigabit Network Connection
  • Intel82574L.kext
    • 8086:104b 82566DC Gigabit Network Connection
    • 8086:10f6 82574L Gigabit Network Connection

0x15638086
X550-T2
SmallTreeIntel8259x-3.3.15

FakePCIID_Intel_GbX.kext & FakePCIID.kext & SmallTreeIntel8259x.kext in EFI\CLOVER\kexts\Other
driver controller : YES
status:cable unplugged
Untitled.jpeg.7d0c428c090097d882387559c4dfba43.jpeg


Code:
<?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>17A365</string>
 <key>CFBundleDevelopmentRegion</key>
 <string>English</string>
 <key>CFBundleExecutable</key>
 <string>SmallTreeIntel8259x</string>
 <key>CFBundleIdentifier</key>
 <string>com.SmallTree.driver.SmallTreeIntel8259x</string>
 <key>CFBundleInfoDictionaryVersion</key>
 <string>6.0</string>
 <key>CFBundleName</key>
 <string>SmallTreeIntel8259x</string>
 <key>CFBundlePackageType</key>
 <string>KEXT</string>
 <key>CFBundleSignature</key>
 <string>????</string>
 <key>CFBundleSupportedPlatforms</key>
 <array>
  <string>MacOSX</string>
 </array>
 <key>CFBundleVersion</key>
 <string>3.3.15</string>
 <key>DTCompiler</key>
 <string>com.apple.compilers.llvm.clang.1_0</string>
 <key>DTPlatformBuild</key>
 <string>9A235</string>
 <key>DTPlatformVersion</key>
 <string>GM</string>
 <key>DTSDKBuild</key>
 <string>17A360</string>
 <key>DTSDKName</key>
 <string>macosx10.13</string>
 <key>DTXcode</key>
 <string>0900</string>
 <key>DTXcodeBuild</key>
 <string>9A235</string>
 <key>IOKitPersonalities</key>
 <dict>
  <key>Intel8259x</key>
  <dict>
   <key>Boot Configuration</key>
   <dict>
    <key>Receive Side Coalescing Enabled</key>
    <true/>
    <key>RxRingSize</key>
    <integer>1024</integer>
    <key>Transport Segmentation Offload Enabled</key>
    <true/>
    <key>TxRingSize</key>
    <integer>1024</integer>
   </dict>
   <key>CFBundleIdentifier</key>
   <string>com.SmallTree.driver.SmallTreeIntel8259x</string>
   <key>IOClass</key>
   <string>SmallTreeIntel8259x</string>
   <key>IOPCIPauseCompatible</key>
   <true/>
   <key>IOPCIPrimaryMatch</key>
   <string>0x10c68086 0x10c78086 0x10c88086 0x10ec8086 0x10d88086 0x10fb8086 0x10f18086 0x151c8086 0x150b8086 0x15288086 0x10fc8086 0x15608086 0x15638086</string>
   <key>IOPCITunnelCompatible</key>
   <true/>
   <key>IOProviderClass</key>
   <string>IOPCIDevice</string>
   <key>IOResourceMatch</key>
   <string>IOBSD</string>
   <key>IOUserClientClass</key>
   <string>SmallTreeUserClient</string>
  </dict>
 </dict>
 <key>OSBundleLibraries</key>
 <dict>
  <key>com.apple.iokit.IONetworkingFamily</key>
  <string>1.8</string>
  <key>com.apple.iokit.IOPCIFamily</key>
  <string>2.6</string>
  <key>com.apple.kpi.bsd</key>
  <string>8.0</string>
  <key>com.apple.kpi.iokit</key>
  <string>7.0</string>
  <key>com.apple.kpi.libkern</key>
  <string>8.0</string>
  <key>com.apple.kpi.mach</key>
  <string>8.0</string>
 </dict>
 <key>OSBundleRequired</key>
 <string>Network-Root</string>
</dict>
</plist>

FakePCIID_Intel_GbX.kext :IOPCIPrimaryMatch 0x15638086

Code:
<?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>17C88</string>
    <key>CFBundleIdentifier</key>
    <string>org.rehabman.injector.FakePCIID-Intel-GbX</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>FakePCIID_Intel_GbX</string>
    <key>CFBundlePackageType</key>
    <string>KEXT</string>
    <key>CFBundleShortVersionString</key>
    <string>1.3.11</string>
    <key>CFBundleSupportedPlatforms</key>
    <array>
        <string>MacOSX</string>
    </array>
    <key>CFBundleVersion</key>
    <string>1.3.11</string>
    <key>DTCompiler</key>
    <string>com.apple.compilers.llvm.clang.1_0</string>
    <key>DTPlatformBuild</key>
    <string>9C40b</string>
    <key>DTPlatformVersion</key>
    <string>GM</string>
    <key>DTSDKBuild</key>
    <string>10M2518</string>
    <key>DTSDKName</key>
    <string>macosx10.6</string>
    <key>DTXcode</key>
    <string>0920</string>
    <key>DTXcodeBuild</key>
    <string>9C40b</string>
    <key>IOKitPersonalities</key>
    <dict>
        <key>Intel GbX</key>
        <dict>
            <key>CFBundleIdentifier</key>
            <string>org.rehabman.driver.FakePCIID</string>
            <key>FakeProperties</key>
            <dict>
                <key>RM,subsystem-id</key>
                <data>
                CgAAAA==
                </data>
            </dict>
            <key>IOClass</key>
            <string>FakePCIID</string>
            <key>IOMatchCategory</key>
            <string>FakePCIID</string>
            <key>IOPCIPrimaryMatch</key>
            <string>0x10c68086 0x10c78086 0x10c88086 0x10ec8086 0x10d88086 0x10fb8086 0x10f18086 0x151c8086 0x150b8086 0x15288086 0x10fc8086 0x15608086 0x15638086</string>
            <key>IOProviderClass</key>
            <string>IOPCIDevice</string>
        </dict>
    </dict>
    <key>OSBundleRequired</key>
    <string>Network-Root</string>
    <key>Source Code</key>
    <string>https://github.com/RehabMan/FakePCIID</string>
</dict>
</plist>
 

Attachments

  • SmallTreeIntel8259x.kext.zip
    91.2 KB · Views: 185
  • FakePCIID_3.zip
    104.3 KB · Views: 205
Last edited:
Joined
Apr 7, 2018
Messages
19
Motherboard
X99-E-10G WS
CPU
i7-6950X
Graphics
GTX 1080 Ti
Mac
  1. Mac Pro
Mobile Phone
  1. Android
FakePCIID_Intel_GbX.kext & FakePCIID.kext & SmallTreeIntel8259x.kext in L/E & S/L/E
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /
5acddb2a123db_1.jpeg.78966e732eb8d14e916281d375f65d8a.jpeg
 
Joined
Jan 17, 2012
Messages
149
Motherboard
X299-Gaming9,
CPU
i9-7900X
Graphics
TitanXp
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
  3. Other
I have read the 22 pages of this 2 rounds so far. Done my fair bit of trials with FakePCIID and Small tree drivers. I can see the card pop up in PCI devices but Smalltree drivers not loading up to my X540-T2.

Could someone please consolidate the process in a thread with directions to latest drivers? I feel sort of lost I think. Got my Asus XG-C100C working using the other thread regarding that model. I see that many have managed to get it working so I am thinking its me missing out some fine bit of details here nd there.

Is it not gonna work with X299 or High Sierra? Shud i try it on my non HighSierra boxes?


thanks
 
Joined
Jan 17, 2012
Messages
149
Motherboard
X299-Gaming9,
CPU
i9-7900X
Graphics
TitanXp
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
  3. Other
Ok update. I got it to work.

FakePCIID and FakePCIID_GbX goes into Library/Extentions and reboot
Small tree went into S/L/E and reboot with -f

done. its working. I was going around in circles for a while.

Thanks Rehabman and everyone else in this thread.
 
Joined
Apr 18, 2018
Messages
27
Motherboard
Gigabyte GA-Z170X Gaming 3
CPU
i7-6700K
Graphics
XFX Radeon VII
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Thanks @Squuiid
I was able to make this work with the same Intel NIC (X520-DA2). Only difference is that I'm using a real Mac Pro (2013) and the NIC is actually connected via Thunderbolt using the AKiTiO Thunder2 PCIe Box. So far this is the cheapest way of adding a 10Gbe NIC to a Mac.

@mjban I also have the AKiTiO Thunder2 10GbE NIC. I used it on my real MacBook Pro on 10.3.4 without issues, but have been unable to get it working on my hackintosh (I get a bogus MAC address of ff:ff:ff:ff:ff:ff after installing the drivers). The AKiTiO works perfectly on Windows 10 on the same machine. Not sure if the issue is my Thunderbolt implementation on the machine (GA-Z170X-Gaming 3 + GC-ALPINE-RIDGE v2), or the NIC under macOS on hackintosh. Have you tried to get this NIC working on your hackintosh?
 
Joined
Apr 18, 2018
Messages
27
Motherboard
Gigabyte GA-Z170X Gaming 3
CPU
i7-6700K
Graphics
XFX Radeon VII
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
@Squuiid Do you know if this flashing procedure you posted can work for X550AT-based Intel NICs, and if the SmallTree drivers can work with that chipset? From page 1 of this thread, it would appear not. I already have a StarTech ST10000SPEXI and would like to try to get it working on my hackintosh. If it's not possible, I guess I'll have to pickup an X540 card instead.
 
Last edited:
Top