Contribute
Register

Intel Network adapters on OS X: Small Tree drivers

Please add details of your motherboard (Mobo) to your profile (personal details).

astrajingga was last seen: Sep 26, 2017
ASUS x99-e-10G ws
X550-T2

2.jpeg.fc45785faf00f6fb7aadee094df83f3b.jpeg

5aca541ace624_.png.b0f5f6e795e06fed9943e41e5c06430c.png

https://www.insanelymac.com/forum/forums/topic/333735-helpx550-t2-lan-driver
 
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: 213
  • FakePCIID_3.zip
    104.3 KB · Views: 237
Last edited:
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
 
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
 
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.
 
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?
 
@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:
anyone with a i350 ports been able to use small tree drivers? if yes, how? thanks

edit:

I booted off a linux USB and I can see this info using lspci -nn -vvv

07.00.0 Ethernet Controller [0200]: Intel Corp i350 Gigabit Network Connection [8086:1521] (rev01)
Subsystem: Intel Corp i350 Gigabit Network Connection [8086:357e]
07.00.1 Ethernet Controller [0200]: Intel Corp i350 Gigabit Network Connection [8086:1521] (rev01)
Subsystem: Intel Corp i350 Gigabit Network Connection [8086:357e]
 
Last edited:
Hi, Could you share your smalltree kext? for some reason your solution doesn't work for me. (Intel I350)
Did you ever manage to get this working. Same here, stuck with I350. Tnx for your help
 
Back
Top