Contribute
Register

no ethernet - kext not loading - don't know why

Status
Not open for further replies.
Joined
Jan 6, 2012
Messages
19
Motherboard
GA-Z77X-UD3H
CPU
i7 3770
Graphics
HD4000
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
This Sierra/clover install on a GA-Z77x-UD3H was working OK, but ethernet was incredibly slow.

Checking I discovered that AtherosE2200Ethernet somehow ended up in S/L/E during installation. My board LAN chip is Atheros AR8151, so I believe AtherosL1cEthernet.kext is the correct kext (correct me if this is mistaken). I removed AtherosE2200Ethernet from S/L/E and made sure AtherosL1cEthernet was in EFI/Clover/kexts/Other.

AtherosL1cEthernet.kext does not seem to load, it does not show up in kextstat. No working LAN. Have rebooted without caches several times.

My config.plist settings include:
Inject Kexts - Yes,
No Caches,
plus tried -f in boot arguments for good measure.

In EFI/Clover/kexts/Other i have:
AtherosL1cEthernet.kext
FakePCIID-XHCIMux.kext
FakePCIID.kext
Fake SMC.kext
USBInjectAll.kext
All seem to load fine except the ethernet driver.

checking Kextstat for any possible conflicts, I find only the IOUserEthernet.iokit.apple.com which I believe should not conflict.

How can I troubleshoot this problem ?
 
Even when you place your Ethernet kext in the EFI>CLOVER>kext>Other folder for Sierra , the same ethernet kext must be installed to System HDD>System/Library/Extensions folder and then Repair Permissions and Rebuild Cache using a Kext utility like Kext Wizard. Usually all these steps are done in the background without your active inputs, if you use Multibeast to select the kext. Otherwise get the kext from https://www.tonymacx86.com/resources/atherose2200ethernet.322/ and use Kext Wizard to install.
 
Tks 699. I tried putting the L1C kext in both S/L/E and L/E, both no good. (Though I did the repair permissions and rebuild cash by hand, using chown, chmod and touch)

Result is still no ethernet.

By the way, your link is to kext 2200, which is what I had, rather than L1C. (The 2200 kext was installed by multibeast after a clean install) As I mentioned in firs post, that 2200 kext was working, though just barely. Very very slow and unstable. The Sierra multibeast doesn't seem to have the L1C kext at all.

Various searches here and elsewhere seem to all say that for my eth chip the driver I need is AtherosL1cEthernet.kext. So still not sure what is wrong. This same kext did work for me under 10.11 on the same board, but this 10.12 was a clean Uni- Multi-beast install, and frankly I have lost track of any differences in clover config from the ElCap setup, though it may be that some other clover settings are now causing some subtle conflicts.

Any more suggestions? I am almost considering just getting a PCI NIC, one with a known, working kext. But if my problem is some other setting, that may fail.

Meanwhile, cmn699, you advice has raised a more general question for me. I sure would like to understand more clearly how during a clover-mediated hackintosh macOS boot process the system decides which kexts get loaded, between S/L/E, L/E and the clover EFI. I was under the impression that anything in EFI/Clover/kexts/... would get loaded during OS boot, and that would be good enough (so that S/L/E and L/E would be Apple only, thus still work after an OS update). You advice above suggests this is not correct (for all kexts or only certain ones?). I have searched and read a bunch of posts and articles around this question, but am still confused.
 
Even when you place your Ethernet kext in the EFI>CLOVER>kext>Other folder for Sierra , the same ethernet kext must be installed to System HDD>System/Library/Extensions folder and then Repair Permissions and Rebuild Cache using a Kext utility like Kext Wizard.

You don't have to place the Ethernet kext both in EFI/CLOVER/kext/Other and the System/Library/Extensions folder.

Only EFI/CLOVER/kext/Other will work, that is if you use the right Ethernet kext for your system.
 
Thanks Brebo

You don't have to place the Ethernet kext both in EFI/CLOVER/kext/Other and the System/Library/Extensions folder.

That is certainly what I thought. But for some reason this kext won't load, regardless of where I put it between EFI/CLOVER/kext/Other, SLE, LE.

Only EFI/CLOVER/kext/Other will work, that is if you use the right Ethernet kext for your system.

Pretty sure the one I am trying, AtherosL1cEthernet.kext, is the right kext. The same kext worked under ElCap. Also, as double confirmation, looking inside the kext's plist I find the correct vendor/device code for my NIC.

Could there be some other reason a certain kext would refuse to load? I did notice that the kext doesn't seem to have been updated for several years. Maybe its not hardware mismatch, but an OS incompatibility with 10.12.

I saw one post elsewhere here on tonymac where somebody with the same NIC had success by putting this L1c kext inside the plugins folder of the IONetworkingFamily.kext in S/L/E. That is an approach I have never heard of before in hackintoshing, but I notice there are several ethernet device-specific kexts in there already. What the heck, I also tried this idea, but my OS would not allow me to copy into there, despite SIP disabled.

So still no network.
 
The reason I am making things very plain or simpler is for the benefit of readers who are very new to Hackintosh and not meant for those who know a lot and are very experienced Hackintosh users. I believe these pages can be educational for the former group and will help people like me to learn from those who have a greater fund of knowledge when they post a different perspective.

My understanding about Clover EFI Boot loader and mac OS and OS X, is that the EFI/CLOVER/kext/../ folder contents (kexts) are meant for "injection during boot" for Clover EFI Boot loader's use.

The /S/L/E and /L/E folders and their Kernel Extension Files (drivers) are for "Kernel" or the "Core of the OS" to use various hardware from the time the bootloader passes the baton to the "Kernel" and then the " Operating System" ( for example MacOSSierra or OS X el Capitan) has to run without "crash" (kernel Panics) while using the various devices ( which require "Kexts").

In the case of Real Mac /S/L/E and /L/E contain "Apple Certified" ("signed") kexts . We in Hackintosh are using "tinkered kexts" ["uncertified"] . Since the release of OS X Yosemite( I am guessing here) Apple has tightened this "Kext Signing" requirement to a higher notch to protect /S/L/E from letting "unauthorized" 'occupants'! Hackintosh has to be creative to carefully bypass this SIP (System Integrity Protection) by using "csr-active-config 0x3 = SIP Partially Disabled (Loads unsigned kexts)" option in "Rt Variables" in the place of "rootless=" which has been replaced by SIP.

Whether " csr-active-config 0x67 = SIP Disabled completely", is desirable to load the "unloadable kext " is something to consider at this point. After that is loaded one may be able to reset that to 0x3 or even 0x0 [SIP totally enabled]
Good luck with Ethernet fix.
 
For a DSDT. aml option for a z77-mx MotherBoard with Atheros LAN, please check this post (#7) https://www.tonymacx86.com/threads/...ethernet-kext-to-work-with-z77-mx-d3h.204706/

That post has nothing to do with Atheros LAN, it's a DSDT file and patched AppleHDA.kext to get sound working.

From what I have found is that for the Z77X-UD3H rev 1.1 mobo you need the AtherosE2200Ethernet.kext
According to this post AtherosE2200Ethernet v2.0.0 is rock solid and can be found here on the right side of the page under previous versions.

If you have the rev 1.0 mobo you'll need a different Ethernet kext: AtherosL1cEthernet.kext or ALXEthernet.kext
 
Last edited:
Thank you. You are absolutely right. I misspoke with my reference to DSDT in the context of LAN issue, I stand corrected.
 
Status
Not open for further replies.
Back
Top