September 20, 2010

Lnx2Mac's Realtek RTL81xx Driver goes Beta



Mac OS X Realtek 8111E/8168E support is here !

Hi !

Due to the shortcomings of the current Realtek 81xx Hackintosh drivers (such as lack of or limited support of 8111E, 32/64-bit, sleep issues), I endeavored to port the Linux RTL81xx driver to OS X.

RealtekRTL81xx.kext is the result of this work, and it fully supports the RTL8168/RTL8111 family of NICs.

After weeks of coding, compiling, rebooting and debugging this, I can proudly say that it's now ready for prime time !

Some highlights of the issues it fixes, and features provided are:
  • Support for the following Realtek chips:
    • RTL8168 / RTL8168B / RTL8168C
    • RTL8111 / RTL8111B / RTL8111C / RTL8111CP / RTL8111D / RTL8111D(L) / RTL8111DP / RTL8111E
  • Full 32-bit and 64-bit support
  • Fixed Sleep/Wake issues
  • Improved Auto-Negotiation
  • Implemented negotiated-media reporting
  • Improved stability and performance
  • Numerous unreported/minor bug fixes

Over 80 members of the tonymacx86 Forum participated in 6 restricted beta-testing cycles, testing it on several platforms, P55, H55, X58.


November 12, 2010 Update: Now available as an Installer Package !

For more details, head on to the Realtek RTL81xx Mac OS X Driver project page.


41 comments:

steth said...

just wow

rich said...

thanks man! works great on my p55-ud4p. speed now configures automatically.

tonyd said...

@lnx2Mac

As stated on the other forum I have been watching your development with interest, did not offer to pvt beta as my system is non standard as far as TonyMacx86 is concerned . It is almost Vanilla as poss but use different booter and fakesmc and is totally 64bit

However for the first time in a very long time your driver has allowed me to enable my on board lan connection as previously I was relying on a PCI card which works well, now I have two active lan connections in addition to an Apple AE mini Pcie card mounted on a converter.

Thank you for your dedication and interest to achieve a working and stable Realtek RTL81xx Mac OS X Driver.

Jon said...

awesome. So can I use this with my p55m-ud2?It uses the realtek 8111D. I noticed it wasn't listed at supported.

Anonymous said...

also on realtek.com

Lnx2Mac said...

All, Thanks for all your feedback !

@Jon: Yes, I'm using it on my P55M-UD4, which uses the same chip (The only difference with the 8111DL is the chip package, QFN vs. LQFP)

@Anonymous: What do you mean by "also on realtek.com" ?

Anonymous said...

@Lnx2mac,

Tryed on my P55ud4p and work greatly.

Tested the realtec also.
It does lazy ok but not internet when wake.

Your is more better. send you $15 !
thousand thanks
Massimo

Lnx2Mac said...

@Massimo:
I'm glad it works for you !

Thanks, much appreciate your donation !

Lnx2Mac said...

@Anonymous:
Now I know what you mean by "also on realtek.com"... ;-)

I tested both, and posted a comparison here

blackosx said...

Hi Lnx2Mac

Thanks to you, at last our hacks have a reliable driver that just works. It's very kind of you to donate your time and energy to helping out the community. Great job :)

Lnx2Mac said...

@blackosx: Thanks for your kind feedback !

Anonymous said...

X58A-UD3R Works
H55M-S2 Works
H55M-S2H Works

Tks!

Anonymous said...

Hi Lnx2Mac
By coincidence I'm on the same cpu and mobo as you (F11 firmware) with a EVGA 512-P3-N871-AR GeForce 9800 GTX+.

I've had less luck though - using tonymacx86's iboot(Nvidea)/MultiBeast 2.3.0/Apple 10.6.4 combo, I'm unable to shut the system down - if I try to use the Apple shutdown/restart, the next time I boot the system comes halfway up very slowly (over 8 minutes) and I have no keyboard/mouse at all. Since the keyboard mouse is missing even during the chameleon boot load (i.e. I can't interrupt the auto time out to choose a disk), I'm thinking the shutdown is leaving chameleon and/or bios messed up somehow...

mac man suggests I try your network kext - but how do I get rid of the ones multibeast installed? - right now I have all this in my IONetworkingFamily.kext Plugins:

AppleBCM5701Ethernet.kext
AppleIntel8254XEthernet.kext
AppleRTL8139Ethernet.kext
AppleRTL8169Ethernet.kext
AppleUSBEthernet.kext
AppleUSBGigEthernet.kext
AppleYukon2.kext
Intel82574L.kext

...which do I get rid of before installing your with KextBeast - or do I need to do everything all over again?

I might do that anyway, since I noticed you used the iboot "supported" boot loader - tonymacX86's site says this only supports i3/i5 so I used the nvidea one - but maybe I shoud be on the supported?

Lnx2Mac said...

@Anonymous: Yes, that's a known issue of the Official Realtek Drivers...

It's AppleRTL8169Ethernet.kext, but there's no need to delete any of the plugins...
When you install my kext, it takes precedence over the plugins.

Good Luck !
Lnx2Mac

Anonymous said...

Hello,

Mine was working fine, then it just stopped working after the machine was powered down for two days.. I've tried a number of things but I can not get my network port to work. At the router I have a green light, on the hack
I have an amber light during boot up then no light, it just goes dead.

Any ideas ??

Thanks
~

Lnx2Mac said...

@Anonymous: I'm sorry (and puzzled) to hear it stopped working, with no apparent change.

Please see the RTL81xx project page for instructions on how to report problems.

Anonymous said...

Will your driver support the ethernet hardware for my Cartri BIOS Modded GigaByte GA-EP45-UD3L motherboard?

System Profiler, under ethernet, provides:

RTL8168C/8111C:

Name: ethernet
Type: Ethernet Controller
Bus: PCI
Vendor ID: 0x10ec
Device ID: 0x8168
Subsystem Vendor ID: 0x8086
Subsystem ID: 0x0000
Revision ID: 0x0002
Link Width: x1
BSD name: en0
Kext name: AppleRTL8169Ethernet.kext
Location: /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL8169Ethernet.kext
Version: 1.1

Lnx2Mac said...

@Anonymous: Yes, it should work. And there should be no need to delete /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL8169Ethernet.kext

Please report back your progress !
Cheers,
Lnx2Mac

Peter Spearing said...

Works like a charm, easy, painless install, thank you!
Donation made.

Lnx2Mac said...

@Peter Spearing: Much appreciate your kind words and donation.

Thanks !
Lnx2Mac

Anonymous said...

Lnx2Mac: Is there any possibility of a port of the intel 82576 drivers?

Fairly common dual port NIC these days, also available on ebay relatively cheaply. Haven't found any support yet, sadly. Linux and BSD drivers are both available.

Lnx2Mac said...

@Anonymous: Yes, it should be possible to port the Intel driver to OS X.

Unfortunately, I have no spare-cycles at the moment for this.

Good Luck !
Lnx2Mac

giginhq said...

I offer 50$ for 82576 kext

Anonymous said...

linx2mac!
I will raise gingighq with another 50$ via paypal if you agree to port the intel kext.
I understand your busy, but if we collect enough $, will you do it?
I read your realtek driver is brilliant!

Anonymous said...

Thank you. The driver helped me get my H55M-UD2H up and running. It used to work only with every other boot (work once, freeze once, work once, freeze once…)

Anonymous said...

Mr. Lnx2Mac.

I've been referred to you by the fellows over at InsanelyMac in order to solve a problem I've been having...

Essentially, I am getting many of these errors:

_CFGetHostUUIDString: unable to determine UUID for host. Error: 35

Reference post: http://www.insanelymac.com/forum/index.php?s=&showtopic=210994&view=findpost&p=1578276

There are a whole lot of them with all sorts of applications.

I was offered this advice:

http://www.insanelymac.com/forum/index.php?showtopic=210994&st=1360&p=1578429&#entry1578429

Before I made the plunge I started looking over your site, but unless I am misunderstanding, your driver does NOT support the 8169 version. Correct?

From my system profiler:

ethernet:

Type: Ethernet Controller
Bus: PCI
Vendor ID: 0x10ec
Device ID: 0x8169
Subsystem Vendor ID: 0x10ec
Subsystem ID: 0x8169
Revision ID: 0x0010
BSD name: en0
Kext name: AppleRTL8169Ethernet.kext
Location: /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL8169Ethernet.kext
Version: 1.1

Any information would be helpful...thank you...

Lnx2Mac said...

@Anonymous: Indeed, this version doesn't yet support the 8169...

However, it's probably supported by Apple's vanilla driver or Realtek's Official drivers.

As for your CFGetHostUUIDString errors, see my reply in this InsanelyMac post.

Good Luck !
Lnx2Mac

Anonymous said...

@Lnx2Mac Realtek's Official Drivers only supports 32 bit.

Lnx2Mac said...

@Anonymous: Realtek v2.0.5 seems to support 64-bit.

Anonymous said...

Hi is it possible to use this kext is Extra/Extensions instead of S/L/E

Lnx2Mac said...

@Anonymous: Yes, it's possible.
But that requires moving the kexts this one depends on (i.e. IONetworkingFamily.kext) to /Extra/Extensions as well...

So far, so good... But each time IONetworkingFamily.kext is updated, you'll have to do this again.

That's why I prefer to have it in /S/L/E

Axel_aka_brewer said...

Hi Lnx2Mac. Do you planed release 8112L driver?

Lnx2Mac said...

@Axel_aka_brewer: AFAIK, the 8112L is a variant of the 8169...

At the moment, it seems your options are to try the OS X vanilla-driver, or use the Official Realtek one.

Good Luck !
Lnx2Mac

kitkat said...

man i don´t know if this would work on this mother.
i could´nt found if it had realtek drivers..
could you help me please?

Lnx2Mac said...

@kitkat: Which Motherboard is it ?

kitkat said...

IS A BIOSTAR H55HD
:D

Lnx2Mac said...

@kitkat: Yes, it should work as it seems to use the RTL8111DL.

eblue_srt4 said...

will there be any hope for those using Realtek RTL8191SE?? im stuck with no internet on my hackintosh:(

Lnx2Mac said...

@eblue_srt4: Unfortunately, not with this driver.
Good luck with your hackintosh.

eblue_srt4 said...

@Lnx2Mac is there any external usb wireless sticks you recommend so i could get internet?

Lnx2Mac said...

@eblue_srt4: A simple alternative, to dealing with WiFi drivers, is to get an Access-Point, hook it to your Ethernet and be done with it in seconds. ;)
Used to do this back in the days when Linux WiFi support was poor.