September 27, 2011

Lnx2Mac Releases new RTL81xx Beta

After several months of development (and regrettable delays due to work obligations and health issues), 203 packaged builds, 71 Alpha testers, and 4 test iterations, a new beta version of the Realtek RTL81xx driver is finally ready to be released.

The Functional/Visible Changes are:
  • Adds support for newer RTL8111E, RTL8111E-VL, and RTL8111F chips (as found on many SandyBridge motherboards),
  • Full support for WakeOnLAN,
  • Full support for WakeOnDemand,
  • Slight performance improvements

But the really exciting changes happened under the hood:
  • Massive code refactoring (almost a full rewrite),
  • Merged code with r8168 Linux driver v024,
  • Partial Linux emulation layer

You might be asking why those changes are so exciting...
Well, a lot of effort has been invested to make the source more similar to the Linux Realtek driver.

The purpose of this is to allow to track changes in the Linux driver more easily, thus shortening the time needed to support new chips.

Additionally, with this, I'll be able to implement new features much more quickly.

The focus of this release was to provide a stable solution for RTL811x chips on Snow Leopard and Lion, adding support for chips found on many SandyBridge boards, and fixing some bugs of v0.0.67.

I want to take this opportunity to thank the 71 Alpha testers that put this version v0.0.90 through its paces, in several iterations, and on very different configurations for the last 3 months.

So, you might ask: Should I install this ?
Short answer: Definitely !


For more details, head on to the RealtekRTL81xx OSX Driver page.

Thanks,
Lnx2Mac

80 comments:

  1. Thank you so much! Asus sandy now works!

    ReplyDelete
  2. Thank you - this resolved the "no network after sleep issue".

    ReplyDelete
  3. Hi Lnx2Mac,

    I have 8168 on my laptop.

    Under Lion I first tried Realtek driver which either KP's machine or drops connection after a while.
    So I copied AppleRTL8169Ethernet.kext from SL and used it.
    I just tried your v0.0.90 driver, seems to be working but I get somewhat confusing speed results when compared to AppleRTL8169Ethernet.kext

    here are results I get with AppleRTL:

    TCP connection established.
    Packet size 1k bytes: 77.13 MByte/s Tx, 63.79 MByte/s Rx.
    Packet size 2k bytes: 47.10 MByte/s Tx, 64.17 MByte/s Rx.
    Packet size 4k bytes: 44.73 MByte/s Tx, 64.24 MByte/s Rx.
    Packet size 8k bytes: 34.79 MByte/s Tx, 64.16 MByte/s Rx.
    Packet size 16k bytes: 50.10 MByte/s Tx, 64.17 MByte/s Rx.
    Packet size 32k bytes: 44.31 MByte/s Tx, 64.06 MByte/s Rx.
    Done.

    NETIO - Network Throughput Benchmark, Version 1.31
    (C) 1997-2010 Kai Uwe Rommel

    UDP connection established.
    Packet size 1k bytes: 71.76 MByte/s (29%) Tx, 58.15 MByte/s (0%) Rx.
    Packet size 2k bytes: 82.86 MByte/s (47%) Tx, 61.06 MByte/s (0%) Rx.
    Packet size 4k bytes: 77.00 MByte/s (71%) Tx, 63.27 MByte/s (2%) Rx.
    Packet size 8k bytes: 66.85 MByte/s (80%) Tx, 64.62 MByte/s (0%) Rx.
    Packet size 16k bytes: 36.22 MByte/s (91%) Tx, 66.25 MByte/s (0%) Rx.
    Packet size 32k bytes: 5311.84 KByte/s (98%) Tx, 66.58 MByte/s (0%) Rx.
    Done.


    And here are with yours v0.0.90:

    NETIO - Network Throughput Benchmark, Version 1.31
    (C) 1997-2010 Kai Uwe Rommel

    TCP connection established.
    Packet size 1k bytes: 63.57 MByte/s Tx, 64.42 MByte/s Rx.
    Packet size 2k bytes: 65.97 MByte/s Tx, 64.32 MByte/s Rx.
    Packet size 4k bytes: 62.59 MByte/s Tx, 64.01 MByte/s Rx.
    Packet size 8k bytes: 62.38 MByte/s Tx, 64.23 MByte/s Rx.
    Packet size 16k bytes: 48.83 MByte/s Tx, 62.90 MByte/s Rx.
    Packet size 32k bytes: 59.71 MByte/s Tx, 63.14 MByte/s Rx.
    Done.

    NETIO - Network Throughput Benchmark, Version 1.31
    (C) 1997-2010 Kai Uwe Rommel

    UDP connection established.
    Packet size 1k bytes: 41.41 MByte/s (51%) Tx, 51.29 MByte/s (0%) Rx.
    Packet size 2k bytes: 33.98 MByte/s (68%) Tx, 58.45 MByte/s (0%) Rx.
    Packet size 4k bytes: 9757.29 KByte/s (76%) Tx, 63.52 MByte/s (0%) Rx.
    Packet size 8k bytes: 9685.41 KByte/s (71%) Tx, 64.70 MByte/s (2%) Rx.
    Packet size 16k bytes: 3306.52 KByte/s (88%) Tx, 66.46 MByte/s (0%) Rx.
    Packet size 32k bytes: 3270.40 KByte/s (89%) Tx, 44.29 MByte/s (33%) Rx.
    Done.

    seems like TCP connections are nearly the same, but UDP connections are much slower for some reason?

    ReplyDelete
  4. @IvanG: Thanks for testing !

    I'll download and test with NETIO (I used netperf).

    Please drop me an email so we can communicate.

    Though I still haven't started doing performance optimizations, I'll be interested in looking into it.

    Also, have you tested with the Debug or Release version ?

    ReplyDelete
  5. @cyberdog: Merci pour l'encouragement !

    ReplyDelete
  6. Thx, but unfortunately my WOL doesn't work with this yet on my Giby P41T Board :-(

    ReplyDelete
  7. Congratulations. Wonderfull Effort, Super Advetisement, Perfect Release.

    ReplyDelete
  8. Thank you for all of your effort. Installed and working fine so far.

    - Coolz

    ReplyDelete
  9. Great work!

    Does this new version support jumbo frames and/or fragmented packages?

    Thank you very much!

    ReplyDelete
  10. Any jumbo frame support?

    ReplyDelete
  11. @Thieri: Is Wake on LAN/Wake on PME event enabled in your BIOS?
    Which utility are you using to wol ?

    ReplyDelete
  12. @Anonymous: Glad you like the image... Picture taken with iPhone 4 and edited on Gimp

    ReplyDelete
  13. @Audio01/Anonymous: No jumbo frames nor fragmented packets on this release (yet).

    ReplyDelete
  14. I have nowhere to try this new driver yet, but in the previous release I could not do "sudo ifconfig en0 ether ". It just would not change the MAC addr. Will it work now? Or is it just my specific HW issue?

    ReplyDelete
  15. Dear Lnx2Mac,

    I really appreciate your great efforts to deliver this. However, since I install it I start having Kernel Panic along with freezes after couple of minuts from installing it, especially during torrents downloads. So I rolled back to your previous driver that included in MultiBeat and everything went back normal.

    FYI, I have Gigabyte GA-X58A-UD5 Rev2.

    Thanks,

    ReplyDelete
  16. Thanks L2M! Your efforts are hugely appreciated by all of us!

    ReplyDelete
  17. @Anonymous: MAC address spoofing is still not on this release.

    ReplyDelete
  18. @Anonymous: Regarding your KP on X58A-UD2, would you mind emailing me a picture of the panic?

    ReplyDelete
  19. @tonymacx86: Thanks for your support and for helping spread the word !

    ReplyDelete
  20. Lnx2Mac first of all thanks for all your work.

    I am having an issue on X58-USB3 Rev 1.0 Bios F3 running Lion 10.7.1 with MultiBeast 4.02. I had no issues previously but installed your new driver (previously had used your driver in MultiBeast). Afterr I installed the new driver I experienced problems with Lion recognising which network interface I was using.Lion thought I had no ethernet installed and recognised my WiFi as the interface in use although WiFi was turned off. (I use a genuine Apple Broadcom MPCI Card in a PCI-E adaptor).

    I deleted WiFi from Network prefs and then added the ethernet - from then it recognised everything and I also re-installed the WiFi. The first thing I noticed was a big drop in torrent download speed. The next issue to appear is that if I restart ethernet does not work - however if I shut down and then cold start it works. I tried going back to the older driver in Multibeast but the issues remain. This is fairly consistent - I do not think I have successfully restarted and had ethernet working since I installed the new driver. Incidentally everything worked flawlessly before.

    ReplyDelete
  21. Dear sir:

    Thank you for your huge work. I am big fan of you!
    How you are not in wikipedia yet?
    Do you have a big image of the rtl81 publicity? I want it for desktop background!

    I send you $15 as small thank you sign.

    Vadim

    ReplyDelete
  22. Awesome, I'll be sure to check this out asap on my EX58-UD4P. I was already really happy with the previous beta. :)

    ReplyDelete
  23. Hello, thanks for the new release!

    Right now I am using the previous driver version on Lion with a RTL8111/8168B on my Gigabyte-775 mobo, but I get crashes whenever I try to download a torrent larger in 4GB in size with any torrent program.

    Curious if this one will solve the issue :)

    P.S.: Same crashes are happening with Realtek 2.0.6, so would be really exciting! :D

    ReplyDelete
  24. Thanks Lnx2Mac!

    WOL, WOD is working great on my 8111D, at last.

    Appreciate all of the effort you've made on this driver. Happy to back that with the Donate button.

    ReplyDelete
  25. update on the issue I had - I deleted all network devices - re-installed your latest driver and that appears to have fixed ethernet not working unless a hard boot was done. I still think I have issues with slow speed especially on torrent downloads though.

    When tony next updates Multibeast with your latest driver I will do a clean install and see if that fixes it.

    ReplyDelete
  26. @the_gael: Thanks for your feedback !

    Are you using the debug or release version ?
    Are you limiting the torrent download rate in any way ?
    How is LAN performance ? What about regular downloads ?

    ReplyDelete
  27. @Vadim: Thanks for your warm feedback !

    Feel free to start a Wikipedia topic ;)

    Regarding the banner, I'm glad you like it !
    I'll upload a higher-res pic. Stay tuned for updates ;)

    Much appreciate your generous donation ! THANKS !

    ReplyDelete
  28. @Mirko: I doubt the crashes are network related.

    May be you are hitting a file-system limitation ?
    Are you downloading to a FAT file system ?

    ReplyDelete
  29. @russellw: Thanks for your warm feedback (and generous donation) ! Much appreciate it !

    Glad WoL and WoD are working for you !

    ReplyDelete
  30. Hey Lnx2Mac!

    Thank you very much for the work you put into this!

    My network is working perfectly alright, using the latest release version.
    Unfortunately since I have been updating to the new version of your driver, my bluetooth devices (apple trackpad und keyboard) seem to perform sluggish.

    I have no idea, whether this could be related. Just wanted to kindly ask, whether you know of some kind of interference?

    ReplyDelete
  31. @Lynx2Mac: No, I am downloading to a 2TB HFS+ volume. And it is only torrents larger than 4GB in size who generate Kernel Panics after a while, with Transmission and uTorrent. Whenever I use my WIFI-card with torrents of larger size it does not crash, so I am rather sure its the Ethernet port/driver.

    ReplyDelete
  32. @jbd259: Thanks for your feedback !
    I'm not aware of any interference with BT. I'm using an Apple BT Keyboard and Trackpad without issues.
    Is it possible that you relocated the antenna ?
    Can you check whether in close proximity these work OK ?

    ReplyDelete
  33. @Mirko: Good !
    Please let me know if it solves the crash for you...
    Just keep booting verbose, so you get a chance to take a pic of the panic (and please email it to me).

    ReplyDelete
  34. @Lnx2Mac: Thanks a lot for your reply.

    I have changed batteries in both devices, which unfortunately did not help. When placing my devices next to the antenna, responsiveness is way better.

    Most probably my issues are not related to the updated Realtek driver. I was just wondering, because I ran into these problems just after i rebooted from the Installer.

    btw: I am using an original Apple Bluetooth module (from a defect Macbook), which i customized to work with the 3.3v line from my PSU. Maybe something is wrong with it.

    ReplyDelete
  35. @jbd259: Is the antenna within the case ?
    If so, the panels could be affecting its range.

    I also built mine (more on a separate post later), and located it just behind the drive bays plastic covers.

    ReplyDelete
  36. Excellent work, as usual. Love these drivers. Thank you.

    ReplyDelete
  37. @JMac: Thanks for your warm words!

    ReplyDelete
  38. I'm really surprised that I seem to be the only one interested in vlan. Your new driver at least gives me the possibility to add a vlan to my NIC. Unfortunately after adding the device it says "Not connected". Will there be any progress in the near future.
    Thanks a lot!

    ReplyDelete
  39. Thank you very much for your driver.
    Works as expected , not such as realtek driver

    ReplyDelete
  40. Hello,

    First of all thanks for your work. It's a great job you have done here.

    I use Lion 10.7.2 and your driver and can't get WOL working. My motherboard is a GA-X58A-UD3R rev 2.0 (realtek card 8111/8169) Bios FG.

    I use the right DSDT.aml from tonymac website

    When I dual boot to windows 7 and shutdown the computer, WOL works as expected.
    But when I boot to Lion, shutdown then the ethernet card do not seem to enter in the wake state and of course WOL does not work.

    Anyone having the same issue and has it resolved ?

    ReplyDelete
  41. Hi - thanks so much for your work!

    I have a gigabyte ep45-ds4 with rtl8111 chips. I connect a time capsule directly to the board with an ethernet cable. With 0.67+ I get throughput around 60-80mb/s with peaks of 104mb/s. With 0.90 throughput appears capped at 30mb/s. Has anyone else noticed this? Can it be fixed? I'd rather use 0.90 for wake on lan, but it makes backups really slow!

    Cheers
    S

    ReplyDelete
  42. @Peter Brille: No, your are not the only one interested in VLAN, and Yes! It's planned to happen in the near future.

    ReplyDelete
  43. @Abrahan: Thanks for your feedback !

    ReplyDelete
  44. @hery: Did WOL work for you before moving to 10.7.2 ?
    Also, is it not working for you only after shutdown ? or also on sleep ?

    ReplyDelete
  45. @Sam: Thanks for your feedback !

    Have you tried removing your Ethernet interfaces in System Preferences, and adding them again ?

    ReplyDelete
  46. It seems that there is a conflict between the RTL81xx and VoodooHDA(2.7.3) drivers on my machine. I tried installing the RTL81xx first, then the VoodooHDA first. Same results. I get KP every time. If I remove on or the other I have no issue.

    Any body else with this scenario? I am using a P7H55-m MB with Intel onboard audio and Realtek RTL8111 Ethernet.

    ReplyDelete
  47. @Davis: Please email me an image of the KPs.
    Don't see any reason why it would conflict.

    ReplyDelete
  48. @Lnx2Mac : Yes it used to work before 10.7.2

    I have upgraded both Lion and RTL81xx at the same time, so I do not know if 10.7.2 breaks WOL or not.

    My clue is that it does not work on Lion 10.7.2 because I switched back to RTL81xx 0.0.67 and it neither work

    ReplyDelete
  49. @Lnx2mac : Sorry, I did not respond to your last question.

    I never tried waking after sleep. My last experience with sleep state (1 year ago) did not achieve : black screen etc ... so I do not use sleep state.

    I will try to test it this afternoon.

    ReplyDelete
  50. @hery: While testing WOL, I was surprised to see that it can power-up some machines from a shutdown state...
    Will look into it when upgrading to 10.7.2 (maybe this weekend).
    As for not being able to put your machine to sleep, which GPU do you use ? Many things changed in the last year, so it might be worth another try.

    ReplyDelete
  51. I use a nividia 460 GTX OC 1024Mo from Gigabyte.

    I will try to put my machine in sleep state but I'd rather prefer shutdown state (with small energy consumption)

    I will try this week end since I have no time :)

    Many thanks for your help !!

    ReplyDelete
  52. Dear Sir:

    Thank you for your effort in producing such a driver.

    I, too, am an Hackintosher, who hails from the Slackware camp, but I am still very much a neophyte to the world of hackintoshes.

    I have a question:

    On my Gigabyte GA-G41M-ES2L motherboard, I usually run Slackware Linux v13.37 (64-bit). The on-board RTL8168c/8111c chip and the RTL8110s chip on the Netgear GA311 PCI card sitting in a PCI slot are perfectly recognized. Under Slackware Linux, it would seem that the same ethernet driver is recognizing both devices as eth0 and eth1.

    When I boot MacOS 10.7.1 Lion, your driver works perfectly with the on-board RTL8168c/8111c chip; however, the RTL8110s is not recognized.

    Yes, your website does not mention specific support for the RTL8110s chip.

    My question to you, Sir, is this: Can support for the Netgear PCI GA311 (RTL8110s) be implemented easily?

    Thank you again for efforts.

    ReplyDelete
  53. 10.7.2 breaks WOL for me. I have tested on 3 installs on three different drives. It seems that sleep kills ethernet so WOL is impossible.

    Any ideas?
    I am using GA-p67a-ud3-b3
    xfx 6870 gpu

    Thanks for your hard work.

    ReplyDelete
  54. @Lnx2Mac:
    do you plan to implement the gdb/kdp part of the ethernet driver?
    I mean there is great drivers like yours or E1000E taking much of their code from linux but they don't implement apple specific gdb/kdp code making the driver somehow incomplete.

    ReplyDelete
  55. @Redford Carlisle: Thanks for your feedback!
    I believe that in Slackware, the driver being used is the r8169 from kernel.org
    Whereas I based my code on Realtek's original source driver for Linux (which, unlike r8169, is not unified, but it doesn't depend on loadable firmware files).

    As for supporting the 8110, it's being worked on.

    ReplyDelete
  56. OK I started a thread here http://www.tonymacx86.com/viewtopic.php?f=64&t=36339&start=0

    @lnx2mac : I tried sleep but did not succeeded Maybe I will dig further when I have time

    ReplyDelete
  57. @kathy: I haven't upgraded to 10.7.2 yet. When I do, I'll check this.
    In the meantime, could you install the debug version and email me your kernel.log ?
    Thanks,

    ReplyDelete
  58. @kaillasse91: I could add it (but it's on a much lower priority than other features and adding support to more chips of the family).
    In any case, why do you need this? Are you planning to do kext debugging?

    ReplyDelete
  59. @hery: Thanks, I'll take a look there.

    ReplyDelete
  60. Did it work with RTL8102E/RTL8103E for 10.7? i can't find any driver work with :(

    ReplyDelete
  61. I have a Gigabyte x58a-ud3r v2, 10.6.8 installed.
    Every time I restart, the network port seems to lose power and goes dark. It does not light up again until I power cycle the PC on and off. This problem persists even if I restart from Mac into Windows.

    I noticed this problem in the 0.67 version and still now in 0.90 version.

    How can I check the debug log if that is helpful?

    ReplyDelete
  62. dear Lnx2mac

    thanks a lot!! Your old ones (ones in Multibeast) weren't working with GA-Z68MA-D2H-B3; so I had to use the "official ones" (which sucked and were dead slow, btw). Your new ones work like a dream

    ReplyDelete
  63. @Anonymous: Indeed, the RTL8102E/RTL8103E are not supported by this kext.

    ReplyDelete
  64. @Kalen: First of all, check out my Reviving Dead Ethernet Ports post.

    As for the debug log, you can find the kernel.log from within Console.app (or check the /var/log/kernel.log file)

    ReplyDelete
  65. @J Deveraux: Thanks for your warm feedback !

    ReplyDelete
  66. rtl 8191se wifi not working I couldn't find any kexts. Is there any solutions for it?
    Thank you

    ReplyDelete
  67. @stolicus: My kext is for Ethernet NICs only, no WLAN.
    I'm not aware of any Mac drivers for the RTL8191SE.

    ReplyDelete
  68. Dead Lnx2Mac,

    First I wanted to thank you for your work. It's greatly appreciated by so many people :)

    I have a problem where after a while my ethernet will drop out. On 0.0.67 driver it dropped out and I could change my Location in Sys Prefs to one that had Ethernet tuned off, and back again, and it would fix itself. On 0.0.90 driver it actually seems to kill all mouse/keyboard input so I can't even do that. :(

    In the kernel.log after a dropout I get something like this:
    Feb 12 16:37:14 blackrockspire kernel[0]: [en0:rtl8168_interrupt] Too much work at interrupt!
    Feb 12 16:43:43 blackrockspire kernel[0]: [en0:rtl8168_interrupt] Too much work at interrupt!
    Feb 12 16:47:44 blackrockspire kernel[0]: [en0:rtl8168_interrupt] Too much work at interrupt!
    Feb 12 16:48:09 blackrockspire kernel[0]: [en0:outputPacket] TX_RING_IS_FULL, stalling

    Hope you can help!
    I don't mind installing the Debug version if that is any use.

    Cheers!
    James

    ReplyDelete
    Replies
    1. Addendum: when this happens it doesn't actually kill mouse/keyboard input. I can unplug them and plug them into another USB keyboard and get input back again. Then I need to swap network Locations as described to get link back.

      Cheers!
      James

      Delete
  69. file sharing not working between snow leopard and lion.

    ReplyDelete
  70. @Anonymous: Does regular browsing work for you ?
    Is Bonjour working ?
    Can't you share files even by specifying the computer name ?

    ReplyDelete
  71. Hello dear all Lnx2Mac. Network Card Realtek RTL8111E does not work with your RTL81xx v0.0.90 (motherboard Gigabyte GA-P67A-UD4-B3)

    ReplyDelete
  72. @ADMiNZ: It should work.
    Does it work on other OSes ?
    Check my Reviving Dead Ethernet Ports post.

    ReplyDelete