Jump to content

New Driver for Realtek RTL8111


Mieze
1,593 posts in this topic

Recommended Posts

On 2/11/2019 at 3:53 PM, pharic said:

Having problems with RTL8111H on High Sierra. Adapter appears, but only works a few times. Usually I have to restart 3 times the computer to get it working, the rest of times It doesn't works or It works too slowly. I can't find any ASPM option in my B350M Bazooka bios.

 

Did it work before? Could you, please, add your complete hardware information to your signature? It might help. I'm guessing this is an AMD system, right?

 

Also, if you don't have an ASPM option in BIOS (which not all motherboard manufacturers add to their BIOS), you have one in Clover config, in ACPI -> Disable ASPM.

 

Also, this might help:

 

"Use the debug version to collect log data when trying to track down problems. The kernel log messages can be found in /var/log/system.log. For Sierra and above 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." LOL, Mieze. :))

 

 483486844_Screenshot2019-02-14at11_15_08.thumb.png.112eaa42bb85b60f2b8cf2c4e3eab9d1.png

 

I'm on RTL8111G, using this kext for I don't even remember how many years, with 0 issues whatsoever, from day one. What I'm trying to say is that this is one of the best works I've ever seen. So, my guess is that, whatever the issue is here, it's probably a very specific issue related to your hardware or setup. Or both. :) 

Edited by arsradu
Link to comment
Share on other sites

  • 1 month later...
On 2/14/2019 at 10:22 AM, arsradu said:

 

Did it work before? Could you, please, add your complete hardware information to your signature? It might help. I'm guessing this is an AMD system, right?

 

Also, if you don't have an ASPM option in BIOS (which not all motherboard manufacturers add to their BIOS), you have one in Clover config, in ACPI -> Disable ASPM.

 

Also, this might help:

 

"Use the debug version to collect log data when trying to track down problems. The kernel log messages can be found in /var/log/system.log. For Sierra and above 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." LOL, Mieze. :))

 

 

I'm on RTL8111G, using this kext for I don't even remember how many years, with 0 issues whatsoever, from day one. What I'm trying to say is that this is one of the best works I've ever seen. So, my guess is that, whatever the issue is here, it's probably a very specific issue related to your hardware or setup. Or both. :) 

 

Hi arsradu, first of all a lot of thanks for your answer.

 

This is my first Hackintosh so It didn't work before. It is an AMD system, this is my hardware:

 

Motherboard: MSI B350M Bazooka

CPU: Ryzen 1400

GPU: GTX 1050TI Cerberus

HDD

 

Disabling ASPM on clover configurator doesn't work. I have tried injecting the kext with clover configurator and I have tried to install it with Kext Wizard always recreating the kernel and the issue still there. I attach you 2 files, one is the log and the other one is a netstat. Thanks for all!

 

Log here

netstat.txt

Edited by pharic
Link to comment
Share on other sites

57 minutes ago, pharic said:

 

Hi arsradu, first of all a lot of thanks for your answer.

 

This is my first Hackintosh so It didn't work before. It is an AMD system, this is my hardware:

 

Motherboard: MSI B350M Bazooka

CPU: Ryzen 1400

GPU: GTX 1050TI Cerberus

HDD

 

Disabling ASPM on clover configurator doesn't work. I have tried injecting the kext with clover configurator and I have tried to install it with Kext Wizard always recreating the kernel and the issue still there. I attach you 2 files, one is the log and the other one is a netstat. Thanks for all!

 

Log here

netstat.txt

 

Kext seems to be loading just fine... However, I've noticed this error:

Failed to load kext com.apple.filesystems.autofs (error 0xdc008016).

Which, if I got this right, is an error specific to APFS. My guess is that since you can load the OS, your APFS.efi is fine, as well. So..probably not related to your network issues. Still, it's interesting that everybody reporting this kind of issues has an AMD (or at least a Ryzen) CPU. So, I'm thinking maybe there's something to Ryzen CPUs that cause issues like this.

 

Also, I don't think you need to force anything to load. The kext seems to be loading perfectly fine. So I don't think that's the issue here. 

 

Would you be able to remove your SMBIOS information from Clover config and upload the entire EFI folder for analysis?

Edited by arsradu
Link to comment
Share on other sites

9 hours ago, arsradu said:

 

Kext seems to be loading just fine... However, I've noticed this error:


Failed to load kext com.apple.filesystems.autofs (error 0xdc008016).

Which, if I got this right, is an error specific to APFS. My guess is that since you can load the OS, your APFS.efi is fine, as well. So..probably not related to your network issues. Still, it's interesting that everybody reporting this kind of issues has an AMD (or at least a Ryzen) CPU. So, I'm thinking maybe there's something to Ryzen CPUs that cause issues like this.

 

Also, I don't think you need to force anything to load. The kext seems to be loading perfectly fine. So I don't think that's the issue here. 

 

Would you be able to remove your SMBIOS information from Clover config and upload the entire EFI folder for analysis?

Of course, here you are (here is decompressed if you want). RTL8111 kext is not in the kext folder because I have installed It with Kext Wizard, but with the kext on the "Others" folder It doesn't work too. Thanks again!

Link to comment
Share on other sites

18 hours ago, pharic said:

Of course, here you are (here is decompressed if you want). RTL8111 kext is not in the kext folder because I have installed It with Kext Wizard, but with the kext on the "Others" folder It doesn't work too. Thanks again!

 

Config.plist

 

Devices -> do you need ForceHPET? Is this something specific to AMD CPUs? I'm not sure it's required.

Kernel & Kext Patches -> I think you didn't miss any of Pike's IONVMEFamily Patches.... you sure you need all 17 of them?

System Preferences -> Inject Kext I would recommend switching to YES, so it always loads kexts from Clover/kexts/. Probably not the source of the issue. But it would be good to try to eliminate all possibilities one by one. Of course, that will also require that you put all your kexts in Clover/Kexts/10.13 (for High Sierra) or Clover/Kexts/Other.

 

Drivers64UEFI folder

 

Remove the following:

 

apfs.efi - you already have ApfsDriverLoader-64.efi for that

CsmVideoDxe - not needed if you're planning on having a native UEFI boot. And your video card definitely supports that. So you don't need CSM anyway. Also, for a full UEFI boot, it needs to be disabled in BIOS (most likely displayed under Windows options).

EmuVariableUefi.efi - since you're already using AptioMemoryFix.efi, chances are you don't need EmuVariableUefi.efi.

OsxAptioFix3Drv.efi - same as AptioMemoryFix only more up to date. Don't use them together. It's one OR the other

OsxAptioFixDrv.efi - same as above. Not to be used together.

Ps2MouseDxe.efi....? - Are you using a PS2 mouse? If not, you don't need that.

UsbKbDxe.efi & UsbMouseDxe.efi - for as far as I know you don't need any of those. USB keyboard and mouse support is native. I definitely never needed those.

VboxExt2.efi and VBoxExt4.efi - unless you're also running some Linux partitions, these file systems are not used in MacOS, for as far as I know.

VBoxIso9600.efi - most likely you won't need that.

 

Kexts folder

 

I don't even know where to start with this one....

 

Pretty sure you don't need NullCPUPowerManagement... Also, since you're probably using the official Nvidia drivers, not sure you need NVWebDriverLibValFix....but you can keep it if you want.

 

The rest of them I don't even know what they do... I see another ApplePS2Controller.kext...which, if you don't have a PS2 mouse and keyboard, I don't think you need...

 

Anyway, I've never tried an AMD hackintosh, maybe you need more stuff to make it work.... But I still don't think you need ALL that stuff... And, problem is, when you have so many variables that could fail, how do you even debug? I personally would start with minimum necessary kexts. Which is probably only FakeSMC and probably WhateverGreen for your 1050, depending which SMBIOS are you using. But everything else... I don't know... As I said, I would start small. With minimum changes, minimum drivers, minimum kexts. And only in one place. Not spread across the entire system. Some in L/E or S/L/E and others in Clover/Kexts... I mean, that's not the way to go. You need to have some order in debugging something like this.

 

Also, if you don't have already, make a USB drive with Clover and all the files you have right now on your current EFI folder (you can copy-paste from one to the other, to make sure all of them are exactly the same), make the changes only on the USB drive and make sure you only boot from that.

 

Alternatively, you can go the other way around and make the changes on the SSD EFI partition. But have a backup USB drive at hand. Your choice. Just always have a bootable backup.

 

Edited by arsradu
Link to comment
Share on other sites

On 4/28/2018 at 8:03 AM, Mieze said:

Let me guess: ASPM? Take a look at the BIOS setup and make sure that ASPM is either disabled or that the OS has full control over ASPM. Also check that you are using the latest version of the driver.

 

Mieze

Hi @Mieze

 

I have a ASUS Prime Z370-P motherboard with a RTL8111H on Mojave 10.14.4 and Adapter appears correctly in System Preferences,Network. but no internet. ASPM option disabled in bios.

 

To get it to work I have discovered a way to refresh the ethernet adapter in Mojave.

 

System Preferences->Network->Ethernet (which is green and says Connected with IP)->Advanced-Hardware

 

Then I change Configure from Automatically to Manually save settings back to Automatically then Manually then save settings again.

 

It works every time.

 

Is there anything you can do in the RealtekRTL8111.kext v2.2.2 to refresh ethernet.

 

The strange thing about this is it only started happening when I changed from my old Netgear Modem/Router to a new Tp Link Vr600v modem/router AC1600.

By the way I have done everything you suggested on how to install new RealtekRTL8111.kext to S/L/E

Edited by macky1
edit
Link to comment
Share on other sites

@mack1 This doesn't look like a driver issue because the driver doesn't handle DHCP itself, that's the job of the network stack. Try to delete and recreate the network configuration and check the router's DHCP server.

Link to comment
Share on other sites

6 hours ago, Mieze said:

@mack1 This doesn't look like a driver issue because the driver doesn't handle DHCP itself, that's the job of the network stack. Try to delete and recreate the network configuration and check the router's DHCP server.

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

Link to comment
Share on other sites

  • 4 weeks later...
  • 5 weeks later...

I don't know if it has anything to do with the network card driver.

2019-06-02 15:16:19.751273+0800 0x116      Default     0x0                  0      0    kernel: (AppleSystemPolicy) AppleSystemPolicy has been successfully started
2019-06-02 15:16:20.381801+0800 0x14a      Error       0x0                  0      0    kernel: (AppleSystemPolicy) port is not ready for callouts
2019-06-02 15:16:20.382084+0800 0x14a      Error       0x0                  0      0    kernel: (AppleSystemPolicy) port is not ready for callouts

 

Link to comment
Share on other sites

  • 3 weeks later...
  • 1 month later...
On 4/8/2019 at 5:11 AM, macky1 said:

Hi @Mieze

 

I have a ASUS Prime Z370-P motherboard with a RTL8111H on Mojave 10.14.4 and Adapter appears correctly in System Preferences,Network. but no internet. ASPM option disabled in bios.

 

To get it to work I have discovered a way to refresh the ethernet adapter in Mojave.

 

System Preferences->Network->Ethernet (which is green and says Connected with IP)->Advanced-Hardware

 

Then I change Configure from Automatically to Manually save settings back to Automatically then Manually then save settings again.

 

It works every time.

 

Is there anything you can do in the RealtekRTL8111.kext v2.2.2 to refresh ethernet.

 

The strange thing about this is it only started happening when I changed from my old Netgear Modem/Router to a new Tp Link Vr600v modem/router AC1600.

By the way I have done everything you suggested on how to install new RealtekRTL8111.kext to S/L/E

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 

Link to comment
Share on other sites

1 hour ago, Mieze said:

@Roran90 Looks more like a DHCP issue with the router but it's definitely not a driver problem!

I have the same issue with the manual IP address too, after turn on the pc I need to reboot it one time to get the network working fine, otherwise I see the ethernet connected but Internet doesn't work.

Link to comment
Share on other sites

2 hours ago, Roran90 said:

I have the same issue with the manual IP address too, after turn on the pc I need to reboot it one time to get the network working fine, otherwise I see the ethernet connected but Internet doesn't work.

If ethernet is shown as connected, the driver is working fine. Otherwise it would constantly reset the NIC and change between connected and not-connected state but, according to your description, this is not the case. Your problem is not a driver issue. Search somewhere else for the reason of your problem!

 

Mieze :cat:

Link to comment
Share on other sites

3 hours ago, Mieze said:

If ethernet is shown as connected, the driver is working fine. Otherwise it would constantly reset the NIC and change between connected and not-connected state but, according to your description, this is not the case. Your problem is not a driver issue. Search somewhere else for the reason of your problem!

 

Mieze :cat:

In the OT, in the troubleshooting section you wrote:

 

Check your BIOS settings. You might want to disable Network Boot and the UEFI Network Stack as these can interfere with the driver.

 

So are you meaning that I have to disable or enable the network boot / UEFI network stack? With "you might want" I don't understand 

Link to comment
Share on other sites

14 minutes ago, Roran90 said:

In the OT, in the troubleshooting section you wrote:

 

Check your BIOS settings. You might want to disable Network Boot and the UEFI Network Stack as these can interfere with the driver.

 

So are you meaning that I have to disable or enable the network boot / UEFI network stack? With "you might want" I don't understand 

The phrase "might want to do something" is a polite form so say that you should do something.

Link to comment
Share on other sites

@Mieze I tried all those is possible to try but I have the same issue, internet works only after a reboot, but Ethernet is connected during the first boot too.Any suggestion to try to solve? My lan adapter is Realtek 8111H, I read in the recent past there were problems with the kext.

 

The kext need some particular setting enabled on Clover config? Some particular additional driver? 

Link to comment
Share on other sites

On 6/19/2019 at 12:00 AM, Luiz Saluti said:

Hello dear Mieze, I attached here a copy of Realtek RTL8125 driver for linux. I tested it and it works perfectly. Do you think it is possible to "translate" those to Mac?

Of course it's possible but in order to get a working driver I need hardware to test but at the moment there are only a few Asrock boards available which come with this chip and I won't buy any of them because:

  1. They are quite expensive.
  2. After all the trouble I had with Asrock boards in the past, I'm definitely not going to buy Asrock anymore. I wouldn't even take one of those if I get it for free!

In case there was an addon-on card with this chip, I would buy it but unfortunately there isn't so that I have no hardware to test. Provided the situation changes in the future, I might rethink my decision but without hardware I'm not willing to invest my time in driver development. Sorry!

 

Mieze

Link to comment
Share on other sites

Here is a first development build of version 2.3.0d5 which is now based on Realtek's Linux driver version 8.047.04. As I rewrote a lot of code there are several things to test:

  • Support for new family members including the Killer E2600 (yes, it's based on Realtek silicon now).
  • Link change detection and sleep/wake have been rewritten from scratch.
  • Requires Mojave but should also work under Sierra or High Sierra, provided you build from source.

When giving feedback, in particular in case of a bug report, please include kernel logs as it's very important for me to know which chip version you are using (not the brand name because this is marketing stuff and useless for me). Also keep in mind that this is a development build. Although I haven't got any kernel panics during my tests, you should be prepared to recover from a kernel panic before installing this driver.

 

Use

log show --predicate "processID == 0" --debug | grep Realtek

to collect the kernel logs including everything I might need.

 

Good luck testing!

 

Mieze :cat: 

RealtekRTL8111-V2.3.0d5.kext.zip

Edited by Mieze
  • Like 4
  • Thanks 2
Link to comment
Share on other sites

On 8/9/2019 at 3:23 AM, Mieze said:

Here is a first development build of version 2.3.0d5 which is now based on Realtek's Linux driver version 8.047.04. As I rewrote a lot of code there are several things to test:

  • Support for new family members including the Killer E2600 (yes, it's based on Realtek silicon now).
  • Link change detection and sleep/wake have been rewritten from scratch.
  • Requires Mojave but should also work under Sierra or High Sierra, provided you build from source.

When giving feedback, in particular in case of a bug report, please include kernel logs as it's very important for me to know which chip version you are using (not the brand name because this is marketing stuff and useless for me). Also keep in mind that this is a development build. Although I haven't got any kernel panics during my tests, you should be prepared to recover from a kernel panic before installing this driver.

 

Use


log show --predicate "processID == 0" --debug | grep Realtek

to collect the kernel logs including everything I might need.

 

Good luck testing!

 

Mieze :cat: 

RealtekRTL8111-V2.3.0d5.kext.zip

 

Hello Mieze, is the 8168H supported? 
I tried this but the driver somehow doesn't get the Hardware Address, defaulting to 00:00:00:00:00:00.

 

Thanks

kernel_log.rtf

RTL8168H.png

Link to comment
Share on other sites

×
×
  • Create New...