Jump to content
Slice

RealtekR1000 v3

127 posts in this topic

Recommended Posts

Doesn't work for me: dell xps 17

 

System Information:

 

Type: Ethernet Controller

Bus: PCI

Vendor ID: 0x10ec

Device ID: 0x8168

Subsystem Vendor ID: 0x1028

Subsystem ID: 0x04b7

Revision ID: 0x0006

 

System Log:

Mar 23 16:41:22 localhost kernel[0]: RealtekR1000: init
Mar 23 16:41:22 localhost kernel[0]: RealtekR1000: start
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: Found chip reg=2f200000
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: Realtek RTL8168E/8111E_2 (mcfg 28)
Mar 23 16:41:22 localhost kernel[0]: identified as RTL8168E/8111E_2
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: 1000Mbps Full-duplex operation, TBI Link OK
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: Link Status: Not Linked
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: registerWithPolicyMaker
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: setPowerState(1)
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: configureInterface
Mar 23 16:41:22 localhost kernel[0]: RTL8xxx@0x2000: attaching as en0
Mar 23 16:41:22 localhost kernel[0]: en0: start: returning '1'
Mar 23 16:41:22 localhost kernel[0]: com_chucko_RealtekR1000: Ethernet address 14:fe:b5:b7:56:68
Mar 23 16:41:24 localhost kernel[0]: en0: enable
Mar 23 16:41:24 localhost kernel[0]: en0: setActivationLevel(2)
Mar 23 16:41:24 localhost kernel[0]: en0: Selected medium is NULL, forcing to autonegotiation
Mar 23 16:41:24 localhost kernel[0]: en0: selectMedium, index=6
Mar 23 16:41:24 localhost kernel[0]: en0: R1000SetMedium(0x2, 0x2, 0x1)
Mar 23 16:41:24 localhost kernel[0]: en0: setLinkStatus but no PHYStatus

Mar 23 16:41:24 localhost configd[17]: network changed.
Mar 23 16:41:24 RobinMac.local netbiosd[58]: Unable to start NetBIOS name service: 

 

In network setings I see that it initialized and get ip, also I can ping some site, no more. Telnet and other protocols doesn't work.

Share this post


Link to post
Share on other sites
Advertisement

Thanks Slice!

Just checking this one against reboot from Windows, like Mieze's one here: http://www.insanelymac.com/forum/topic/287161-new-driver-for-realtek-rtl8111/page__st__20#entry1900390

 

This one is a bit worse regarding this. As soon as Windows is used, this driver does not work properly any more. It connects to the net, but browsing the net from Safari does not work. Shutdowns and restarts do not help. The only thing that helps is to boot into Ubuntu and then back to OSX. This fixes the controller and then it all works fine in OSX ... until I boot to Windows again.

 

I know you do not care about Windows ( :) ), but still ... I hope somebody would resolve this.

 

The Ubuntu says that it uses r8169 driver. I guess this one: https://github.com/torvalds/linux/blob/master/drivers/net/ethernet/realtek/r8169.c

and this one can use controller after windows just fine.

Share this post


Link to post
Share on other sites

Hello dmazar

Long ago when i was using clover for the first time i had the exactly same problem with my ethernet and i was using RealtekRTL81xx.kext.

the only way to make it work was by pulling the plug for a few seconds.

Until i choose the AppleRTC patch which solve the problem.

Share this post


Link to post
Share on other sites

Thanks Slice!

Just checking this one against reboot from Windows, like Mieze's one here: http://www.insanelym...20#entry1900390

 

This one is a bit worse regarding this. As soon as Windows is used, this driver does not work properly any more. It connects to the net, but browsing the net from Safari does not work. Shutdowns and restarts do not help. The only thing that helps is to boot into Ubuntu and then back to OSX. This fixes the controller and then it all works fine in OSX ... until I boot to Windows again.

 

I know you do not care about Windows ( :) ), but still ... I hope somebody would resolve this.

 

The Ubuntu says that it uses r8169 driver. I guess this one: https://github.com/t...realtek/r8169.c

and this one can use controller after windows just fine.

My sources compiled from Linux. Tell me some details about your chip.

Kernel.log

Mar 9 21:42:37 localhost kernel[0]: RealtekR1000: R1000InitBoard @ PCI 0x3,00

Mar 9 21:42:37 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready

Mar 9 21:42:37 localhost kernel[0]: RTL8xxx@0xd000: Found chip reg=2f900d00

Mar 9 21:42:37 localhost kernel[0]: RTL8xxx@0xd000: Realtek RTL8168E-VL/8111E-VL (mcfg 30)

Mar 9 21:42:37 localhost kernel[0]: identified as RTL8168E-VL/8111E-VL

Share this post


Link to post
Share on other sites

Here:

 

RealtekR1000: R1000InitBoard @ PCI 0x8,00

RTL8xxx@0xc000: Found chip reg=2f200000

RTL8xxx@0xc000: Realtek RTL8168E/8111E_2 (mcfg 28)

identified as RTL8168E/8111E_2

RTL8xxx@0xc000: 1000Mbps Full-duplex operation, TBI Link Failed

Share this post


Link to post
Share on other sites

Compared sources of my driver and linux's that you point I found no similarities... :wacko:

May be my correction for E_VL is not good for your E_2?

//rtl8168_phy_power_up
void RealtekR1000::RTL8168PowerUpPHY()
{
// DLog("RTL8168PowerUpPHY\n");
WriteGMII16(0x1F, 0x0000);
/* switch (mcfg) {
case MCFG_8168B_1:
case MCFG_8168B_2:
case MCFG_8168B_3:
case MCFG_8168C_1:
case MCFG_8168C_2:
case MCFG_8168C_3:
case MCFG_8168CP_1:
case MCFG_8168CP_2:
case MCFG_8168D_1:
case MCFG_8168D_2:
case MCFG_8168DP_1:
case MCFG_8168DP_2:
case MCFG_8168DP_3:
//what about E_VL?
 WriteGMII16(0x0E, 0x0000);
 break;
default:
 break;
} */
WriteGMII16(0x0E, 0x0000);
WriteGMII16(PHY_BMCR, PHY_Enable_Auto_Nego);
}

And I found one else difference in pll_power_down

if (tp->mac_version == RTL_GIGA_MAC_VER_32 ||
 tp->mac_version == RTL_GIGA_MAC_VER_33)
 rtl_ephy_write(tp, 0x19, 0xff64);

But I see you have problem with power up, not with power down.

Share this post


Link to post
Share on other sites

Well yes, r8168 and r8169 are quite different.

 

Both yours and Mieze's driver are working fine here once they start working. I can shutdown/restart as many times as I I want into OSX and they work. It's just after starting Windows they stop working properly . They do connect to the net, but net is not usable.

 

On the other hand, since nobody is reporting the same issue, maybe it's something specific to my Asus P8P67-M. And then ... I have the same situation on Hp ProBook also.

Share this post


Link to post
Share on other sites

Well yes, r8168 and r8169 are quite different.

 

Both yours and Mieze's driver are working fine here once they start working. I can shutdown/restart as many times as I I want into OSX and they work. It's just after starting Windows they stop working properly . They do connect to the net, but net is not usable.

 

On the other hand, since nobody is reporting the same issue, maybe it's something specific to my Asus P8P67-M. And then ... I have the same situation on Hp ProBook also.

 

I have the same issue on my Probook. After running Windows, network appears to connect (link up, mac address there, ip address there, ping works), but Chrome cannot load a webpage. It works fine after cold boot and it works fine after running Ubuntu (12.04LTS).

 

As dmazar says this is both on your driver and Meize's (not an issue w/ lnx2mac... but it is not open source??). Side note: I only get 100mbps with Slice's driver, but get 1Gpbs w/ Meize's.

 

I tried disabling a bunch of the options (offloading, etc.) in the Windows driver thinking that they might have something to do with it, but was stil unsuccessful. I guess if we could find sources for the driver in Linux, we could maybe determine what it is doing during init that is different? Way to do hardware reset?

Share this post


Link to post
Share on other sites

Did note something I may have to look further into but have no idea how and no time whatsoever at the moment to do it;

 

When using the kext (first version) on a ga-z68x-ud3h-b3 with RTL8169 chipset connected directly to my cablemodem, now my cablemodem periodically (about 5 times a day) locks up and have to reset it.

It started as soon as I started using the kext, so I've been testing a few days on and off with the kext enabled and off connected with an airport card.

Just to make sure it wasn't the .3 update.

I found out without the kext an/or using the lnx2mac version I had no problems whatsoever, whenever I started using it I got the problem, and mainly after sleep or long time of inactivity, but also suddenly during normal use.

The log shows nothing out of the ordinary but there's a TPI-link failed error on booting.

Could you tell me what info you'd need to resolve this if it's something you'll be looking at?

Share this post


Link to post
Share on other sites

Finally had the time to sort out the log;

 

31-03-13 15:20:53,000 kernel[0]: RealtekR1000: init

31-03-13 15:20:53,000 kernel[0]: RealtekR1000: start

31-03-13 15:20:53,000 kernel[0]: RealtekR1000: R1000InitBoard @ PCI 0x7,00

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: Found chip reg=2f900d00

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: Realtek RTL8168E-VL/8111E-VL (mcfg 30)

31-03-13 15:20:53,000 kernel[0]: identified as RTL8168E-VL/8111E-VL

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: 1000Mbps Full-duplex operation, TBI Link Failed

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: Link Status: Not Linked

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: registerWithPolicyMaker

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: setPowerState(1)

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: configureInterface

31-03-13 15:20:53,000 kernel[0]: RTL8xxx@0xce00: attaching as en0

31-03-13 15:20:53,000 kernel[0]: en0: start: returning '1'

31-03-13 15:20:55,000 kernel[0]: en0: enable

31-03-13 15:20:55,000 kernel[0]: en0: setActivationLevel(2)

31-03-13 15:20:55,000 kernel[0]: en0: Selected medium is NULL, forcing to autonegotiation

31-03-13 15:20:55,000 kernel[0]: en0: selectMedium, index=6

31-03-13 15:20:55,000 kernel[0]: en0: R1000SetMedium(0x2, 0x2, 0x1)

31-03-13 15:20:57,000 kernel[0]: en0: Link up

 

 

 

Again this on a GA

-Z68X-UD3H-B3 board, an otherwise well supported and

popular board, except I never had the ethernet working stable.

This is the first kext working great except the occasional lockups which are pretty bothersome.

Share this post


Link to post
Share on other sites

Hi Slice,

 

Thanks for your work, as theconnactic i have an 8105E, the official driver works fine, but only in 10mbps and it's too slow when i work on big files .. , instead of hours of work to make an port of the linux driver, i think better and easier to reajust the official driver to correct the 100Mbps problem ? I don't know how to code are how to read lines code atm so.. it will be really nice if you could take a look on that :)

 

I found the datasheet document so it could help, i uploaded it in my original post here : http://www.insanelymac.com/forum/topic/287568-realtek-rtl8105e-only-10mbps-any-chance-for-100mbps/

 

Thanks again for your amazing work

Share this post


Link to post
Share on other sites

Hi Slice,

 

Thanks for your work, as theconnactic i have an 8105E, the official driver works fine, but only in 10mbps and it's too slow when i work on big files .. , instead of hours of work to make an port of the linux driver, i think better and easier to reajust the official driver to correct the 100Mbps problem ? I don't know how to code are how to read lines code atm so.. it will be really nice if you could take a look on that :)

 

I found the datasheet document so it could help, i uploaded it in my original post here : http://www.insanelym...ce-for-100mbps/

 

Thanks again for your amazing work

But how did you propose to influence on official driver?

I see only way to search a mistake in linux's sources to correct my driver.

Share this post


Link to post
Share on other sites

I'm using an MSI z77 g41 board. I installed the kext, rebooted, and put in -v. It detects the RealtekR1000 in boot, but hangs at en0: Link up. If you have any idea what to do, please let me know

Share this post


Link to post
Share on other sites

Slice, when I disconnect the cable your driver always gets an automatic ip.

 

At boot, connected to the router:

06/04/13 10:16:19,000 kernel[0]: RealtekR1000: init
06/04/13 10:16:19,000 kernel[0]: RealtekR1000: start
06/04/13 10:16:19,000 kernel[0]: RealtekR1000: R1000InitBoard @ PCI 0x4,00
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: Found chip reg=2f900d00
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: Realtek RTL8168E-VL/8111E-VL_2 (mcfg 30)
06/04/13 10:16:19,000 kernel[0]: identified as RTL8168E-VL/8111E-VL_2
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: 1000Mbps Full-duplex operation, TBI Link Failed
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: Link Status: Not Linked
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: registerWithPolicyMaker
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: setPowerState(1)
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: configureInterface
06/04/13 10:16:19,000 kernel[0]: RTL8xxx@0xd000: attaching as en0
06/04/13 10:16:19,000 kernel[0]: en0: start: returning '1'
06/04/13 10:16:20,000 kernel[0]: com_chucko_RealtekR1000: Ethernet address _________________
06/04/13 10:16:21,000 kernel[0]: en0: enable
06/04/13 10:16:21,000 kernel[0]: en0: setActivationLevel(2)
06/04/13 10:16:21,000 kernel[0]: en0: Selected medium is NULL, forcing to autonegotiation
06/04/13 10:16:21,000 kernel[0]: en0: selectMedium, index=6
06/04/13 10:16:21,000 kernel[0]: en0: R1000SetMedium(0x2, 0x2, 0x1)
06/04/13 10:16:21,000 kernel[0]: en0: setLinkStatus but no PHYStatus

When I disconnect the cable:

06/04/13 13:31:09,000 kernel[0]: en0: Link down
06/04/13 13:31:10,805 configd[18]: network changed: v4(en1:192.168.0.100, en0-:192.168.2.100) DNS* Proxy SMB
06/04/13 13:31:38,676 configd[18]: network changed: v4(en1:192.168.0.100, en0+:169.254.243.225) DNS* Proxy SMB

Share this post


Link to post
Share on other sites

But how did you propose to influence on official driver?

I see only way to search a mistake in linux's sources to correct my driver.

 

I also think porting the Linux drivers is the only way, since 8105E works like a trait under Ubuntu, and porting network drivers from Linux to OSX, unlike graphics, is doable (Slice, Mieze and Lnx2Mac do precisely that), but i gave up to do it by myself: it's above my level of knowledge. Sorry, scellow!

Share this post


Link to post
Share on other sites

What you are doing is not really the injection for EN0 here is an example of the code I use for my Realtek NIC. Use my guide here if you need more information:

 

http://rampagedev.wordpress.com/guides/inject-ethernet-built-in-into-a-dsdt/

 

   OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
           Field (GPIO, ByteAcc, NoLock, Preserve)
           {
               GO01,   8, 
               GO02,   8, 
               GO03,   8, 
               GO04,   8, 
               GO05,   8, 
               GP9,    1
           }
           Device (LAN0)
           {
               Name (_ADR, 0x001C0001)
               Method (_PRW, 0, NotSerialized)
               {
                   Return (GPRW (0x09, 0x04))
               }
               Method (_PRT, 0, NotSerialized)
               {
                   If (PICM)
                   {
                       Return (AR05)
                   }
                   Return (PR05)
               }
               Device (GIGE)
               {
                   Name (_ADR, Zero)
                   Name (_PRW, Package (0x02)
                   {
                       0x09, 
                       0x03
                   })
                   Method (EWOL, 1, NotSerialized)
                   {
                       If (LEqual (Arg0, One))
                       {
                           Or (GP9, One, GP9)
                       }
                       Else
                       {
                           And (GP9, Zero, GP9)
                       }
                       If (LEqual (Arg0, GP9))
                       {
                           Return (Zero)
                       }
                       Else
                       {
                           Return (One)
                       }
                   }
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package (0x08)
                           {
                               "AAPL,slot-name", 
                               Buffer (0x09)
                               {
                                   "Internal"
                               }, 
                               "built-in", 
                               Buffer (One)
                               {
                                    0x01
                               }, 
                               "device_type", 
                               Buffer (0x14)
                               {
                                   "Ethernet Controller"
                               }, 
                               "model", 
                               Buffer (0x1D)
                               {
                                   "Realtek 8111DL PCI-E Gigabit"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }
           }

Share this post


Link to post
Share on other sites

Hi Slice,

 

Thank you for your work, it worked almost fine on a GA-Z77N-WIFI (8111F).

There is a problem with Virtualbox, client is Windows 7 and host is OS X 10.8.3, the network adapter is set to bridged adapter.

Every time host wake up from hibernate, the client will lost connection, but after reboot host, it will work properly again.

Share this post


Link to post
Share on other sites

Both yours and Mieze's driver are working fine here once they start working. I can shutdown/restart as many times as I I want into OSX and they work. It's just after starting Windows they stop working properly . They do connect to the net, but net is not usable.

Ok, Mieze found out that her driver is not setting RxMaxSize register. The same is here. Adding something like "WriteMMIO16(RxMaxSize, 2000);" to RTL8168.cpp around line 229 fixes the issue.

WriteMMIO32(RxConfig, rx_mode);

   /* Set RxMaxSize register */
   WriteMMIO16(RxMaxSize, 2000);

WriteMMIO8(Cfg9346, Cfg9346_Lock);

Share this post


Link to post
Share on other sites

Ok, Mieze found out that her driver is not setting RxMaxSize register. The same is here. Adding something like "WriteMMIO16(RxMaxSize, 2000);" to RTL8168.cpp around line 229 fixes the issue.

WriteMMIO32(RxConfig, rx_mode);

/* Set RxMaxSize register */
WriteMMIO16(RxMaxSize, 2000);

WriteMMIO8(Cfg9346, Cfg9346_Lock);

Big thanks!

I will make this as v3.0.4. Check the topic.

Share this post


Link to post
Share on other sites

Hi Slice!

 

Thanks for your another good work. :)

I've install RealtekR1000SL.kext in Clover's 10.8 folder now.

 

I found out that unlike RealtekRTL81xx.kext, there is no "Wake for Ethernet network access" option in "System Preferences>Energy Saver."

Is it possible for you to add one?

 

By the way, I felt RealtekR1000SL.kext is a little faster than RealtekRTL81xx.kext. :P

 

Regards, Kevin

Share this post


Link to post
Share on other sites

Hi Slice,

 

Tried the newest on ML 10.8.3, working great!

The only thing is that I need to set it manually on 1000baseT, instead of (auto) 100baseTX.

 

I have tried searching in the console, but no debug shown. Anyway I can give you info? :)

 

Card: Realtek 8168/8101E Gigabit Ethernet

 

Thank you very much! :)

Share this post


Link to post
Share on other sites

Hello Slice.

 

I want to try you kext, so i´ve to ask if your kext supports the RTL8111C Chipset!?

Also tried the kext of mieze but with her kext WOL is not working.

 

Thanks & Greetz

Share this post


Link to post
Share on other sites

Hello Slice.

 

I want to try you kext, so i´ve to ask if your kext supports the RTL8111C Chipset!?

Also tried the kext of mieze but with her kext WOL is not working.

 

Thanks & Greetz

Recently I apply this kext to system with 8111C (GA-EP31 motherboard). OS 10.7.5. Works fine. I need no WOL and didn't test it.

Share this post


Link to post
Share on other sites

Absolutely love the driver so far, seems to perform better than the lnx2mac one ive been using for eons.   Is there any chance that Jumbo Frames will be supported in the future?  I think thats the main thing missing between all the Realtek driver options.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Mieze
      This project is dedicated to the memory of Mausi, the cat I loved more than anybody else.
       

       
      A few days before Christmas I started my latest project, a new driver for recent Intel onboard LAN controllers. My intention was not to replace hnak's AppleIntelE1000e.kext completely but to deliver best performance and stability on recent hardware. That's why I dropped support for a number of older NICs. Currently the driver supports:
       
      5 Series
      82578LM 82578LC 82578DM 82578DC 6 and 7 Series
      82579LM 82579V 8 and 9 Series
      I217LM I217V I218LM I218V I218LM2 I218V2 I218LM3 100 Series (since V2.1.0d0)
      I219LM I219V 200 Series (since V2.3.0d0)
      I219LM I219V 300 Series (since V2.4.0d0)
      I219LM I219V  
      Key Features of the Driver
      Support for multisegment packets relieving the network stack of unnecessary copy operations when assembling packets for transmission. No-copy receive and transmit. Only small packets are copied on reception because creating a copy is more efficient than allocating a new buffer. TCP, UDP and IPv4 checksum offload (receive and transmit). Support for TCP/IPv6 and UDP/IPv6 checksum offload. Makes use of the chip's TCP Segmentation Offload (TSO) feature with IPv4 and IPv6 in order to reduce CPU load while sending large amounts of data (disabled due to hardware bugs). Fully optimized for Sierra (64bit architecture) but should work with older 64bit versions of macOS too, provided you build from source with the appropriate SDK for the target OS. Support for Energy Efficient Ethernet (EEE). VLAN support is implemented but untested as I have no need for it. The driver is published under GPLv2.  
      Current Status
      The driver has been tested successfully with I217V, I218V and 82579V under 10.9.5 and above. The attached archive includes source code as well as a prebuilt binary (debug version) for Mavericks and newer versions of macOS.   Known Issues
      There seem to be problems while using VMware with version 1.x.x of the driver. In case you are affected use version 2.0.0 or newer.  
      FAQ
      Could you add support of for...? Well, you are probably asking me to add support for one of the older NICs like the 82571/2/3/4L or 82583 and the answer will be no as I dropped support for these chips intentionally. They are broken and I lost more than 2 weeks trying to make it work on the 82574L without success. I was asked to add support for I210, I211 and I350 but as these chips have a completely different architecture, which isn't supported by the underlying Linux driver, this is impossible, sorry. Does it work with Snow Leopard or 32 bit kernels? No and I have no plans to make a version for 32 bit kernels or anything older than Lion. WoL from S5 doesn't work with this driver but under Windows it's working. Is this a driver bug? No it isn't, the driver is working as it should because OS X doesn't support WoL from S5.  
      Installation
      Goto /S/L/E and delete AppleIntelE1000e.kext. Recreate the kernel cache. Open System Preferences and delete the corresponding network interface, e. g. en0. Reboot. Install the new driver and recreate the kernel cache. I recommend to use Kext Wizard or a similar utility for the installation. Reboot Open System Preferences again, select Network and check if the new network interface has been created automatically or create it manually now. Configure the interface.  
      Help - I'm getting kernel panics!
      Well, before you start complaining about bugs after you upgraded macOS and ask me to publish a driver update, you should first try to resolve the issue on your own by cleaning the system caches.
      As the driver uses macOS's private network driver interface, which is supposed to be used by Apple provided drivers only, you might run into problems after an OS update because the linker may fail to recognize that IONetworking.kext has been updated and that the driver needs to be linked against the new version (Apple provided drivers avoid this problem because they are always updated together with IONetworking.kext). As a result, the linking process produces garbage and the driver may call arbitrary code when trying to call functions from IONetworking.kext. This usually results in unpredicted behavior or a kernel panic. In order to recover from such a situation, you should clean the System Caches forcing the linker to recreate it's caches:
      Delete all the files in /System/Library/Caches and it's subdirectories but leave the directories and the symbolic links intact. This is very important! Reboot. Recreate the kernel cache. Reboot again.  
      Troubleshooting
      Make sure you have followed the installation instructions especially when you have issues with certain domains while the others are working fine. Use the debug version to collect log data when trying to track down problems. The kernel log messages can be retrieved with "grep kernel /var/log/system.log" in Terminal. Starting from Sierra use "log show --predicate "processID == 0" --debug" in order to retrieve kernel logs. Include the log data when asking for support or giving feedback. I'm an engineer, not a clairvoyant. Don't copy and paste large amounts of log data to your post. Create an archive with the log data and attach it to your post. In case you don't want to make your log data publicly accessible, contact me via PM and I will provide you a mail address to send it directly to me.  Check your BIOS settings. You might want to disable Network Boot and the UEFI Network Stack as these can interfere with the driver. Double check that you have removed any AppleIntelE1000e.kext from your system because it could prevent the driver from working properly. Delete the following files: /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist /Library/Preferences/SystemConfiguration/preferences.plist Verify your bootloader configuration, in particular the kernel flags. Avoid using npci=0x2000 or npci=0x3000.  In Terminal run netstat -s in order to display network statistics. Carefully examine the data for any unusual activity like a high number of packets with bad IP header checksums, etc. In case auto-configuration of the link layer connection doesn't work it might be necessary to select the medium manually in System Preferences under Network for the interface. Use Wireshark to create a packet dump in order to collect diagnostic information. Keep in mind that there are many manufacturers of network equipment. Although Ethernet is an IEEE standard, different implementations may show different behavior causing incompatibilities. In case you are having trouble try a different switch or a different cable. Changelog
      Version 2.4.0 (2018-04-14) Added support for 300 series versions of I219LM and I219V. Updated underlying Linux source code. Version 2.3.0 (2017-06-20) Added support for 200 series versions of I219LM and I219V. Version 2.2.0 (2016-09-23) Disabled TSO to work around a hardware bug. Version 2.1.0 (2016-05-24) Added support for I219LM and I219V Version 2.0.0 (2015-04-22) First official release which is identical to 2.0.0d2 (only the version number has been changed). Version 2.0.0d2 (2015-04-04) Changed the tx descriptor write back policy for 82579, I217 and I218 to prevent random tx deadlocks. Version 2.0.0d1 (2015-03-14) Uses Apple's private driver interface introduced with 10.8. Supports packet scheduling with QFQ Solves the VMware issue. Version 1.0.0d6 (2015-03-04) Reworked TSO6 support to avoid problems with VMware. Wake-on-LAN now working. Version 1.0.0d5 (2015-02-27) Reworked TSO4 support to eliminate the bug of 1.0.0d4. Added some debug code in order to collect information about the VMware related issue. Version 1.0.0d4 (2015-02-25) Set total length field of the IP-header to zero for TSO4 operations. Report EEE activation state in kernel log message when the link has been established. Version 1.0.0d3 (2015-02-11) Reworked media selection and EEE support (EEE is now activated when both link partners support it. It can be disabled selecting the medium manually). Duplex setting for 10/100 MBit connections is now reported correctly. The number of tx descriptors has been reduced from 2048 to 1024. The code has been cleaned up and obsolete files have been removed. Version 1.0.0d2 (2015-01-31) First development release. Getting the Driver
      The source code can be found on GitHub: https://github.com/Mieze/IntelMausiEthernet There is also a prebuilt binary for 10.11 and above in the download section: http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/ Build from Source for 10.8
      Register as a developer on Apple's developer website. A free membership is sufficient. Download a copy of Xcode 5.1.1 and install it on your machine. In the project select 10.8 as the "Base SDK" and the "Deployment Target". Call "Archive" from the menu "Product" and save the built driver. Credits
      Thanks to RehabMan and Yung Raj for running tests and pointing me in the right direction while I was trying to fix TSO. Special thanks to Yung Raj for motivating me when I was about to give up.
    • By Mieze
      Driver for recent Intel onboard LAN controllers. Currently the driver supports:
       
      5 Series
      82578LM 82578LC 82578DM 82578DC 6 and 7 Series
      82579LM 82579V 8 and 9 Series
      I217LM I217V I218LM I218V I218LM2 I218V2 I218LM3 100 Series
      I219LM I219V 200 and 300 Series
      I219LM I219V Please see the project's homepage at http://www.insanelymac.com/forum/topic/304235-intelmausiethernetkext-for-intel-onboard-lan/ for a detailed project description.
    • By liuhongxin1993
      ASUS x99-e-10G ws  
      X550-T2
      http://pci-ids.ucw.cz/read/PC/8086/1563
      https://downloadcenter.intel.com/download/14687/?product=88209
      Requesting Linux compilation of High Sierra 10.13.4

      ixgbe-5.3.6.tar.zip
    • By ITzTravelInTime
      This is a dedicated thread about the intel 8255X based ethernet cards which, although being old (but also very cheap and easy to find used online), they still works in the latest macOS releases today i tested mine with the 64 bit compiled AppleIntel8255X kext and works like a charm! stable and withou any issues with mine 100 mbit managed ethernet switch and also without suffering of problems like connection dieing under heavy load or sleep/wake issues, so just to report that i have create this dedicated thread about and also i leave the kext as an attachment, in this post, this may be usefoul to have cheap working ethernet for hackintosh machines running the latest macOS or just to reuse old hardware some one can have laying around.
      AppleIntel8255x.kext.zip
    • By ITzTravelInTime
      I have started this thread to discuss about old and very cheap ethernet cards working in the latest macOS releases, cards who just uses old ethernet controllers or are new and cheap cards with old ethernet controllers, this thread is just to discuss about such cards and also to have a list in the first post with reported working cards with drivers linked.
      To contribute you have to report which card of this kind is working for you and which driver or method you followed to get it wo work and also which issues you have, and then it will be added in the list.
      I start reporting cards which worked for me, yours will be added in the future:
      intel 8255X based cards:
                just works using the AppleIntel8255X kext (look in the attachments) and seems to be stable with no issues
       
      And also there are some cards i am curious to see if can work with mac, so i leave this part at the end of the post, do you know if it's possible to get realtek pci (not pci express) ethernet cards working in the latest mac os? i have a few of them and i have difficulties fining drivers for mac, having a driver for the latest mac wil help me in creating also a youtube video with the cheapest hackintosh compatible ethernet cards
       
      AppleIntel8255x.kext.zip
×