Jump to content

Driver for Realtek's RTL810x Fast Ethernet Series

Realtek RTL8105 RTL8101 RTL8102 RTL8106 RTL8103 RTL8401 RTL8402 driver

  • Please log in to reply
71 replies to this topic

#1
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

Being asked to add support for Realtek's Fast Ethernet PCIe NICs to my RTL8111 driver I got tired of answering the same old question again and again so that I finally decided to write a separate driver for these chips and to make a few of you guys and gals happy. :)

 

As of now the driver supports the following members the RTL810X Fast Ethernet family:

  • RTL8101E
  • RTL8102E
  • RTL8103E
  • RTL8401E
  • RTL8105E
  • RTL8402
  • RTL8106E
  • RTL8106EUS

Here is a list of the driver's basic features:

  • Supports Mavericks, Mountain Lion and Lion.
  • 64 bit architecture only.
  • 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 under IPv4.
  • Support for TCP/IPv6 and UDP/IPv6 checksum offload.
  • Supports Wake on LAN.
  • 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.
  • Built using Xcode 4.6.3.

 

Changelog
 
  • Version 1.0.0 (2014-05-24):
    • First offical release.
 
 
Installation
 
Before you install the driver you have to remove any installed driver for RTL810X.
  1. Goto /S/L/E and delete the old driver.
  2. Recreate the kernel cache.
  3. Open System Preferences and delete the corresponding network interface, e. g. en0. If you forget this step you might experience strange problems with certain Apple domains, iTunes and iCloud later.
  4. Install the new driver and recreate the kernel cache.
  5. Reboot
  6. Open System Preferences again, select Network and check if the new network interface has been created automatically or create it manually now.
  7. Configure the interface.
 
 
Troubleshooting
  • Make sure you have followed the installation instructions especially when you have issues with certain domains while the others are working fine.
  • In Terminal type "kextstat" or "grep RealtekRTL8100 /var/log/system.log" to verify that the driver loads.
  • Use the debug version to collect log data when trying to track down problems. The log messages can be found in /var/log/system.log. Include the log data when asking for support or giving feedback. I'm an engineer, not a clairvoyant.
  • Check your BIOS settings. You might want to disable Network Boot and the UEFI Network Stack as these can interfere with the driver.
  • Double check that you have removed any other Realtek kext from your system because they could prevent the driver from working properly.
  • Verify your bootloader configuration, in particular the kernel flags. Avoid using npci=0x2000 or npci=0x3000.
  • 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 or disable EEE.

 

Getting the driver

 

Mieze

Attached Files


Edited by Mieze, 09 June 2014 - 12:28 AM.


#2
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,905 posts
  • Gender:Male

Thank you, Mieze!

 

Now I can stop doing the retail Realtek 8169 plus half-duplex trick to get my 8105 to work. Going to test and report back on my AMD machine ASAP.

 

All the best!



#3
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

As of now the feedback is far from overwhelming. In case there is someone who is willing to test but needs a prebuilt binary, please drop me a line.

 

Mieze



#4
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,905 posts
  • Gender:Male

Sorry, I'm moving to a new home and so the tests I was intending to do will have to wait until the end of this month. But I did download the project and compiled it with Xcode. As soon as I have time to really test it, following your testing recommendations, I'll post here.

 

All the best!



#5
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

Sorry, I'm moving to a new home and so the tests I was intending to do will have to wait until the end of this month. But I did download the project and compiled it with Xcode. As soon as I have time to really test it, following your testing recommendations, I'll post here.

 

All the best!

 

No problem! 

 

Mieze



#6
Dr. Hurt

Dr. Hurt

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,485 posts
  • Gender:Male
  • Location:Cairo, Egypt and NYC, USA
  • Interests:Wandering around on the internet!! Politics, Sci/Tech, Medicine.

Mieze,

 

Could you please add a precompiled binary to the opening post. That would help a lot of people test the driver. 

 

Thanks in advance :)



#7
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

Mieze,

 

Could you please add a precompiled binary to the opening post. That would help a lot of people test the driver. 

 

Thanks in advance :)

Done!



#8
Dr. Hurt

Dr. Hurt

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,485 posts
  • Gender:Male
  • Location:Cairo, Egypt and NYC, USA
  • Interests:Wandering around on the internet!! Politics, Sci/Tech, Medicine.

Done!

 

Thanks.

 

I'll test it as soon as I get the chance (probably tonight).



#9
Dr. Hurt

Dr. Hurt

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,485 posts
  • Gender:Male
  • Location:Cairo, Egypt and NYC, USA
  • Interests:Wandering around on the internet!! Politics, Sci/Tech, Medicine.

@Mieze:

 

I've just tested it and its working perfectly.

The problem I had with the 8169 driver (where OS X always saw the cable as plugged in) seems to have been resolved :)

No performance issues whatsoever so far.

 

On a cosmetic side note though, system profiler says gigabit ethernet instead of fast ethernet.

 

Once again, I cannot thank you enough for you efforts and contributions to this project :)

 

Attached File  Untitled.png   576.4KB   10 downloads



#10
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

On a cosmetic side note though, system profiler says gigabit ethernet instead of fast ethernet.

 

Hello Dr. Hurt,

 

thanks for testing the driver. I'll fixed that cosmetic issue.

 

Mieze



#11
lisai9093

lisai9093

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 101 posts
  • Gender:Male

Thanks Mieze!!! Great work!

 

However, my ethernet failed to work after sleep. Network setting shows self-assigned IP, then indicate it is connected to the Internet but actually it is not. So should I tried the debug version to give u more information?

 

btw my ethernet card is 8105E, device id is 0x8136



#12
Zprood

Zprood

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 251 posts
  • Gender:Male
  • Location:CHN
2/23/14 12:08:56.000 PM kernel[0]: Ethernet [RealtekRTL8100]: Warning: PCIe ASPM enabled.
2/23/14 12:08:56.000 PM kernel[0]: Ethernet [RealtekRTL8100]: EEE support enabled.
2/23/14 12:08:56.000 PM kernel[0]: Ethernet [RealtekRTL8100]: TCP/IPv4 segmentation offload enabled.
2/23/14 12:08:56.000 PM kernel[0]: Ethernet [RealtekRTL8100]: TCP/IPv6 checksum offload enabled.
2/23/14 12:08:56.000 PM kernel[0]: Ethernet [RealtekRTL8100]: Using interrupt mitigate value 0x0.
2/23/14 12:08:56.000 PM kernel[0]: Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 11) at 0xffffff80f0cd5000, 84:8f:69:c4:b5:12
 

 

 

Good job, my chip is RTL8136, mavericks 10.9.2, test works well. 

Mail/DHCP/sleep&wakeup/AppStore/plug&unplug, WoL haven't test. But all play good. 

Attached File  Screen Shot 2014-02-23 at 12.12.33 PM.png   40.58KB   8 downloads

Attached File  QQ20140223-1.png   93.54KB   8 downloads



#13
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

However, my ethernet failed to work after sleep. Network setting shows self-assigned IP, then indicate it is connected to the Internet but actually it is not. So should I tried the debug version to give u more information?

 

Yes, please use the debug build and send me the kernel logs.

 

Mieze



#14
lisai9093

lisai9093

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 101 posts
  • Gender:Male

Yes, please use the debug build and send me the kernel logs.

 

Mieze

 

First connection is around Feb 22 21:55:09, which is before sleep, so it works fine. Then did sleep and wake, plug ethernet to computer, but did not have Internet.

Attached Files



#15
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

First connection is around Feb 22 21:55:09, which is before sleep, so it works fine. Then did sleep and wake, plug ethernet to computer, but did not have Internet.

 

According to your log file the connection gets established and the link is up after wakeup.

Feb 22 21:57:55 Mac kernel[0]: Ethernet [RealtekRTL8100]: Link up on en0, 100-Megabit, Full-duplex, No flow-control

Please repeat the test and after wakeup use netstat -i in Terminal to check the packet statistics several times with intervals of a few seconds. Does the number of transmitted/received packets increase (which of them?). This is important in order to track down what is wrong.

 

Mieze



#16
lisai9093

lisai9093

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 101 posts
  • Gender:Male
Mac:~ peter$ netstat -i
Name  Mtu   Network       Address            Ipkts Ierrs    Opkts Oerrs  Coll
lo0   16384 <Link#1>                           768     0      768     0     0
lo0   16384 localhost   ::1                    768     -      768     -     -
lo0   16384 127           localhost            768     -      768     -     -
lo0   16384 localhost   fe80:1::1              768     -      768     -     -
gif0* 1280  <Link#2>                             0     0        0     0     0
stf0* 1280  <Link#3>                             0     0        0     0     0
en0   1500  <Link#4>    08:9e:01:2b:b4:25     1342     0     1307     0     0
en0   1500  mac.local   fe80:4::a9e:1ff:f     1342     -     1307     -     -
en0   1500  169.254       mac.local           1342     -     1307     -     -
en0   1500  fd00::a9e:1 fd00::a9e:1ff:fe2     1342     -     1307     -     -
en0   1500  fd00::18c8: fd00::18c8:d09d:d     1342     -     1307     -     -
en1   1500  <Link#5>    44:6d:57:a3:50:fb    21180     0    22767     0     0
en1   1500  mac.local   fe80:5::466d:57ff    21180     -    22767     -     -
en1   1500  192.168.0     192.168.0.2        21180     -    22767     -     -
en1   1500  fd00::466d: fd00::466d:57ff:f    21180     -    22767     -     -
en1   1500  fd00::d021: fd00::d021:8fa2:4    21180     -    22767     -     -
p2p0  2304  <Link#6>    06:6d:57:a3:50:fb        0     0        0     0     0
utun0 1380  <Link#7>                             0     0        6     0     0
utun0 1380  fe80::c48d: fe80:7::c48d:2a75        0     -        6     -     -
utun0 1380  fd93:20a0:6 fd93:20a0:6edf:b3        0     -        6     -     -
Mac:~ peter$ 

en0 is ethernet and en1 is wifi. This is after wakeup, so ethernet is not working. I guess the number not changing? But my wifi is working normally.


Network setting first show this:

Attached File  Screen Shot 2014-02-22 at 10.41.20 PM.png   98.51KB   3 downloads

 

After few seconds:

Attached File  Screen Shot 2014-02-22 at 10.42.05 PM.png   103.36KB   3 downloads



#17
polyzargone

polyzargone

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 237 posts
  • Gender:Male
  • Location:France

Works great !!!!

Finally I have Ethernet connection @ full speed Full duplex 10/100 BaseT and everything works fine so far ! Great, great job and thanks a lot for this !

I'll keep monitoring this but as I say, it works fine so far !



#18
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

Anyone else here who has tested sleep/wake? Does the network connection work properly after wake? Together with Zythyr, I'm currently preparing a new development release and will post it here as soon as he confirms that it works for him.

 

Mieze



#19
polyzargone

polyzargone

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 237 posts
  • Gender:Male
  • Location:France

Don't know for sleep/wake as it never worked for me… BTW if you know how to make it works, It'wd be great !



#20
Mieze

Mieze

    Giant Cat

  • Coders
  • 519 posts
  • Gender:Female
  • Location:Germany
  • Interests:Cats

Well, unfortunately I don't have any NIC of Realtek's Fast Ethernet series so that I can't test the driver myself. I have to rely on user feedback.

 

Mieze







Also tagged with one or more of these keywords: Realtek, RTL8105, RTL8101, RTL8102, RTL8106, RTL8103, RTL8401, RTL8402, driver


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy