Contribute
Register

Intel Network adapters on OS X: Small Tree drivers

I recently acquired one of these old PCI cards and am now trying to get it working under Sierra. After reading this thread, I didn't see where Wundorn had been successful, so I'm bringing this topic up again.

After installing Sierra, I had used MultiBeast v9.0.0.0 to install "7/8/9 Series USB Support," which pulls in v1.3.2 (a.k.a. v2016-0820) of FakePCIID.kext and FakePCIID_XHCIMux.kext. These kexts resided in /Library/Extensions, so I downloaded RehabMan-FakePCIID-2016-0820.zip from github, pulled out FakePCIID_Intel_GbX.kext, added "0x107c8086" to the IOPCIPrimaryMatch string in its Info.plist, and placed the edited kext in /Library/Extensions. Then I ran Kext Utility v2.6.6 to repair the permissions and update the cache files.

After rebooting, I checked to see if the kext loaded; it had not. I tried manually loading it via:

$ sudo kextload /Library/Extensions/FakePCIID_Intel_GbX.kext

but kextstat revealed that it had still not loaded (text trailing "(1.3.2)" omitted):

$ kextstat | grep FakePCI
37 1 0xffffff7f80c82000 0x8000 0x8000 org.rehabman.driver.FakePCIID (1.3.2)
38 0 0xffffff7f80c8a000 0x3000 0x3000 org.rehabman.driver.FakePCIID.XHCIMux (1.3.2)

and I found the following at the end of dmesg:

$ sudo dmesg | tail
Notice - new kext org.rehabman.injector.FakePCIID-Intel-GbX, v1.3.2 matches prelinked kext but can't determine if executables are the same (no UUIDs).

I'm not sure where to go from here. This error has popped up for other people using other kexts on several versions of Mac OS X, but there is not a clear solution to the problem. Perhaps I should be using different programs to correct the kext permissions and rebuild the cache?

Thanks for any help anyone can provide.

FakePCIID_Intel_GbX.kext is a codeless kext. So you should not expect it to show in kextstat.
 
FakePCIID_Intel_GbX.kext is a codeless kext. So you should not expect it to show in kextstat.

Thanks for responding, RehabMan. That makes sense.

If I go one step beyond my original post, I noticed that the SmallTreeIntel8254x.kext (v3.8.1), also in /Library/Extensions, was not loaded. Manually loading the kext through kextlaunch indeed loads the driver, however, the NIC is still not recognized and the driver unloads itself after a few minutes. No messages related to the SmallTree kext show up in dmesg or /var/log/system.log.

I ran IORegistryExplorer (v3.0.2), produced an ioreg file according to the guide elsewhere on this site, and have attached it here [corrupted ioreg removed from this post]. The Intel NIC does show up under "ethernet@1." I've also verified that the NIC works in this system under Windows 7.

What do you think I'm missing?
 
Last edited:
Thanks for responding, RehabMan. That makes sense.

If I go one step beyond my original post, I noticed that the SmallTreeIntel8254x.kext (v3.8.1), also in /Library/Extensions, was not loaded. Manually loading the kext through kextlaunch indeed loads the driver, however, the NIC is still not recognized and the driver unloads itself after a few minutes. No messages related to the SmallTree kext show up in dmesg or /var/log/system.log.

I ran IORegistryExplorer (v3.0.2), produced an ioreg file according to the guide elsewhere on this site, and have attached it here. The Intel NIC does show up under "ethernet@1." I've also verified that the NIC works in this system under Windows 7.

What do you think I'm missing?

The ioreg is corrupt.

Attach ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.
 

Attachments

  • hops-ioreg.zip
    549.3 KB · Views: 105
Sorry about that! I used v2.1 from the post and verified that it could open the ioreg file that I saved from it. I've attached the new ioreg here as a zip file. Thanks for your patience.

The ioreg shows FakePCIID loading for the ethernet device at RP04.PXSX. But nothing else is loading, so either the drivers are not installed properly, or are not compatible.
 
The ioreg shows FakePCIID loading for the ethernet device at RP04.PXSX. But nothing else is loading, so either the drivers are not installed properly, or are not compatible.
I tried removing SmallTreeIntel8254x.kext from /Library/Extensions and reinstalling the Small Tree driver package. The kext still does not load on its own, does not stay loaded after I manually load it, and does not print out any messages to dmesg or /var/log/system.log. I'm assuming for now that the driver is not compatible with my card. I think I'll try to track down a PCI NIC that's natively compatible with the Sierra Yukon2 driver.

Thanks again for all your help!
 
I tried removing SmallTreeIntel8254x.kext from /Library/Extensions and reinstalling the Small Tree driver package. The kext still does not load on its own, does not stay loaded after I manually load it, and does not print out any messages to dmesg or /var/log/system.log. I'm assuming for now that the driver is not compatible with my card. I think I'll try to track down a PCI NIC that's natively compatible with the Sierra Yukon2 driver.

Thanks again for all your help!

If you're on Sierra, realize there is a new mechanism for logs...
 
If you're on Sierra, realize there is a new mechanism for logs...
I was unaware of that; thanks for pointing me to it. I grepped through the output of the new log utility and unfortunately found nothing related to the Small Tree kext other than when I sudo'd to kextload the kext.
 
I was unaware of that; thanks for pointing me to it. I grepped through the output of the new log utility and unfortunately found nothing related to the Small Tree kext other than when I sudo'd to kextload the kext.

Are you sure the kext Info.plist matches on your vendor/device?
 
Hi
FakePCIID.kext works perfectly in conjuction with FakePCIID_Intel_GbX.kext to instantiate
com.SmallTree.driver.SmallTreeIntel8259x for my Intel X540-AT2 :
sudo chown -R root:wheel /path/to/FakePCIID.kext /path/to/FakePCIID_Intel_GbX.kext
sudo kextutil -vvv /path/to/FakePCIID.kext
sudo kextutil -vvv /path/to/FakePCIID_Intel_GbX.kext
sudo kextutil -vvv /path/to/SmallTreeIntel8259x.kext

The network interfaces appear (as seen in Network Preferences or Network Utility).

But… on reboot no interfaces appear, although I do have com.SmallTree.driver.SmallTreeIntel8259x loaded (as shown by kextcache) unless I unload and reload the Small Tree Drivers :
sudo kextunload /path/to/SmallTreeIntel8259x.kext
sudo kextutil -vvv /path/to/SmallTreeIntel8259x.kext

Am I missing something?
As a workaround, could I delay the loading of SmallTreeIntel8259x.kext? (yes, I could write an applescript to do it on login, but that wouldn't be elegant)

thanks!
 
Back
Top