Jump to content

New Driver for Realtek RTL8111


Mieze
1,593 posts in this topic

Recommended Posts

Glad to see some people are still rockin with the good old Snow Leopard. I am currently installing it. If you need any feedback, or whatever, just ask :)

 

Thank you.

 

 

mm, problem apparently :

 

 

 

 

May 23 22:46:49 localhost kernel[0]: kxld[com.insanelymac.RealtekRTL8111]: The following symbols are unresolved for this kext:
May 23 22:46:49 localhost kernel[0]: kxld[com.insanelymac.RealtekRTL8111]:  _OSKextGetCurrentIdentifier
May 23 22:46:49 localhost kernel[0]: kxld[com.insanelymac.RealtekRTL8111]:  _OSKextGetCurrentLoadTag
May 23 22:46:49 localhost kernel[0]: kxld[com.insanelymac.RealtekRTL8111]:  _OSKextGetCurrentVersionString
May 23 22:46:49 localhost kernel[0]: Can't load kext com.insanelymac.RealtekRTL8111 - link failed.
May 23 22:46:49 localhost kernel[0]: Failed to load executable for kext com.insanelymac.RealtekRTL8111.
May 23 22:46:49 localhost kernel[0]: Kext com.insanelymac.RealtekRTL8111 failed to load (0xdc008016).
May 23 22:46:49 localhost kernel[0]: Failed to load kext com.insanelymac.RealtekRTL8111 (error 0xdc008016).

 

Is that one you built yourself or did you use my build on bitbucket?

 

FYI: My days supporting Snow Leopard are numbered. I'll be selling my ProBook 4530s (replacing with Lenovo U430 or ProBook 4540s) which is the last machine I have capable of running SL.

Link to comment
Share on other sites

I used the precompiled version available on Bitbucket :)

Hmm... I must have built it with the wrong version of xcode. I usually test on one machine, but build the official package for download on another. It is probably not a good practice that I do that, but it only causes problems when Apple provides a buggy xcode (as is this case).

 

I uploaded a new build to bitbucket. Please try it. I have no SL to test on at the moment as I've pulled the HDD from my 4530s to transfer to the new laptop...

  • Like 1
Link to comment
Share on other sites

When I shutdown my system, all WoL packets are ignored (and the Card itself is without light). With W7, everything works fine. Is there any config option to set in the info.plist to let the card active when osx does a shutdown?

 

No, this is not possible because OS X doesn't support WoL from S5 (system is powered down).

 

Mieze

Link to comment
Share on other sites

Hmm... I must have built it with the wrong version of xcode. I usually test on one machine, but build the official package for download on another. It is probably not a good practice that I do that, but it only causes problems when Apple provides a buggy xcode (as is this case).

 

I uploaded a new build to bitbucket. Please try it. I have no SL to test on at the moment as I've pulled the HDD from my 4530s to transfer to the new laptop...

 

 

Hi,

Here is the new infos with the updated driver :)

 

 

May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: EEE support enabled.
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled.
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled.
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: Using interrupt mitigate value 0x5f51.
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: EEE support enabled.
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled.Apple16X50ACPI1: Identified Serial Port on ACPI Device=UAR1
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: RTL8168E-VL/8111E-VL: (Chipset 16) at 0xffffff80b0288000, 94:de:80:a0:27:21
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled.
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: Using interrupt mitigate value 0x5f51.
May 24 10:59:04 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: RTL8168E-VL/8111E-VL: (Chipset 16) at 0xffffff80b0292000, 94:de:80:a0:27:11
May 24 10:59:10 Mac-mini-de-Nico kernel[0]: RTL8111: Ethernet address 94:de:80:a0:27:21
May 24 10:59:10 Mac-mini-de-Nico kernel[0]: RTL8111: Ethernet address 94:de:80:a0:27:11
May 24 10:59:12 Mac-mini-de-Nico kernel[0]: Ethernet [RealtekRTL8111]: Ethernet [RealtekRTL8111]: Link up on en0, 1-Gigabit, Full-duplex, flow-control

And new infos (attached picture) in system profiler (need to edit my DSDT for built-in tough)

 

 

Basically my chip is RTL8111/8168B ; it seems to be recognized by the driver as a different one ? No incidence i guess ? 

 

 

Thanks RehabMan :)

 

post-497804-0-92607500-1400922488_thumb.png

Link to comment
Share on other sites

Basically my chip is RTL8111/8168B ; it seems to be recognized by the driver as a different one ? No incidence i guess ? 

 

No it isn't, it is a RTL8111E-VL as recognized by the driver.

 

Mieze

Link to comment
Share on other sites

Just following up to say that the relatively inexpensive SIIG 4 port nic is working great with LAG and this driver. Performance is great, near line speed. and LAG is fully working for load balancing.

Really appreciate the good work Mieze!

g\

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Good evening,

 

I am having an issue with tx stalled/timeout using version 1.2.0 of the driver. The issue is only experienced when maxing my internet connection during a file download that uses a minimum of 2.0 MB/s.

 

03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller [10ec:8168] (rev 0c)

 

6/3/14 7:39:44.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 100-Megabit, Full-duplex, flow-control
6/3/14 7:39:48.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx timeout. Lost interrupt?
6/3/14 7:39:49.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx stalled? Resetting chipset. ISR=0x8c5, IMR=0x0.
6/3/14 7:39:50.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 100-Megabit, Full-duplex, flow-control
6/3/14 7:41:37.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx timeout. Lost interrupt?
6/3/14 7:41:53.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx timeout. Lost interrupt?
6/3/14 7:41:56.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx timeout. Lost interrupt?
6/3/14 7:42:00.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx timeout. Lost interrupt?
6/3/14 7:42:04.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx timeout. Lost interrupt?
6/3/14 7:42:05.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Tx stalled? Resetting chipset. ISR=0x8c5, IMR=0x0.
6/3/14 7:42:07.000 PM kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 100-Megabit, Full-duplex, flow-control
 
Link to comment
Share on other sites

@FFForever: Try to disable EEE in the drivers Info.plist.

 

I unloaded the driver via kextunload, and changed Info.plist to disable EEE by changing true to false. After reloading the driver via kextload I am still experiencing the issue.

 

<key>enableEEE</key>
<false/>
Link to comment
Share on other sites

@FFForever: Ok, then try to disable TSO. In case this doesn't help it's probably a hardware issue.

 

Disabled both EEE and TSO after redownloading the kext (just to be safe). Same issue. I wonder if Windows/Linux implements a solution to this issue since I can max the connection at 2.7MB/s without the network resetting like this.

Link to comment
Share on other sites

The driver loads firmware into the NIC which is provided by Realtek without any documentation so that there is no way to find out what is wrong. Other drivers might be different but there is no way to find out. The connection speed is not the issue but the driver can only detect a stalled connection when there is traffic.

Link to comment
Share on other sites

The driver loads firmware into the NIC which is provided by Realtek without any documentation so that there is no way to find out what is wrong. Other drivers might be different but there is no way to find out. The connection speed is not the issue but the driver can only detect a stalled connection when there is traffic.

 

Joy. Well thank you for taking the time to help me with this issue :). Unfortunately my system only has one pci slot (thanks Dell!) so I can't just add another nic.

 

Have a great evening mate.

Link to comment
Share on other sites

Joy. Well thank you for taking the time to help me with this issue :). Unfortunately my system only has one pci slot (thanks Dell!) so I can't just add another nic.

 

Have a great evening mate.

You could try to change the switch and/or the cable. Sometimes this helps. In case you can compile from source you might also try to increase the deadlock detection threshold value.

Link to comment
Share on other sites

  • 2 weeks later...

Thank you Mieze for all your hard work! I've got a bit of a problem, and I was wondering if you could help. I've got a RTL8111E installed, and my network seems to be extremely intermittent. Strangely, I seem to also (on occasion) get my fastest connection speeds downloading on OS X swell (4MB/s torrenting). It seems to be a driver problem, as some drivers work better than others. Any advice you could possibly give?

Link to comment
Share on other sites

@Sifex: Take a look at the kernel logs. In case the network connection is unstable try to disable EEE in the drivers Info.plist.

 

Mieze

Link to comment
Share on other sites

Hi Mieze,

I am having the same issue as another user with my bonded group. Everything works great when i make the bond for as long as i don't reboot. Once i reboot it looks like only one of the 4 controllers is getting a BSD EN#. Even worse, the Bond is not functioning in failover state when this happens, whereas if all controllers have an EN# and bond is working i can unplug a cable and everything still works.

 

A full cold boot brings the EN# and bond back working, but a restart or i think even warm boot does not. This is sort of killing me. Any ideas on how to fix this?

Thanks!

g\

 

EDIT1: actually warm boot does work. just needs to be off for a sufficient time. left it off for a couple minutes and bond group worked on boot. still bond always fails on reboot.

Link to comment
Share on other sites

Please use the debug version and send me the kernel log of a restart when this situation occurs together with the output of "ifconfig -v -a". Maybe I can find out what exactly happens.

 

Mieze

  • Like 1
Link to comment
Share on other sites

Please use the debug version and send me the kernel log of a restart when this situation occurs together with the output of "ifconfig -v -a". Maybe I can find out what exactly happens.

 

Mieze

Ok great i will do this right now.

 

Also, if it helps, what i can observe from the outside is that when i restart, all the nic leds go off, and other than i think a very brief flash on the top most port, they stay off all during boot, and after- non functioning. On a cold boot the nics all turn on with green leds as soon as the system power button is pressed, they stay green until the OS is well into loading whereby they all turn orange and everything is working properly. 

 

will get the debug info to you very shortly now.

THANKS!

g\

Here is the data requested. system log and ifconfig after failure (reboot) and after success (cold boot). Thanks so much Mieze. Eager to hear your thoughts.

g\

RTLBondIssue1.zip

Link to comment
Share on other sites

@genzai: Are you able to build from source or do you need a prebuilt binary?

 

Mieze

I have not built from source before, but i could probably figure it out if that is better.

g\

Link to comment
Share on other sites

I have not built from source before, but i could probably figure it out if that is better.

g\

Please try the attached version which includes binary and source. Report back with the kernel logs and "ifconfig -a -v" output. Good luck!

 

Mieze

RTL8111-Genzai.zip

Link to comment
Share on other sites

Please try the attached version which includes binary and source. Report back with the kernel logs and "ifconfig -a -v" output. Good luck!

 

Mieze

Thanks Mieze!! i am away from the system right now but will try this in a few hours and report back with requested data. Out of curiosity, what do you think is going on?

g\

Link to comment
Share on other sites

×
×
  • Create New...