Help - Search - Members - Calendar
Full Version: Realtek 8168/8111 solution
InsanelyMac Forum > OSx86 Project > Hardware and Drivers > LAN and Wireless
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
DaemonES
Hi guys.
More than one weak ago I\'ve started writing driver for Realtek controllers. At this time I have some results, I've not tested all features, cause I have no such opportunity, but MacOS successfully communicate with WinXP system through my driver.
It works on RTL8169, RTL8168, RTL8110, RTL8111, RTL8100, RTL8101 chips and their modifications.

I have some driver programming skills under WinXP, but MacOS and IOKit are new things for me, so be careful when using my driver. You can freely load it and unload, but only once at one system boot (cause more loads may cause system crash, I\'m planning to fix it). Use sh scenarios for loading/unloading driver.

Now I\'m planing to add such features:
- Manual MTU control (now it fixed at 1500).
- Jumbo frame support.
- Wake on magic packet.

Thanks to the:
- author of Linux R1000 driver.
- NeoPheus for installer. Great job, thanks.

Share your knowledge so much as you can.

Compiled with XCode 2.4 on OSX 10.4.6 JaS Install DVD.
Visit to project page for the latest driver and installer.
https://sourceforge.net/projects/realtekr1000/
DaemonES
Ok, version 1.01.
- Minor fixes to avoid memory leaks.
- Fixed bug with multiple loading/unloading.
- Fixed bug with ouput packet dropping.
- Implemented some features, like link status and speed reporting.

Dynamic MTU implemented, but not active.

First you must load debug version (in terminal type sh loaddebug). If everything is OK type sh unloaddebug. After that install release version (sh installrelease). Release version faster, that debug, cause debug version logging every packet and every OS system call.

See attachment in head post.
greggh
Great work, we all appriciate it. This is exactly what I needed. It will get tested over the weekend.
TopazBar
Thanks DaemonEs,
I just tried debug version, and it recognized the RTL8111B. Way cool, dude.
Now, where is that long ethernet cable?

EDIT: I will add more info as I get more testing done.
DaemonES
QUOTE
Now, where is that long ethernet cable?
What exactly do you mean?
hoooah
Thanks ^^

it works fine^^

when i use sh senario, there is some error message (about permission/ownership)
so i try to do step by step.

before "sudo kextload -t RealtekR1000.kext"...
type "cd /System/Library/Extensions"
and...everythings gonna be happy^^


ASROCK ConroeXfire eSata2 ... onboard Realtek Lan card ^^
TopazBar
QUOTE(DaemonES @ Oct 8 2006, 07:21 AM) *
What exactly do you mean?

It was kind of joke to myself.
I have been using wireless connection to my router. So I gave away cables to friends. Now, I have to get some back to test out wired LAN, or move my router closer to my workstation.
sunriis
Ok, I'm really new with this so don't eat me biggrin.gif

I loaded the driver and nothing bad happens, the network utility tells me the interface en0 is rtl8168/8111b so this is good

nothing runs though; link status says "inactive" and there's no led activity

I also noticed that in system profiler the realtekr1000 extension has an unsatisfied dependency (com.apple.iokit.IONetworkingFamily no valid version can be found)... I have version 1.5.0 running...

am i missing something?
DaemonES
hoooah Fine smile.gif
TopazBar ok waiting for results.

sunriis try to unload kext, and than load it with ket -t:
sudo -s
cd /System/Library/Extensions
kextunload RealtekR1000.kext
kextload -t RealtekR1000.kext

Terminal will show you additional info.
~Neo
QUOTE(DaemonES @ Oct 8 2006, 09:47 PM) *
hoooah Fine smile.gif
TopazBar ok waiting for results.

sunriis try to unload kext, and than load it with ket -t:
sudo -s
cd /System/Library/Extensions
kextunload RealtekR1000.kext
kextload -t RealtekR1000.kext

Terminal will show you additional info.


I only can say: IT WORKS FOR ME!!!!
This is great, thank you very very very much!
Its a RTL8111B!
Wow this is amazing! biggrin.gif
aberracus
please may i have step by step installing instructions..
THANKS!!!

(i can't select the directory to start from i think...)
DaemonES
aberracus open teriminal window, than open RealtekR1000 dir from terminal and type sh installrelease
Kiko
Wow, great work man, i just bough ta new board for another Conroe of mine and it had 8111B now it works biggrin.gif
sunriis
QUOTE(NeoPheus @ Oct 8 2006, 11:14 PM) *
I only can say: IT WORKS FOR ME!!!!
This is great, thank you very very very much!
Its a RTL8111B!
Wow this is amazing! biggrin.gif

still no go for me...

I tried to reload with -t option, it says loaded succesfully, but it still says link status inactive
TopazBar
DaemonES,

I finally got the cable I needed, and I'm posting this message using your driver thru RTL8111B chip.

Man, this is way COOL. Good job !!!!

EDIT: I just open up a terminal and typed "./installrelease". Then after about 20 seconds later, OSX configured network, and I'm online.
sunriis
btw, I have an Asus a6ja
DaemonES
Good news, it seems that RTL8111B works well, updating HCL wiki page.
sunriis have you another network equipment to test your network connection on OSX?
sunriis
not really; I have a intel 3945ABG wich has no support yet

and FYI the NIC works well in windows

and thanks for your help happy.gif
DaemonES
OK. Let's try something else...
1. Open terminal window:
tail -f /var/log/system.log
And then ok.
2. Open new terminal shell and load debug version of kext.
3. After few minutes copy all info from first terminal and send it to me DaemonES at gmail dot com.
Tecnoworld
is anybody able to port the Sound Blaster Live! drivers from Linux to Mac OS?

http://www.euronet.nl/~mailme/

what I really need is a SPDIF out, and I own this card (which is now really cheap to buy, too, so it could be a great choice for those who need SPDIF like me).
~Neo
Just want to say:
A easy installer is on its way! biggrin.gif
You can download it from my website this afternoon (06:00 PM)!
rainman01
QUOTE(NeoPheus @ Oct 8 2006, 09:14 PM) *
I only can say: IT WORKS FOR ME!!!!
This is great, thank you very very very much!
Its a RTL8111B!
Wow this is amazing! biggrin.gif


I am also trying to get this to work on my askrock conroe945g-dvi but it doesn't seem to be working. Can you tell me exactly what you did to install the driver? I downloaded the 1.02 drivers, unzipped it, opened a terminal and ran the shell script "installrelease". It said the driver loaded successfully, but it's not showing up in the networking control panel nor system profiler.

Thansk!
sunriis
QUOTE(DaemonES @ Oct 9 2006, 01:18 PM) *
OK. Let's try something else...
1. Open terminal window:
tail -f /var/log/system.log
And then ok.
2. Open new terminal shell and load debug version of kext.
3. After few minutes copy all info from first terminal and send it to me DaemonES at gmail dot com.


mail sent, thanks for the help happy.gif
DaemonES
sunriis You NIC card also reports that link is down (OSX may reports wrong link state), but driver works well (i.e. starts and enables NIC). It maybe due several reasons:
1. Damaged Ethernet cable.
2. Your router (or another machine) can’t autonegotiate.

Try to set NIC speed and duplex manually (Network options -> Built in Ethernet – last tab).
sunriis
Yep! That was it!

Thanks a lot! I'm online too!!
~Neo
OK, the installer is now up!
You can download it on my website. angel.png
If the site does not work, try refresh or at last cleaning the cache!
Please give me a feedback! gathering.gif

I just recognized that the name RTL1xxx is incorrect!
You know what is meant! biggrin.gif
Alex3305
Hmm now the only thing I need is the RTL8187 driver tongue.gif So it would be super great if you can port/create that !!
aberracus
This is awesome !!

wow my nic is out of the computer now and im woking with my realtek 8111b now!!

Thank man!!!!

Thanks too DaemonES !!! wonderfull work

Thanks Neopheus for your installer i have downloaded it for future use, i installed the "hard" way.

@Neophus RTL1xxx ???? incorrect?

the only problem now is its readed as a pci network card so the PRO apps would not work

i remember tweaking the kexts to tell them they are en0 not en4, any idea how to do that?
DaemonES
Alex3305
QUOTE
So it would be super great if you can port/create that !!
Without hardware I can't do this.

aberracus BSD name for NIC card OSX chooses itself, so I don't know how to fix this.
Rammjet
QUOTE(Alex3305 @ Oct 9 2006, 02:06 PM) *
I need is the RTL8187 driver

RTL8187 is a wireless device.

This thread is for a wired Realtek ethernet driver.
aberracus
YOu know, i have done it before.. but i cant remember how...

i will look around if anyone could help..

i am the only one with this problem?
Ryanux
i have tested your driver successfully on a Conroe945G-DVI mobo, it works great, thanks man for your great job smile.gif
~Neo
QUOTE(aberracus @ Oct 9 2006, 08:13 PM) *
This is awesome !!

wow my nic is out of the computer now and im woking with my realtek 8111b now!!

Thank man!!!!

Thanks too DaemonES !!! wonderfull work

Thanks Neopheus for your installer i have downloaded it for future use, i installed the "hard" way.

@Neophus RTL1xxx ???? incorrect?

the only problem now is its readed as a pci network card so the PRO apps would not work

i remember tweaking the kexts to tell them they are en0 not en4, any idea how to do that?



Hm, again: my name is NeoPheus (or just Neo)! biggrin.gif
Yes RTL1xxx is incorrect! the chip is named RTL8...
And you can tweak the enS by changing this file:
CODE
/Library/Preferences/SystemConfiguration/NetworkInterfaces.plist


Good Luck! gun.gif
aberracus
it worked NeoPheus wink.gif
i modified that file and now its build in ethernet.

Maybe if i change the same for my Wiless usb card i could get it to work as an airport card?
~Neo
QUOTE(aberracus @ Oct 9 2006, 10:07 PM) *
it worked NeoPheus wink.gif
i modified that file and now its build in ethernet.

Maybe if i change the same for my Wiless usb card i could get it to work as an airport card?


Yeah maybe.... But if there are no drivers for ya wireless card then you have no chance!
ah, and my name is correct! cool! biggrin.gif hysterical.gif

ah i saw you sig... do you know Ska-P? cool band!!!
aberracus
Ska-p ?

no i do not...

yes my usb wiless card is a Linksys wusb54g rev4 its working now, bit i would love to see it working as an airport...
~Neo
QUOTE(aberracus @ Oct 9 2006, 10:59 PM) *
Ska-p ?

no i do not...

yes my usb wiless card is a Linksys wusb54g rev4 its working now, bit i would love to see it working as an airport...


Yes Ska-P! Very popular ska punk band in spain! here is a preview: http://www.youtube.com/watch?v=SMaDVD_MJ_g

How did you get it to work?
aberracus
not in spain wink.gif

my wirells usb card how to:

http://forum.insanelymac.com/index.php?sho...linksys+wusb54g
http://forum.insanelymac.com/index.php?sho...linksys+wusb54g

i will restar my mac to check if now its recognized as airport

EDIT: didnt work my wirells card stays as a wirelles extra card not AirPort
jojon
Thanks this is great I can free one of my PCI slots. I have ASROCK Conroe945. Network card isrecognised as built in ethernet.
Is it working as gigabit ethrnet or not?
Thanks again
DaemonES
Is it working as gigabit ethrnet or not? Yes, it does. 1 gigabit fullduplex.
I'll add Jumbo frame support after succesful tests.
rhalls
wow, thats great. another success story with a Asrock conroe945G DVI - Great Work Guys !!!!!! And thanks for the easy installer - im not a good terminal-man....
jojon
What can I sat thank you DaemonES for great work and all the other people that contribute to this project every day.

Take care

Jojon
igorken
No success at all. I have an ASUS P5RD2-VM motherboard with a gigabit Realtek 8168/8111 onboard. Right after installing OS from JaS 10.4.7 DVD I have no Lan working. In the system profiler I can see a built-in ethernet (type: etnernet hardware: ethernet bsd device name: en0). Network tool doesn't show anything. Ethernet is grayed out in network setting (control panel). Installing the hard way or via installer didn't help at all, though there were no problems installing. Is there any way to enable that damn ethernet?

Thanks in advance
DaemonES
jojon thanks.
igorken remove first any prev. instance of RealtekR1000.kext о AppleRealtek8139.kext

sudo -s
cp -R /System/Library/Extensions/AppleRealtek8139.kext /Users
rm - R /System/Library/Extensions/AppleRealtek8139.kext
rm -R /System/Library/Extensions/RealtekR1000.kext
diskutil repairpermissions /
Doosje
Well .. thanks a million dude ..
it works like a charm.

i've connected it to my router but ... didn't get an IP.
then i got to tab 'ethernet' set it to manually .. -> 10baseT half duplex YEAH BABY YEAH i got an IP.

could it be that the autodetect isn't working yet ?

so i;m reporting success on my asus w2jc (Intel ) 8168
DaemonES
Doosje autonegotiation must works. Maybe your router can't understand size of network packets (now it 1500 bytes). Try manually set to 1 Gb Full duplex.
Doosje
No .. my router surely doesnt understand 1GB connections tongue.gif

It's fine enough for me DaemonES (it worx) .. or you might want to test something out with my card..
If that's the case ... i'll PM you my messenger data..
igorken
Still nothing :(((((

QUOTE(DaemonES @ Oct 11 2006, 08:04 AM) *
jojon thanks.
igorken remove first any prev. instance of RealtekR1000.kext о AppleRealtek8139.kext

sudo -s
cp -R /System/Library/Extensions/AppleRealtek8139.kext /Users
rm - R /System/Library/Extensions/AppleRealtek8139.kext
rm -R /System/Library/Extensions/RealtekR1000.kext
diskutil repairpermissions /
DaemonES
Doosje Actually I don’t have any Realtek datasheet. All available info I found only in Linux r1000. So at this time I have no any idea, maybe later.

I discovered such an interesting thing: if your remote station is off at the moment of OSX start, operation system might report message that NIC link is absent. And OSX even doesn’t want to send any network packet (arp request), since remote machine bombarding OSX by broadcast arp’s. To solve this, simply try to set link speed manually.


igorken uninstall or unload any prev. instance of driver. Open terminal and type tail -f /var/log/system.log
Open another one and load debug version of driver (sh loaddebug). After that send messages of log window to me.
igorken
QUOTE(DaemonES @ Oct 11 2006, 02:24 PM) *
igorken uninstall or unload any prev. instance of driver. Open terminal and type tail -f /var/log/system.log
Open another one and load debug version of driver (sh loaddebug). After that send messages of log window to me.


Sent it ( DaemonES gmail com)
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.