Jump to content
Mieze

New Driver for Realtek RTL8111

1,363 posts in this topic

Recommended Posts

ok. cheers. perhaps modifying the bios a bit may help. (but of course, that isn't what this thread about.) :)

You might want to send me an IOReg dump. It might help me to find out, what the BIOS has done to the NIC.

 

Mieze

Share this post


Link to post
Share on other sites
Advertisement

I don't have any problem. but if it would help other people, here it is. Cheers :w00t:

No, I need an IOReg dump of somebody with a non-working driver, but thank you for making the effort anyway.

 

Mieze

Share this post


Link to post
Share on other sites

Hi Mieze, thank's for this good work!

 

For me with this driver i never had problem, and i already integrated it inside my Mobo Bios because i use Ozmosis bootloader, and it work like charm! Because of size problem in my Mobo which have a 64 Mb bios chip, and i need to add more files as AppleALC, so i hope if i can decrease the size of the RTL kext!

 

Now my question is, can i build one with only support for my RTL8169E-VL/8111E-VL Ethernet and RTL8188CU Wireless, i'm happy with the current one which its compressed size is 135 Kb, but it will be a great pleasure for me if i can decrease its size with Xcode before generating its FFS file!

 

Thanks again for your good work, and best regards ^_^ !

Edited by ammoune78

Share this post


Link to post
Share on other sites

Now my question is, can i build one with only support for my RTL8169E-VL/8111E-VL Ethernet and RTL8188CU Wireless, i'm happy with the current one which its compressed size is 135 Kb, but it will be a great pleasure for me if i can decrease its size with Xcode before generating its FFS file!

In theory it's possible but extremely laborious as you would have to remove a lot of code and the worst thing of all is that this procedure would have to be redone after every update which is nothing I do recommend.

 

Mieze

Share this post


Link to post
Share on other sites

Hello, the driver is working (Im typing :)   but from time to time the network is freezing (StarCraft 2). Then I have to power off and on my Network Switch. It's not a switch issue (tested some different switches). 

 

I'm using Sierra 10.12.2 newest update and the RTL8111.kext 2.2.1   (with Yosemite I had not this issue.)

 

I think thats the network "upload" freeze bug?

 

How I can prevent a network freeze?

Share this post


Link to post
Share on other sites

Hello, the driver is working (Im typing :)   but from time to time the network is freezing (StarCraft 2). Then I have to power off and on my Network Switch. It's not a switch issue (tested some different switches). 

 

I'm using Sierra 10.12.2 newest update and the RTL8111.kext 2.2.1   (with Yosemite I had not this issue.)

 

I think thats the network "upload" freeze bug?

 

How I can prevent a network freeze?

I don't know what you are talking about because there is no such bug in the driver. If you want help, please send me your kernel logs showing at least one incident.

 

Mieze

Share this post


Link to post
Share on other sites

Mieze,

I saw freshier sources (8.043) at realtek site. Anything useful in it?

I compared the new Linux source against the previous version and found nothing which would justify an update as most of the changes are related to changes inside the Linux kernel.

 

Mieze

Share this post


Link to post
Share on other sites

I don't know what you are talking about because there is no such bug in the driver. If you want help, please send me your kernel logs showing at least one incident.

 

Mieze

EDIT 16-05-2017: As of Sierra 10.12.4 the script included below causes a disconnect on DHCP renew. Changing the MTU to 1453 instead of the default 1500 seems to reduce the problem significantly for me. It still occurs from time to time but no where near the amount as before. You can change the MTU through Sys Pref > Network > Advanced > Hardware > Configure: Manually > MTU: Custom change value in field to 1453.

 

OLD POST:

I'm experiencing possibly the same problem. I believe it also has been reported earlier in this thread but the person opted for placing a new network card. The issue I'm having is that my network connection gets dropped which seems to match what these two people describe. There are no significant kernel messages that give any direction in debugging this related to Ethernet or networking. I have tested the connection using a different switch, network cable and operating system and the issue only pops up in OSX no other computer on the network exhibits this issue. The issue also presented itself more recently since El Capitan and Sierra but it could also be related to what I'm describing next since I started using those services more often since those installations. I've tried three versions of your driver (v2.0.0 - v2.1.0d1 - v2.2.1) and they all result in this issue. I've also recreated my DSDT just incase. 

 

The issue seems to pop up whenever I play Spotify or YouTube videos for a length of time and then leave the computer idle for a while. This is not always the case though sometimes it occurs while I'm surfing and opening multiple websites quickly or browsing while having Spotify stream music. It seems the connection to the Internet is lost and possibly related to routing. I have checked all the bios settings related to any power savings/management as you described and even tried different variations of them. Under Sys Pref it shows the NIC is still connected with full DHCP lease assigned (IP, gateway, dns etc.). I've also tried setting duplex to different values manually and changing MTU. Pinging IP addresses/hosts on the Internet doesn't work, what does work is pinging the internal network. What also keeps working is any NFS, SMB or AFP connections on the LAN as I never have problems when this issue occurs while streaming video or dropping SSH connections to my NAS. To solve the issue clicking DHCP renew or using a command line version of this will resolve the Internet connectivity issue. I can't find anything unusual in the router log either. 

 

The issue has really been doing my head in as I've made many attempts and invested lots of time trying to diagnose the problem but there are no clear leads I can find at least. I can find console messages related to HTTP failures but those are a by product of what's causing this issue.

error 21:59:17.582157 +0100 apsd NSURLConnection finished with error - code -1001
error 21:59:17.582628 +0100 apsd HTTP load failed (error code: -999 [1:89])
error 21:59:48.579997 +0100 apsd NSURLConnection finished with error - code -1001
error 21:59:48.580686 +0100 apsd HTTP load failed (error code: -999 [1:89])
error 22:00:19.002001 +0100 com.apple.preference.network.remoteservice ERROR: Setting <private> as the first responder for window <private>, but it is in a different window ((null))! This would eventually crash when the view is freed. The first responder will be set to nil.
<private>
error 22:00:22.584382 +0100 apsd NSURLConnection finished with error - code -1001
error 22:00:22.584916 +0100 apsd HTTP load failed (error code: -999 [1:89])
error 22:00:53.580467 +0100 apsd NSURLConnection finished with error - code -1001
error 22:00:53.581062 +0100 apsd HTTP load failed (error code: -999 [1:89])
error 22:08:11.965391 +0100 helpd nw_socket_connect connectx failed: [64] Host is down
error 22:08:11.965733 +0100 helpd TIC TCP Conn Failed [2:0x7ffe4292eb40]: 1:64 Err(64)
error 22:08:11.966113 +0100 helpd HTTP load failed (error code: -1004 [1:64])
error 22:08:11.966179 +0100 helpd NSURLConnection finished with error - code -1004
In the end since I've been unable to resolve the issue I've opted for creating a launchd script placed in /Library/LaunchDaemons/com.dith.dhcprenew (sudo nano -w /Library/LaunchDaemons/com.dith.dhcprenew.plist from the terminal). Place the below contents in com.dith.dhcprenew, you might need to change en0 to a different network interface if yours is not assigned to en0. Followed by sudo launchctl load /Library/LaunchDaemons/com.dith.dhcprenew.plist to load the script.

<?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>Label</key>
  <string>com.dith.dhcprenew</string>


  <key>ProgramArguments</key>
  <array>
    <string>bash</string>
    <string>-c</string>
    <string>echo "add State:/Network/Interface/en0/RefreshConfiguration temporary" | sudo scutil</string>
  </array>


  <key>Nice</key>
  <integer>1</integer>


  <key>StartInterval</key>
  <integer>300</integer>


  <key>RunAtLoad</key>
  <true/>


  <key>StandardErrorPath</key>
  <string>/tmp/dhcp-renew.err</string>


  <key>StandardOutPath</key>
  <string>/tmp/dhcp-renew.out</string>
</dict>
</plist>

What this script does is issue a DHCP renew every 5 minutes. The DHCP renew does not cause a drop in connection so there should be no noticeable impact. I started with 5 minutes (StartInterval 300 seconds) but will lower this value if the issue still interferes too much with my computer use. 

Share this post


Link to post
Share on other sites

Hello Mieze, I've created a separate thread for this problem i'm having but now I realize that it probably is best to post it here. I'm copying its content here and deleting it.

 

Hello guys, I'm using a RTL8111 chip with mieze's kexts on yosemite, but altough it recognizes properly it always says that the ethernet cable is unplugged, on the last system.log entries it says:

 

 

Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: PCIe ASPM support disabled.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: EEE support enabled.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: RxPoll support enabled.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 segmentation offload enabled.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: Version 2.2.1 using interrupt mitigate value 0xcf58. Please don't support tonymacx86.com!
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: PCI power management capabilities: 0xffc3.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: PME# from D3 (cold) supported.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: PCIe link capabilities: 0x00477c11, link control: 0x0040.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: RTL8168G/8111G: (Chipset 20) at 0xffffff81085cd000, 40:8d:5c:80:4e:3f
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: Device is WoL capable.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: MSI interrupt index: 1
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: kIOEthernetWakeOnMagicPacket added to filters.
Feb 21 13:24:32 localhost kernel[0]: Ethernet [RealtekRTL8111]: Already in power state 1.
Feb 21 13:25:48 localhost kernel[0]: Ethernet [RealtekRTL8111]: No medium selected. Falling back to autonegotiation.

 

I've uploaded the entire system.log file here.

 

PS: Use only the Feb 21 entries.

PS2: On windows using 3DPNet, it recognizes my chipset as 8111C and on this kext it recognizes as 8111G

PS3: On mavericks with the same kext (Mieze 1.2.3) it runs perfecly

 

Update: With this driver it recognizes the cable, but can't get any IP Addresses.

Share this post


Link to post
Share on other sites

@redbaty: Which mainboard do you have?

 

EDIT: Update your machine to Sierra (or at least El Capitan) and try the latest Version of the driver. If it doesn't work, we'll see what I can do for you but I'm not going to waste my time with Yosemite. Sorry, but this would be too much work.

 

Mieze

Edited by Mieze

Share this post


Link to post
Share on other sites

I installed the kext and the network card has been recognized, but has trouble connecting to the Internet. Sometimes resetting the modem or by unplugging and plugging the power cord starts to function properly. I enclose two pictures that show the error. the MB in the integrated network card is Realtek RTL8111h, I added a wireless PCI TPLINK TL-WN881ND and has no problems
sorry for my bad english (google translator)

post-1397905-0-99974800-1488030918_thumb.png

post-1397905-0-79203500-1488030925_thumb.png

Share this post


Link to post
Share on other sites

@meize

hello i have same issue it shows ethernet but internet doesnt work.

How can i dump information for you?

-PCI Devices-
Ethernet controller        : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
 

Share this post


Link to post
Share on other sites

Hello @meize, 

I talk with you about slow upload on this driver (#895), but I was able to solve it with disabling TSO. Now I have changed motherboard, but it is equipped with same LAN chipset RTL8111C. I have installed latest driver, and again I have problem with slow upload. 

I have already disabled TSO4 and TSO6 in driver info.plist file and recreated cache with "kext Utiliy".

 

here are iper3 logs:

iperf3 -c nas -t20 -i5 -R
Connecting to host nas, port 5201
Reverse mode, remote host nas is sending
[  5] local 192.168.2.10 port 49266 connected to 192.168.2.5 port 5201
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-5.00   sec   557 MBytes   934 Mbits/sec
[  5]   5.00-10.00  sec   557 MBytes   934 Mbits/sec
[  5]  10.00-15.00  sec   557 MBytes   934 Mbits/sec
[  5]  15.00-20.00  sec   557 MBytes   934 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  5]   0.00-20.00  sec  2.18 GBytes   935 Mbits/sec   18             sender
[  5]   0.00-20.00  sec  2.18 GBytes   934 Mbits/sec                  receiver

iperf Done.



iperf3 -c nas -t20 -i5
Connecting to host nas, port 5201
[  5] local 192.168.2.10 port 49758 connected to 192.168.2.5 port 5201
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-5.00   sec  72.9 MBytes   122 Mbits/sec
[  5]   5.00-10.00  sec  62.6 MBytes   105 Mbits/sec
[  5]  10.00-15.00  sec  62.4 MBytes   105 Mbits/sec
[  5]  15.00-20.00  sec  61.6 MBytes   103 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-20.00  sec   259 MBytes   109 Mbits/sec                  sender
[  5]   0.00-20.00  sec   259 MBytes   109 Mbits/sec                  receiver

Any help ? 

Thank You 

Share this post


Link to post
Share on other sites

Howdy

 

Just did a fresh install of Sierra on my old hackintosh that previously had 10.6.8.

I have EP45-UD3P and Trendent TEG-PCITXR HW:3.1R.  I used ##### to try adding the realtek drivers,

but can't seem to get the network to work (it does work via USB adapter).

 

Any reason why this network card will not work with Sierra & these drivers?

Am I doing something dumb?

Should I just buy a different card to make it easier?

Or just be happy it works via USB and wait until I can afford some new hardware?  :)

 

Here is attempt to try the 2.1.0d1 version.  I think I tried all three on ##### 9 (deleting old directories in between)

Realtek RTL8168C/8111C PCI Express Gigabit Ethernet:

  Name: ethernet
  Type: Ethernet
  Bus:  PCI
  Vendor ID:    0x10ec
  Device ID:    0x8168
  Subsystem Vendor ID:  0x1458
  Subsystem ID: 0xe000
  Revision ID:  0x0002
  Link Width:   x1
  BSD name:     en1
  Kext name:    RealtekRTL8111.kext
  Location:     /Library/Extensions/RealtekRTL8111.kext
  Version:      2.1.0d1


Update:  Surely there was a reason I had originally installed that trendnet network card, but I just plugged cable into onboard LAN and it worked.  I also noted that previously with OSX 10.6.8, the trendnet network card was using AppleRTL8169Ethernet.kext.  I am not sure how to get this for Sierra.

logshow.txt.gz

Share this post


Link to post
Share on other sites

Hey Maize,

 

I have been using version 2.2.1d3 on mavericks which I got with git checkout about a year ago and built it myself.  See the following post around that time.  It has been working great but recently my machine has started dropping the network connection every few days and forcing me to reboot to get it back.   I have not changed anything about my mac config other then just running Apple software update perhaps, which doesn't update very much stuff anymore for mavericks.  

 

Do you have any ideas what might be going on or how I could figure out what is going on?  

 

 

I obtained version 2.2.1d3 using git checkout.  Built it.  It seems to be working ok in Mavericks. (See attachment)  

 

I will do some iperf testing later when I get some time and compare between various versions of your realtek driver and also against some others that are out there.  

 

One quick question about the Xcode project, I see there are two schemes, one is called xxxx-v2.  Which scheme is the right one to use for building this?  I used V2, seems to work.  Just asking.

 

I also noticed the Xcode project version number is still 1.4xxx something er other...  FWIW.  That's what gets displayed by GET INFO and other stuff when the kext loads.  The build I attached here has version set to 2.2.1d3, which I guess will be the last working version of this driver up through Yosemite.

Share this post


Link to post
Share on other sites

@Dewdman42

- perhaps you can download and test the latest. v2.2.0  

- you more likely are on the older v2.1.0d3 currently (from a year ago)

Share this post


Link to post
Share on other sites

My understanding is that the version I am using is the last one that will support anything older then El Capitan. My hackintosh is on mavericks and upgrading it is non trivial in fact I think I recall there are some specific reasons why I should not though I can't remember them right now.

 

Its been working totally fine for the pat 12 months until recently and I haven't really changed anything so I'd like to see if there is something I can fix to make the problem go away.

Share this post


Link to post
Share on other sites

Howdy

 

Just did a fresh install of Sierra on my old hackintosh that previously had 10.6.8.

I have EP45-UD3P and Trendent TEG-PCITXR HW:3.1R.  I used ##### to try adding the realtek drivers,

but can't seem to get the network to work (it does work via USB adapter).

 

Any reason why this network card will not work with Sierra & these drivers?

Am I doing something dumb?

Should I just buy a different card to make it easier?

Or just be happy it works via USB and wait until I can afford some new hardware?  :)

 

Here is attempt to try the 2.1.0d1 version.  I think I tried all three on ##### 9 (deleting old directories in between)

Realtek RTL8168C/8111C PCI Express Gigabit Ethernet:

 

  Name: ethernet

  Type: Ethernet

  Bus:  PCI

  Vendor ID:    0x10ec

  Device ID:    0x8168

  Subsystem Vendor ID:  0x1458

  Subsystem ID: 0xe000

  Revision ID:  0x0002

  Link Width:   x1

  BSD name:     en1

  Kext name:    RealtekRTL8111.kext

  Location:     /Library/Extensions/RealtekRTL8111.kext

  Version:      2.1.0d1

 

 

Update:  Surely there was a reason I had originally installed that trendnet network card, but I just plugged cable into onboard LAN and it worked.  I also noted that previously with OSX 10.6.8, the trendnet network card was using AppleRTL8169Ethernet.kext.  I am not sure how to get this for Sierra.

According to your log file, the driver is working as expected so that the problem must be located in the network configuration.

 

Mieze

Share this post


Link to post
Share on other sites

Hi, I have an Acer F5 573G 7828 with Realtek 8168/8111 and It doesn't work. I am using Sierra. Can you help me? Thanks

Share this post


Link to post
Share on other sites

Hi.

I installed two Sierra computers, both with RTL8168/8111 and with v2.2.1. drivers internet works, thanks. Weird thing is that local network transfer speed is very slow, about 11-15KB only. If connection goes to internet, speed is like supposed to be. 

I am not sure about drivers problem, but something is like blocking LAN networking. All adresses is fixed, any energy-saver in network drivers is disabled. Previous machines with 10.6.8 or 10.9.5 works very well, network topology is exactly the same (1000baseT for all machines). Maybe someone has dealed with this problem before?

Share this post


Link to post
Share on other sites

Hi, I have an Acer F5 573G 7828 with Realtek 8168/8111 and It doesn't work. I am using Sierra. Can you help me? Thanks

Please follow the instructions in post#1 of this thread.

Hi.

I installed two Sierra computers, both with RTL8168/8111 and with v2.2.1. drivers internet works, thanks. Weird thing is that local network transfer speed is very slow, about 11-15KB only. If connection goes to internet, speed is like supposed to be. 

I am not sure about drivers problem, but something is like blocking LAN networking. All adresses is fixed, any energy-saver in network drivers is disabled. Previous machines with 10.6.8 or 10.9.5 works very well, network topology is exactly the same (1000baseT for all machines). Maybe someone has dealed with this problem before?

10.6.8? Looks like your machine is very old? Well, I assume that this is a power management issue as Apple has reworked power management in recent versions of OS X. TCP's congestion avoidance mechanism uses packet roundtrip time to estimate network throughput and in case inappropriate power management settings cause delays in packet handling, it will make the network appear to be congested. Please fix power management in order to improve throughput. You might also try to disable TSO.

 

Mieze

Share this post


Link to post
Share on other sites

 inappropriate power management settings cause delays in packet handling, it will make the network appear to be congested. 

 

Why this packet handling problem (if this is a case) is only in local connection, not in internet traffic? My inet connection allows to 40Mbps DL and this works as promised. If I connect to old 10.6.8 machine, this connection works too, but seems that speed is only 100T range, not 1000T. If I connect with SMB, between two Sierras I can't connect at all. Only with AFP. Connection to 10.6.8 is AFP too.

My machines are very ancient indeed - with s775 and s1155, but I need 10.6.8 and even 10.5.8 because of some specific software. I am not sportsmen, so I not need maximum in everything. I am 50 years old now, so gaming is not for me anymore  B).

 

TSO... How I disable TCP segmentation offload in Sierra? 

 

Ok, found a way to edit. I disabled EEE, TSO for ipv4 and ipv6 and... file transfer stalled from ca10% of file size: file was 9,66GB and transfer goes to 906MB, then finito.

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 eliot6001
      I don't know whether my LAN device will work on MAC and Which version of mac but i still want to run MAC on my PC, Also i checked my CPU-GPU and it turned out that i can Run MAX High sierra but i realized that some people have trouble with Sound and Internet connection so Here's the NAME of my LAN device:
       
      PCI\VEN_10EC&DEV_8136&SUBSYS_012310EC&REV_05\4&45F2A70&0&00E1 as (LAN DEVICE took the name from device manager in  windows). 
      also from compatibleIds i got this:
      PCI\VEN_10EC&DEV_8136&REV_05
       
      Is it Supported on any version of macOS ?
    • By Mieze
      Being asked to add support for Realtek's Fast Ethernet PCIe NICs to my RTL8111 driver I got tired of answering the same old question again and again so that I finally decided to write a separate driver for these chips and to make a few of you guys and gals happy.
       
      As of now the driver supports the following members the RTL810X Fast Ethernet family:
      RTL8101E RTL8102E RTL8103E RTL8401E RTL8105E RTL8402 RTL8106E RTL8106EUS RTL8107E   Here is a list of the driver's basic features:
      Supports Sierra (maybe El Capitan). 64 bit architecture only. 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). TCP segmentation offload under IPv4. Support for TCP/IPv6 and UDP/IPv6 checksum offload. Supports Wake on LAN. Support for Energy Efficient Ethernet (EEE) which can be disabled by setting enableEEE to NO in the drivers Info.plist without rebuild. The default is YES. The driver is published under GPLv2. Built using Xcode 4.6.3.  
      Changelog Version 2.0.1 (2018-05-10): Fixes a problem with retrieval of the permanent MAC address on some chips. Version 2.0.0 (2017-04-04): Uses Apple's private driver interface introduced with 10.8. Adds support for the RTL8107E. Supports packet scheduling with QFQ. Adds support for flow control and EEE. Version 1.0.0 (2014-05-24): First offical release.     Installation   Before you install the driver you have to remove any installed driver for RTL810X. Goto /S/L/E and delete the old driver. Recreate the kernel cache. Open System Preferences and delete the corresponding network interface, e. g. en0. If you forget this step you might experience strange problems with certain Apple domains, iTunes and iCloud later. Install the new driver and recreate the kernel cache. 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 other Realtek kext from your system because they 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.  
      Getting the driver
      There is a prebuilt binary in the Download section of this site: http://www.insanelymac.com/forum/files/file/259-realtekrtl8100-binary/ The source code can be found on Github: https://github.com/Mieze/RealtekRTL8100   Mieze
    • 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 grisno
      Hi people,
       
      Installer to activate the sound card REALTEK ALC282-v2 (10ec:0282) with LayoutID 1 or 3 in MacOS. This installer does not contain AppleHDA patched Kext. To work properly, it must be installed over vanilla AppleHDA.kext.
       
      I want to thank the whole community for their efforts and content provided, because without these it would not be possible to create this installer.
       
      I would appreciate comments and suggestions!!
       
      Status:
      Speakers : OK Headphones : OK HDMI Audio : OK (Intel HD4K Tested) LineIn : N/A (Model Without LineIn) MicInt : OK MicIntNoiseReduction : OK MicExt : N/A (Model Without MicExt) AutoDetectLineIn : N/A (Model Without LineIn) Sleep : OK WakeUp : OK AutoSleep : OK Hibernate : OK Siri : OK   Tested Laptops:
       
      - HP Pavillion 15-D002SS
       
      Coming Soon:
       
      - Unified installer for the different supported operating systems.
      - Support model with LineIn jack.
       
      Modified Verbs:
      01271C20 01271D00 01271EA0 01271F90 01471C10 01471D00 01471E17 01471F90 01871CF0 01871D00 01871E00 01871F40 01E71CF0 01E71D00 01E71E00 01E71F40 02171C30 02171D10 02171E21 02171F00 01470C02   DSDT:
       
      Patch to apply with MaciASL in your DSDT
      ######################################### HDEF v1.00######################################## into method label _DSM parent_label HDEF remove_entry;into device label HDEF insertbeginMethod (_DSM, 4, NotSerialized)\n{\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "layout-id", Buffer() { 0x01, 0x00, 0x00, 0x00 },\n //"layout-id", Buffer() { 0x03, 0x00, 0x00, 0x00 },\n "hda-gfx", Buffer() { "onboard-1" },\n "PinConfigurations", Buffer() { },\n })\n}\nend;  
×