Contribute
Register

Intel Network adapters on OS X: Small Tree drivers

Hey Guys, i tried the FakePCIID route (FakePCIID_Intel_GbX.kext, FakePCIID.kext, SmallTreeIntel8259x.kext) to get an Intel X540-T2 card to work. But i am stuck at the point that the interfaces do not show up in the network utility. I can choose to add the interfaces, but then nothing happens.

In the system information utility i get this in the PCI Tab for the two connections...

Hersteller-ID: 0x8086

Geräte-ID: 0x1528

Subsystem-Hersteller-ID: 0x8086


which is good i guess, but there are no drivers installed. When i look them up in the DCPIManager it tells me that the AppleIntelE100e, FakePCIID_Intel_GbX (two times) are loaded. Also when i do

sudo kextstat | grep SmallTree

i get no results.
So it seems that the smalltree kext was not loaded?

UPDATE:

I tried the EPROM Modify Way an it worked fine. I can confirm the Intel X540-T2 in the Atikio Thunder3 Enclosure with the Smalltree driver works. The offset was 0x048e (01 -> 0a) and 0x048f (00 -> 00).
 
Last edited:
Hello,
Did any of you with a i350-T2 succeeded in using the SmallTree drivers?
I managed to set the correct subsystem ID using ethtool, but the drivers don't recognize the card with the error:
kernel[0]: SmallTreeIntel82576 b4d0f0: Invalid EEPROM 0x000a 0x1521 0xffff 0xffff
kernel[0]: SmallTreeIntel82576 b4d0f1: Invalid EEPROM 0x000a 0x1521 0xffff 0xffff

My guess is that those extra 0xffff could refer to the OEM specific words available in the i350 eeprom (words 0x06, 0x07).
Thanks

Edit:
The kext evaluates two word values for each network port (located in some "reserved" areas of the eeprom).
If anyone needs them, please PM me. I did some reverse engineering of the kext code and came up with a program that calculates these values.

Hi Bubez, I would be certainly interested in the words required in the eeprom, because I calso get the same message :
SmallTreeIntel82576 b13d0f0: Invalid EEPROM 0x000a 0x1521 0xffff 0xffff

Bubez: Care to elaborate any more on the findings for the EEPROM error? I do not have enough posts to PM.

I am getting a similar error to yours with my Intel Pro/1000 PT Quad 82571GB card (0x10a4) after flashing the subsystem id. The card still works correctly in Ubuntu, but gives the following error on boot in OS X:

Nov 24 12:21:52 xserve1 kernel[0]: b5d0f0 probe: Invalid EEPROM 0x000a 0x10a4 0xfb78 0xffff
Nov 24 12:21:52 xserve1 kernel[0]: b4d0f0 probe: Invalid EEPROM 0x000a 0x10a4 0xfb78 0xffff
Nov 24 12:21:53 xserve1 kernel[0]: b4d0f1 probe: Invalid EEPROM 0x000a 0x10a4 0xfb78 0xffff
Nov 24 12:21:54 xserve1 kernel[0]: b5d0f1 probe: Invalid EEPROM 0x000a 0x10a4 0xfb78 0xffff

SmallTree driver does not load by default, and gives no warnings or errors when manually loaded.

System profiler shows:

ethernet:
Type: Ethernet Controller
Driver Installed: No
MSI: No
Bus: PCI
Slot: Slot-2@5,0,1
Vendor ID: 0x8086
Device ID: 0x10a4
Subsystem Vendor ID: 0x8086
Subsystem ID: 0x000a
Revision ID: 0x0006
Link Width: x4
Link Speed: 2.5 GT/s

(plus three more for the other ports - 4 port card)

@bubez: Mind posting the script you wrote?
 
Hey guys, I might need some help with this as well. When I ran lspci I got the following instead:

Code:
07:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:105e] (rev 06)
07:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:105e] (rev 06)

The Vendor and Device ID is there but not the Subsystem Vendor or Device ID? This is for a HP NC360T but it is essentially a rebrand of the Intel Pro / 1000 PT Dual Gigabit card.

Thanks!
 
Never really used much of Linux before but after some reading, I figured out what grep is used for. Turns out it was the grep Ethernet parameter which was my issue before as the Subsystem line did not have 'Ethernet' in it.

Anyway, I have another Intel 4 port NIC and I was able to successfully update the Subsystem Vendor ID but the card wasn't picked up by the driver. I thought I would try another approach by changing the System ID to 8086:105e from 8086:10bc (the 105e gets picked up in Sierra and applies the AppleIntel1000e.kext) but for some odd reason, only 2 of the 4 eth ports were updated. When I ran ethtool -e again, the updated offsets are correct however running lspci, the System ID did not change for 2 of the ports.

Any thoughts?
 
Hey guys, I might need some help with this as well. When I ran lspci I got the following instead:

Code:
07:00.0 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:105e] (rev 06)
07:00.1 Ethernet controller [0200]: Intel Corporation 82571EB Gigabit Ethernet Controller [8086:105e] (rev 06)

The Vendor and Device ID is there but not the Subsystem Vendor or Device ID? This is for a HP NC360T but it is essentially a rebrand of the Intel Pro / 1000 PT Dual Gigabit card.

Thanks!

82571EB will work with the AppleIntelE1000e. I have one in my macOS Server which works fine.
 
82571EB will work with the AppleIntelE1000e. I have one in my macOS Server which works fine.

Hey VioletDragon, thanks for your reply! Out of curiosity which NIC are you using?

I actually have 3 NICs altogether. I have the HP NC360T, Intel Pro 1000 PT Quad and a rebranded HP Quad, all of which use the same 82571EB chip. I have tried all variants of hnak's kexts but they don't work with bonding or link aggregation. I currently have the NC360T working with the native AppleIntelE1000e kext with bonding enabled however one or both ports drop out intermittently for no apparent reason and on heavy load.

Ideally, I would love to run either of the quad Gigabit NICs and have them bonded together using the Small Tree drivers.
 
Hey VioletDragon, thanks for your reply! Out of curiosity which NIC are you using?

I actually have 3 NICs altogether. I have the HP NC360T, Intel Pro 1000 PT Quad and a rebranded HP Quad, all of which use the same 82571EB chip. I have tried all variants of hnak's kexts but they don't work with bonding or link aggregation. I currently have the NC360T working with the native AppleIntelE1000e kext with bonding enabled however one or both ports drop out intermittently for no apparent reason and on heavy load.

Ideally, I would love to run either of the quad Gigabit NICs and have them bonded together using the Small Tree drivers.

Im using the HP NC630T I bought from eBay. I was using a Intel Pro in my Z77 Desktop but AppleIntelE isn't so stable when it comes to Sleep & Wake issues with (Instant) & interferes with Bluetooth Wake also. But its fine if your not going to use Wake & Sleep States.

Problem with AppleIntelE its no longer maintained and requires to be updated for macOS although it works ok I guess.

AppleIntelE has been replaced with IntelMausi but the problem is that IntelMausi doesn't have support for these older Intel Cards.

Apple has Drivers for the NC630T but they're really buggy possibly because Apple doesn't bother with them. You need to remove the AppleIntel8254XEthernet.kext and replace it with AppleIntelE.
 
Last edited:
Im using the HP NC630T I bought from eBay. I was using a Intel Pro in my Z77 Desktop but AppleIntelE isn't so stable when it comes to Sleep & Wake issues with (Instant) & interferes with Bluetooth Wake also. But its fine if your not going to use Wake & Sleep States.

Problem with AppleIntelE its no longer maintained and requires to be updated for macOS although it works ok I guess.

AppleIntelE has been replaced with IntelMausi but the problem is that IntelMausi doesn't have support for these older Intel Cards.

Apple has Drivers for the NC630T but they're really buggy possibly because Apple doesn't bother with them. You need to remove the AppleIntel8254XEthernet.kext and replace it with AppleIntelE.

Do you have the NC360T running in bond or link aggregation mode? If so, has it been stable for you?
 
Do you have the NC360T running in bond or link aggregation mode? If so, has it been stable for you?

When I tried aggregation mode with AppleIntelE it caused a instant reboot.
 
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
 

Attachments

  • X99_X550.ioreg
    3.4 MB · Views: 233
Back
Top