Jump to content
Mieze

New Driver for Realtek RTL8111

1,467 posts in this topic

Recommended Posts

@toperloid According to the logs the driver is working fine but it fails to pick up the MAC address. This is the reason why it doesn't work as expected on your machine because DHCP fails to acquire an IP address due to the broken MAC address. I'll try to find a solution for it and will publish a new test build ASAP.

 

EDIT: What happens if you enable the UEFI network stack in BIOS?

 

Mieze

Edited by Mieze

Share this post


Link to post
Share on other sites
Advertisement
On 4/9/2019 at 5:05 PM, macky1 said:

Thank you for your suggestion will try it out. I've got a feeling it is the network stack and thus possibly Mojave bug.

So far in testing of beta RealtekRTL8111-V2.3.0d5 it works good. Whatever the issue was with the driver v2.2.2 using RTL8111H on Mojave it has disappeared in this version. Internet starts up every time now.

Thanks Mieze for the updated driver.

On 8/5/2019 at 7:52 PM, Roran90 said:

I have the same issue, how did you solve the issue? I tried a clear cmos, I changed the cable but still have the problem and it is very annoying 

Try beta version RealtekRTL8111-V2.3.0d5 and see how it goes. So far for me it works good.

Share this post


Link to post
Share on other sites

@Mieze sorry for late reply. My BIOS does not have that option, unfortunately. 

 

My device is this using coreboot (mrchromebox) bios running in High Sierra if that info helps

Edited by toperloid

Share this post


Link to post
Share on other sites
3 hours ago, toperloid said:

@Mieze sorry for late reply. My BIOS does not have that option, unfortunately. 

 

My device is this using coreboot (mrchromebox) bios running in High Sierra if that info helps

No problem! I'm currently investigating possible solutions to resolve situations when retrieving the MAC address fails. Either way I could use a random MAC address or add an option to supply a fallback address and I'm not quite sure which way to go because both methods have drawbacks.

Share this post


Link to post
Share on other sites
2 minutes ago, Mieze said:

No problem! I'm currently investigating possible solutions to resolve situations when retrieving the MAC address fails. Either way I could use a random MAC address or add an option to supply a fallback address and I'm not quite sure which way to go because both methods have drawbacks.

What would be the drawback of manually supplying one? it requires more user work, but seems the solid route. a random one could change and that could cause all sorts of havoc (software license tied to MAC for instance). This issue is probably rare to begin with, I think a plist edit is a good solution for a fallback address. just make sure its disabled by default so it requires user interaction (adding a valid address and enabling the fallback).

g\

Share this post


Link to post
Share on other sites
4 hours ago, genzai said:

What would be the drawback of manually supplying one? it requires more user work, but seems the solid route. a random one could change and that could cause all sorts of havoc (software license tied to MAC for instance). This issue is probably rare to begin with, I think a plist edit is a good solution for a fallback address. just make sure its disabled by default so it requires user interaction (adding a valid address and enabling the fallback).

Problems arise when the fallback isn't properly configured, e.g. when multiple machines are using he same MAC address or there is no valid fallback address supplied. On the other hand using a random address also might cause trouble as it will change on each and every boot. I'm still not sure what to do but will have to make a decision tomorrow.

 

Mieze :cat:

Share this post


Link to post
Share on other sites

@toperloid This one is especially for you but all users are encouraged to test it! 

 

Here is version 2.3.0d7 in which I added an option to supply a fallback MAC being used in situations when retrieving a valid MAC address fails.

 

In the driver's Info.plist I added the option "fallbackMAC" to "Driver Parameters". "fallbackMAC" is a string which may be used to supply your original MAC address. It is used only if retrieving a valid MAC address fails. In the default configuration, the string is empty. In case you need it, please fill in your MAC with the following syntax "xx:xx:xx:xx:xx:xx" in which every x represents exactly one hexadecimal digit.

 

Warning: This is not an option for MAC address customization and I won't add such an option because it would be stupid to do so. Use with care because MAC addresses have to be unique. Using another machine's MAC address may produce unexpected results!

 

PS: Could anybody be so nice to test test WoL with this built because it doesn't work on my test machine and I have reasons to beliefe that it's not the driver's responsibility.

 

RealtekRTL8111-V2.3.0d7.kext.zip

Edited by Mieze

Share this post


Link to post
Share on other sites

@Mieze Thank you. I won't be able to test this until tomorrow when I get home.

I managed to get the actual MAC address from an Ubuntu live boot the previous day and will be using it to test. 

Share this post


Link to post
Share on other sites

@Mieze It works! I'm able to test the connection using Speedtest. It works perfectly. 

Many thanks to you :)

 

Here's the log showing that it was able to use the MAC address that I've supplemented.

 

 

KL.txt

Network Utility.png

Share this post


Link to post
Share on other sites

Driver works perfectly on my signature rig. WoL works...but not reliably. It seems to loop back on its own. From 3 tests, the first one was ok, the following two, bounced back almost immediately after going to sleep.

 

I'll test a bit more and update if anything interesting comes up.

 

WoL from shutdown works with no hiccups (so far).

 

Update:

 

Batch test nr 2 from sleep:


[Attempt nr. | result]

01 | ok
02 | nok 
03 | ok
04 | nok
05 | ok
06 | nok
07 | ok
08 | nok
09 | ok
10 | nok

 

Ok = went to sleep ok, woke up by network trigger
Nok = sleep not ok, woke up on its own

First attempt made after a complete shutdown and reboot (just to have clear results).

 

Batch test nr 2 from shutdown:

 

[Attempt nr. | result]

01 | ok
02 | ok
03 | ok
04 | ok
05 | ok
06 | ok
07 | ok
08 | ok
09 | ok
10 | ok

 

Ok = shutdown ok, rebooted by network trigger

 

 

Edited by arsradu

Share this post


Link to post
Share on other sites

Thanks for Great Work ...

Realtek 8118 Gaming LAN Bandwidth Control Error is Gone !!!

B360M-D3V Board with Realtek 8118 Gaming LAN "work Perfect  Now !!!"

Thanks Again !!!

 

Share this post


Link to post
Share on other sites

Hello, could you please help to check whether realtek killer e3000 can use this driver? Thank you very much!

Edited by txlajiwo

Share this post


Link to post
Share on other sites
2 hours ago, txlajiwo said:

Hello, could you please help to check whether realtek killer e3000 can use this driver? Thank you very much!

 

Realtek Killer E3000 is based on RTL8125/RTL8125AG.

 

And could you delete the translated texts you quoted? It's unnecessary to quote #1.

Edited by Henry2010

Share this post


Link to post
Share on other sites
53 minutes ago, Henry2010 said:

 

Realtek Killer E3000 is based on RTL8125/RTL8125AG.

 

And could you delete the translated texts you quoted? It's unnecessary to quote #1.

Thank you for your answer, please forgive me for any inconvenience, deleted, thank you!

Share this post


Link to post
Share on other sites
On 8/17/2019 at 8:17 AM, arsradu said:

atch test nr 2 from sleep:


[Attempt nr. | result]

01 | ok
02 | nok 
03 | ok
04 | nok
05 | ok
06 | nok
07 | ok
08 | nok
09 | ok
10 | nok

 

Ok = went to sleep ok, woke up by network trigger
Nok = sleep not ok, woke up on its own

First attempt made after a complete shutdown and reboot (just to have clear results).

 

Batch test nr 2 from shutdown:

 

[Attempt nr. | result]

01 | ok
02 | ok
03 | ok
04 | ok
05 | ok
06 | ok
07 | ok
08 | ok
09 | ok
10 | ok

 

Ok = shutdown ok, rebooted by network trigger

 

Thank you very much for the support. I'm going to check the code again as your test results indicate that there might be a race condition in the driver code. As already mentioned, WoL didn't work at all with my Asrock B85M Pro4 but it works perfectly with the Gigabyte Z270 Gaming K3.

Share this post


Link to post
Share on other sites

Hello, I have MSI X570 Ace board which has an nic r8125.

I try beta7 kext but no luck.

I found 0x812510ec not in info.plist so I manually add it but the kext can't find my ethernet.

Here is info.plist of this kext:

image.thumb.png.a1ed5867223c2dd290bcad6efbb55aae.png

 

and here is the log:

image.thumb.png.91efe017dbc4222f4c381302b5087b30.png

full log:

 

r8125.log

Share this post


Link to post
Share on other sites

@Mieze so why not? Does r8125 differs with rtl8125 or any other reasons?

Will you add support for this chip? I don’t know much about Ethernet drivers.

Thx.

Share this post


Link to post
Share on other sites

No because this chip isn't supported by the underlying Linux driver. I could make a new driver but as there are no add-on cards with this chip available and I need hardware to test, there won't be any macOS driver in the near future.

 

Mieze :cat:

Share this post


Link to post
Share on other sites

Hi @Mieze, with the latest driver my ethernet works fine but sometimes when I turn on my hackintosh, it has a self-assigned ip and I need to unplug the cable from router then plug in again and a new IP is assigned.Could this be a driver issue or it depends from something else in the configuration? thanks

Share this post


Link to post
Share on other sites

@Roran90 Sounds more like a DHCP related problem. Anyway, check the kernel logs to see what's going on!

 

@Henry2010 Yesterday I ordered one of these RTL8125 add-on cards on aliexpress but it won't be delivered before mid of November.

Edited by Mieze

Share this post


Link to post
Share on other sites

Can someone please point me to the debug version of the driver? My search has been unfruitful.

I am having intermittent ethernet issues on Catalina. I thought I narrowed it down to the router having issues but I ruled that out.

 

I can recover the interface by taking it down and bringing it back up (ifconfig en0 down and up) so I suspect the driver is behaving strange but I don't have any logs to prove it one way or another.

 

EDIT:  After pulling my hair out for a bit. I found a rouge WIFI extender out in the garage was causing an IP conflict with my main router (which it shouldn't do). So instead of relying on DHCP I gave the extender a static IP address which seemed to fix everything.

 

It seemed to affect my hackintosh most which confused the issue and made me go down the wrong path. 

Edited by edifice98

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.

Announcements

  • Similar Content

    • By Mieze
      This project is dedicated to Lucy, my lovely little Tyrannofelis Rex. 
       

       
      LucyRTL8125Ethernet is an open source driver for the Realtek RTL8125 family of 2.5GBit Ethernet controllers.
       
      Key Features of the Driver
      Supports all versions of Realtek's RTL8125 2.5GBit Ethernet Controllers found on recent boards. 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 over IPv4 and IPv6. Support for TCP/IPv4, UDP/IPv4, TCP/IPv6 and UDP/IPv6 checksum offload. Supports jumbo frames up to 9000 bytes (strongly recommended for 2.5GBit operation). Fully optimized for Catalina (doesn't work with Mojave and below). Note that older versions of macOS might not support 2.5GB Ethernet. Supports Wake on LAN (untested). Supports VLAN (untested). 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.  
      Current Status
      The driver has been tested successfully under Catalina (10.15.4 and above) and, according to first tests, is working stable. I haven't experienced any Kernel Panics during my tests and is working stable on my primary work machine. The driver has been designed to work with Catalina but might also work with Mojave, provided you build from source with Xcode 10.. Please keep in mind that support for 2.5GBit Ethernet was introduced in Mojave (or maybe High Sierra?) so that there is no way to make it work with Sierra or below.  
      Known Issues
      Using autoselect medium it seems to prefer negotiating a connection speed of 1Gbit with my switch so that I had to select 2.5GBit/s manually in order to achieve this speed but it might be different with other switches.   Installation
      You might want to install the driver to /L/E as usual but it's also ok to use Clover's injection function (installation in the EFI folder). Use your favorite kext installation tool for installation or perform the installation manually (for Clover injection). It's your call!  
      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 "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.  Delete the following files: /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist /Library/Preferences/SystemConfiguration/preferences.plist 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 1.0.0d6 (2020-06-14) Fixed chip recognition. Version 1.0.0d3 (2020-04-20) First working development release.  
      Getting the driver
      Source code can be found on GitHub: https://github.com/Mieze/LucyRTL8125Ethernet You'll find the lastest prebuilt binary here in this thread (see below).  
       
    • By Yosa Tristian
      Can someone help me?
      When I turn on the USB Wireless Adapter (Wifi Dongle), my mouse is lagging (like quick ejecting & rejecting).
      When I turn off the Wifi Dongle, my mouse runs smooth again.
       
      Mouse: Fantech G13 Rhasta II
      Wifi Dongle: TPLink TL-WN725N
      Wifi Dongle Driver : https://github.com/chris1111/Wireless-USB-Adapter
       
      And if you don't mind, can you check my hackintosh configuration? maybe something isn't right yet
      Send me Yosas-MacBook-Pro.zip
    • By Mieze
      Key Features of the Driver
      Supports Qualcomm Atheros AR816x, AR817x, Killer E220x, Killer E2400 and Killer E2500. 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. Fully optimized for Mountain Lion, Mavericks and Yosemite (64bit architecture) but should work with Lion (only 64bit) too, provided you build from source with the 10.7 SDK. Wake on LAN support. VLAN support used to be broken in older versions but is working since version 2.3.2. The driver is published under GPLv2.
    • By miliuco
      Install macOS 10.15 Catalina on Gigabyte P55-USB3 with Radeon RX 580 graphics card using a USB device created with the createinstallmedia command and Clover as bootloader. Instructions to install macOS 10.14 Mojave on this computer are almost identical, replacing Catalina app with Mojave, so this article is suitable for both versions of macOS. The Gigabyte P55-USB3 motherboard (and some others from the same brand with the P55 / H55 chipset) have made it easy to build a hackintosh and install macOS since 10 years ago. Although it is an old motherboard, the behavior with Mojave or Catalina is very good after changing the classic hard drive (HDD) for a solid state drive (SSD).

      Components of the hackintosh
      Gigabyte GA-P55-USB3 motherboard: P55 chipset, 1156 socket, ALC892 audio, Gigabit RTL8111D network, DDR3 RAM Intel Core i5-750 processor for socket 1156: 4 cores, 8MB cache, clock rate 2.66 GHz Fenvi FV-T919 wireless + Bluetooth card: PCI-Express, wifi is ac type, detected by macOS as Airport and Apple Bluetooth Radeon RX 580 8 GB graphics card: works OOB but with a few details to be considered, it has its own article.  
      Previous requirements
      Install macOS Catalina app in /Applications folder USB flash drive with at least 16GB prepared from Disk Utility with MBR partition scheme and formatted as Mac Os Plus (on older Gigabyte boards like mine, USB sticks partitioned with GUID scheme instead of MBR usually hang the system when booting) Recent version of Clover (I have used r5117) Recent versions of Lilu (at least 1.4.4) and WhateverGreen (at least 1.3.9) to fine-tune the behavior of the graphics card Recent version of RealtekRTL8111 (I have used 2.2.2) FaceSMC version 6.26-322 (newer versions disable automatic mounting of USB devices on my system).  
      Create install USB
      Run this command from Terminal (assuming the target device is called USB):
      Bash: sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/USB /Applications/Install\ macOS\ Catalina.app
      Clover must be installed on the USB memory, I choose the following options:
      Bootloader > Install boot0af on the MBR CloverEFi > CloverEFI 64-bit SATA BIOS Drivers, 64 bit > Recommended drivers > FSInject + SMCHelper + XhciDxe BIOS Drivers, 64 bit > File System drivers > ApfsDriverLoader Install RC scripts on selected volume Optional RC scripts > Disable sleep proxy client.  
      You have to copy 4 kexts to the EFI/CLOVER/kexts/Other folder of the USB device: FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2. Regarding the config.plist file, the most significant is:
      Boot > kext-dev-mode = 1 in Boot arguments GUI > Theme embedded, EmbeddedThemeType Dark, Screen Resolution 1920x1080, Preboot in Hide Volume Graphics > blank, nothing is checked except if foxbox solution is used to have more than 2 connectors enabled RT Variables > 0x28 in BooterConfig and 0x67 in CsrActiveConfig SMBios > iMac14,2 Sytem Parameters> Yes in Inject Kexts and check Inject System ID.  
      Install macOS Catalina

      Boot from the USB device and choose Install macOS from Install macOS Catalina. The installation program runs until the PC restarts. Here choose Install macOS from HDD (the name of the volume you are installing macOS on). With RX 580 graphics card, the screen goes black in this second phase of the installation, it is a phase in which the user has nothing to do until the PC is restarted so you can let it work until the Clover menu again. You have to choose Boot macOS from HDDto boot the installed system from the hard disk, the screen is recovered and you can configure the account and the initial options. From this moment the screen works fine.

      In summary:
      Boot from USB > Clover menu > Install macOS from Install macOS Catalina > screen works fine Boot from USB > Clover menu > Install macOS from HDD > black screen Boot from USB > Clover menu > Boot macOS from HDD > screen works fine.  
      Install Clover and kexts on the hard drive

      Clover needs to be installed on the disk where we just installed macOS. Options are the same as when installing it on the USB memory. You also have to copy the 4 kexts (FaceSMC 6.26-322, Lilu 1.4.4, WhateverGreen 1.3.9 and RealtekRTL8111 2.2.2) into the EFI/CLOVER/kexts/Other folder on the EFI partition of the disk. And review the config.plist file remembering the comments for the USB.

      If everything goes well, the computer starts from the hard disk with a running copy of macOS Catalina.
       
       

×