Jump to content

New Driver for Realtek RTL8111


Mieze
1,583 posts in this topic

Recommended Posts

I've installed it in my hack (RTL8111E) and it loaded fine and detected the disconnected cable (I'm not using the LAN right now, just wifi). Recently I've been testing Slice's new kext but had some issues with the latest version so I'll try yours a couple of days and report here.

 

kernel[0]: Ethernet [RealtekRTL8111]: EEE support enabled
kernel[0]: Ethernet [RealtekRTL8111]: RTL8168E-VL/8111E-VL: (Chipset 16) at 0xffffff80f08e5000, xx:xx:xx:xx:xx:xx
kernel[0]: RTL8111: Ethernet address xx:xx:xx:xx:xx:xx

Link to comment
Share on other sites

Is it possible to add support for the 8105E? Could you include it in your driver?

Unfortunately it isn't because there is no documentation for the Realtek gigabit NICs publicly available so that I had to take the hardware initialization routines from their linux driver and this driver doesn't support the 8105E.

 

Mieze

  • Like 1
Link to comment
Share on other sites

Thanks, Mieze, for the answer!

 

In fact, there is a Linux driver that includes support for the 8105, and Slice even included it in the sources for his driver. I even tried to do something with it, since i'm familiar to C programming, but i lack the necessary knowledge of how to port it to OSX, so i got stuck.

 

All the best!

 

P.S.: the 8105, btw, isn't exactly gigabit ethernet: it's a 10/100 mbs card which usually comes bundled with some cheaper motherboards.

Link to comment
Share on other sites

In fact, there is a Linux driver that includes support for the 8105, and Slice even included it in the sources for his driver. I even tried to do something with it, since i'm familiar to C programming, but i lack the necessary knowledge of how to port it to OSX, so i got stuck.

My driver has a clear cut separation between the OS X code and the linux code. There are only a few interconnections, mainly when the driver calls hardware initialization routines. Assuming that Realtek's linux driver for their Fast Ethernet NICs has a similar architecture it shouldn't be a big deal for you to take my OS X code as a starting point for your development. You would only have to rewrite the hardware dependent parts, like the outputPacket() function and the interrupt handling routines. Maybe you'll also find a leaked datasheet of the 8105E at www.realtek.cz helping you to implement the transmit and receive routines.

 

Mieze

  • Like 1
Link to comment
Share on other sites

i would like to take part to this driver development and i think many users want.

As a proposal: could you please put you driver source code on GITHUB or other online versioning portal to be able to track changes between version more easily

Link to comment
Share on other sites

i would like to take part to this driver development and i think many users want.

As a proposal: could you please put you driver source code on GITHUB or other online versioning portal to be able to track changes between version more easily

I already thought about that but at the moment I'm very busy with an iOS project so that there is not much time left for the driver. But this is not a high priority because the project folder contains a git repository that you can use to track changes.

 

Mieze

Link to comment
Share on other sites

I already thought about that but at the moment I'm very busy with an iOS project so that there is not much time left for the driver. But this is not a high priority because the project folder contains a git repository that you can use to track changes.

 

I'd also like to get involved, having a central repro would be most helpful. That said, what needs to be done still for the 8111F chipset?

Link to comment
Share on other sites

I'd also like to get involved, having a central repro would be most helpful. That said, what needs to be done still for the 8111F chipset?

As far as I know nothing. Only the 8111B still has a long way to go.

 

Mieze

Link to comment
Share on other sites

Finally I can use WOL !!

My system have RTL8111E (GA X58A-UD3R motherboard) chip, it works perfectly now.

First time when I try this kext follow your guide in post #1.

It shows connected in system profiler and System Preference, but when I try to use internet it's not connect to internet.

One of my friend informed me to shutdown the system instead of restart after install this kext.

I shutdown system couple minutes after install new kext and boot again, now it works perfectly.

New kext makes my system use WOL. I couldn't use WOL when I use old kext.

Thanks, Mieze !!

  • Like 1
Link to comment
Share on other sites

I own a EP45-extreme (two 8111C) , my question is , if i boot chameleon with kernel patcher plugin (to use /E/E) , does the network work with the driver placed in the Extra/Extensions ? the lynx2mac does not work , only if i place it in the S/L/E folder.

Link to comment
Share on other sites

I own a EP45-extreme (two 8111C) , my question is , if i boot chameleon with kernel patcher plugin (to use /E/E) , does the network work with the driver placed in the Extra/Extensions ? the lynx2mac does not work , only if i place it in the S/L/E folder.

This could be a problem with the kernel cache, because /Extra/Extensions is usually not taken into account when the kernel cache is recreated by Apple provided tools. Better install it in /S/L/E to avoid trouble!

 

Mieze

 

One of my friend informed me to shutdown the system instead of restart after install this kext.

I shutdown system couple minutes after install new kext and boot again, now it works perfectly.

Thanks for posting this. I just added the information to the troubleshooting section.

 

Mieze

Link to comment
Share on other sites

I've installed your driver to both hacks to see how it goes. Had problem installing it at first: driver was loaded and connected to device, but net was not working, said that cable is not connected. Somehow got resolved by few shutdowns/restarts/reinstalls/deleting and adding ethernet - not sure what helped. But works very nice now.

 

Thank you for your work!

Link to comment
Share on other sites

This could be a problem with the kernel cache, because /Extra/Extensions is usually not taken into account when the kernel cache is recreated by Apple provided tools. Better install it in /S/L/E to avoid trouble!

 

Mieze

 

 

Thanks for posting this. I just added the information to the troubleshooting section.

 

Mieze

 

On my installer USB, i have the kexts in /extra , with the kernel patcher module.

My problem is that on the first boot, osx uses the audio kext, fakesmc, sata (all inside /extra) only realtek kexts does not load, only after i copy it to s/l/e. My wish was to have the internet on first boot, to configure osx from the initial wizard.

 

I've tried your driver, the download is perfect, but i have around 20kb/s upload if i try to put a file on a server or on my network, something is wrong with the upload.

Link to comment
Share on other sites

On my installer USB, i have the kexts in /extra , with the kernel patcher module.

My problem is that on the first boot, osx uses the audio kext, fakesmc, sata (all inside /extra) only realtek kexts does not load, only after i copy it to s/l/e. My wish was to have the internet on first boot, to configure osx from the initial wizard.

To copy the driver anywhere is not enough. You'll have to repair it's permissions or it will never be used.

I've tried your driver, the download is perfect, but i have around 20kb/s upload if i try to put a file on a server or on my network, something is wrong with the upload.

Please follow the instructions in the troubleshooting section. If the problem persists report back with debug data from /var/log/system.log (all driver related messages), netstat -s output and your OS X version, CPU and mainboard.

 

Mieze

Link to comment
Share on other sites

Thanks for your work. I have replaced the Lnx2 Realtek driver i have been using with yours. I have had rare problems with the Lnx2 driver where out of the blue the whole network was just gone. The transition went smooth (just followed your instructions). Using a 8111F on a P8H77-I. Will see how it performs long term! So far - all looking good.

Thanks! :)

Link to comment
Share on other sites

×
×
  • Create New...