Jump to content

RealtekR1000 v3


Slice
 Share

136 posts in this topic

Recommended Posts

Tried this driver on my ancient GA-EP45-DS3 and it seems to work a lot better than the lnx2mac driver I was using previously. :)

 

Actually my ethernet worked fine (out of the box) under 10.5 and 10.6. Installing 10.7 on a different disk required a driver and it also somehow killed the ethernet functionality on the SL partition, and I had to install lnx2mac driver on both.

 

Anyway thanks for this driver, it works great in a 32-bit kernel (some hardware I'm using limits me to 32-bit).

 

edit - I spoke too soon... the driver worked great until a reboot. Now the DHCP doesn't work properly (gets some random address) and although I can set things manually, it doesn't connect to the network.

 

The chip is a Realtek 8111C - it has 2 of them in fact, with identical results on both :(

 

So anyone know why this would work on install, but then stop working completely?

Link to comment
Share on other sites

  • 5 weeks later...

this kext was working great on 10.10.0. But today after the upgrade to 10.10.1, the network just stops/hangs after awhile?. anyone else seeing this? any suggestions?

 

log messages - 

 

Nov 17 22:10:51 Toms-Hack.local configd[27]: network changed: v4(en0+:192.168.1.17) DNS+ Proxy+ SMB

Nov 17 22:11:41 Toms-Hack kernel[0]: en0: Tx_skbuff[902] is NULL

Nov 17 22:11:45 Toms-Hack kernel[0]: en0: Tx_skbuff[700] is NULL

Nov 17 22:15:51 Toms-Hack kernel[0]: en0: Tx_skbuff[1011] is NULL

Nov 17 22:15:52 Toms-Hack kernel[0]: en0: Tx_skbuff[888] is NULL

Nov 17 22:16:01 Toms-Hack kernel[0]: en0: Tx_skbuff[652] is NULL

Nov 17 22:16:05 Toms-Hack kernel[0]: en0: TX_RING_IS_FULL, stalling

Nov 17 22:30:11 Toms-Hack.local discoveryd[50]: Basic Bonjour,Warn Warning: IPv4 listener multicast send failed en0, 65

Link to comment
Share on other sites

  • 1 month later...

After discovered, Mieze kext works very well with 10.10.1 and samba copying too,
I decide to give this a second look.
 
RealtekR1000SL_src_[25.04.2013]
 
recompile this under Xcode 6.1.1 (3 warnings, 1=unused, 2,3=dead storage)
I have make no attempt to fix this,
 
first boot
2014-12-23 6:50:46.000 PM kernel[0]: RealtekR1000: R1000InitBoard @ PCI 0x4,00
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: Found chip reg=3f4000c0
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: Realtek RTL8168C/8111C (mcfg 19)
2014-12-23 6:50:46.000 PM kernel[0]: identified as RTL8168C/8111C
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: RTL8168CHwPhyConfig
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: 1000Mbps Full-duplex operation, TBI Link OK
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: Link Status: Linked
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: Link Speed: 100Mbps
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: Duplex mode: Full-Duplex
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: registerWithPolicyMaker
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: configureInterface
2014-12-23 6:50:46.000 PM kernel[0]: RTL8xxx@0xee00: attaching as en0
2014-12-23 6:50:46.000 PM kernel[0]: en0: start: returning '1'
2014-12-23 6:50:46.000 PM kernel[0]: en0: setPowerState(1)
 
Auto set speed to 100 Mbps (tested very stable, over 2.5Mbps on transmission dl, smb copy at 1Gbyte per minutes)
 
Set Speed manually to 1000Mbps in preference, 
 
2014-12-23 7:02:52.000 PM kernel[0]: RealtekR1000: R1000InitBoard @ PCI 0x4,00
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: Found chip reg=3f4000c0
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: Realtek RTL8168C/8111C (mcfg 19)
2014-12-23 7:02:52.000 PM kernel[0]: identified as RTL8168C/8111C
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: RTL8168CHwPhyConfig
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: 1000Mbps Full-duplex operation, TBI Link OK
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: Link Status: Linked
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: Link Speed: 1000Mbps
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: Duplex mode: Full-Duplex
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: registerWithPolicyMaker
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: configureInterface
2014-12-23 7:02:52.000 PM kernel[0]: RTL8xxx@0xee00: attaching as en0
 
Retest,  seem very stable,  samba copying at >4Gb  per min. [ to Version C (installed R1000SL) ; from Ver-G (Mieze Kext) ]
 
This R1000SL will not work on Version G.

 

google: 

RealtekR1000SL_src_[25.04.2013]

it from hackintoshOSX

Link to comment
Share on other sites

ReTest: Slice's:  RealtekR1000SL_src_20.12.2013

 

ReCompile with Xcode 6.1.1

7 warnings,  no attempt to fix it.

 

Test Smb copy at >5G per minutes

also stable.

and detect correct speed at 1000 Mbps

 

 

2014-12-23 9:04:27.000 PM kernel[0]: RealtekR1000: R1000InitBoard @ PCI 0x4,00
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: Found chip reg=3f4000c0
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: Realtek RTL8168C/8111C (mcfg 19)
2014-12-23 9:04:27.000 PM kernel[0]: identified as RTL8168C/8111C
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: RTL8168CHwPhyConfig
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: 1000Mbps Full-duplex operation, TBI Link OK
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: Link Status: Linked
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: Link Speed: 1000Mbps
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: Duplex mode: Full-Duplex
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: registerWithPolicyMaker
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: setPowerState(1)
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: configureInterface
2014-12-23 9:04:27.000 PM kernel[0]: RTL8xxx@0xee00: attaching as en0
2014-12-23 9:04:27.000 PM kernel[0]: en0: start: returning '1'

 


Conclusion:

 

tluck's problem may be  fixed:   by reCompile with Xcode 6.1.1
Link to comment
Share on other sites

  • 2 weeks later...

error message comes from this code fragment:

int speed_opt = SPEED_100;

int duplex_opt = DUPLEX_FULL;

int autoneg_opt = AUTONEG_ENABLE;

int val = 0;

 

// FIXME -- WTF does this do?!

// if TBI is not endbled

if (!(ReadMMIO8(PHYstatus) & TBI_Enable))

{

val = ReadGMII16(PHY_AUTO_NEGO_REG);

val |= PHY_Cap_PAUSE | PHY_Cap_ASYM_PAUSE ;

 

R1000SetMedium(speed_opt, duplex_opt, autoneg_opt);

}// end of TBI is not enabled

else

{

IODelay(100);

DLog("1000Mbps Full-duplex operation, TBI Link %s\n", (ReadMMIO32(CSIDR) & TBILinkOK) ? "OK" : "Failed" );

}// end of TBI is not enabled

 
default set to 100mbps, and failed to set autoneg_opt.
 
did you try,  on system settings, network pref, advance and set settings manually.

the only other reference to TBI_Enabled is in the header.

Does  this means anything to you.

 

/*rtl8169_PHYstatus (MAC offset 0x6C)*/

TBI_Enable = 0x80, /* Not defined in RTL8168 not RTL8101 */

TxFlowCtrl = 0x40,

RxFlowCtrl = 0x20,

_1000Mbps = 0x10, /* Linux _1000bps */ /* Not in RTL8101 */

_100Mbps = 0x08, /* Linux _100bps */

_10Mbps = 0x04, /* Linux _10bps */

LinkStatus = 0x02,

FullDup = 0x01,

 

Link to comment
Share on other sites

darn. the RTL 8168E still has issues on 10.10.2 - compiled with Xcode 6.1.1 target 10.10

i plugged into a wifi router which is 100BT and still gets stuck after awhile.

 

Jan  3 13:53:42 localhost kernel[0]: RTL8xxx@0xee00: Realtek RTL8168E-VL/8111E-VL (mcfg 35)

Jan  3 13:53:42 localhost kernel[0]: identified as RTL8168E-VL/8111E-VL

Jan  3 13:53:42 localhost kernel[0]: RTL8xxx@0xee00: 1000Mbps Full-duplex operation, TBI Link Failed

Jan  3 13:53:42 localhost kernel[0]: RTL8xxx@0xee00: Link Status: Not Linked

Jan  3 13:53:42 localhost kernel[0]: RTL8xxx@0xee00: registerWithPolicyMaker

Jan  3 13:53:42 localhost kernel[0]: RTL8xxx@0xee00: setPowerState(1)

Jan  3 13:53:42 localhost kernel[0]: RTL8xxx@0xee00: configureInterface

Jan  3 13:53:42 localhost kernel[0]: RTL8xxx@0xee00: attaching as en0

Jan  3 13:53:42 localhost kernel[0]: en0: start: returning '1'

Jan  3 13:53:52 localhost kernel[0]: en0: enable

Jan  3 13:53:52 localhost kernel[0]: en0: setActivationLevel(2)

Jan  3 13:53:52 localhost kernel[0]: en0: Selected medium is NULL, forcing to autonegotiation

Jan  3 13:53:52 localhost kernel[0]: en0: selectMedium, index=6

Jan  3 13:53:52 localhost kernel[0]: en0: R1000SetMedium(0x3, 0x2, 0x1)

Jan  3 13:53:52 localhost kernel[0]: en0: PHYstatus=88, LinkStatus=2

Jan  3 13:53:52 localhost kernel[0]: en0: setLinkStatus but no PHYStatus

Jan  3 13:53:54 localhost kernel[0]: en0: Link up

Jan  3 14:13:44 Toms-Hack kernel[0]: en0: Tx_skbuff[596] is NULL

Jan  3 14:16:18 Toms-Hack kernel[0]: en0: Tx_skbuff[494] is NULL

Jan  3 14:18:09 Toms-Hack kernel[0]: en0: Tx_skbuff[642] is NULL

Link to comment
Share on other sites

RTL8168E-VL/8111E-VL

 

Is this detected correctly.

 

when using wifi, i have similar experience on network hang, 

fixed by manually change MTU to 1280. (pref-network-adv-hardware)

 

may be you can try this.


Also,

Andy Vandijck

just posted his version of RTL kext, you may try that too.

 

I will test that kext, sunday night, after the games.

 

(In the development section)

Link to comment
Share on other sites

one more thing.

 

Error messages is from this fragment:

 

//DLog("R1000TxInterrupt(%#04x)\n", intrStatus);

BUMP_ETHER_TX_COUNTER(interrupts);

 

// check Tx error status

if (intrStatus & TxErr)

{

DLog("R1000TxInterrupt: Tx abort\n");

BUMP_NET_COUNTER(outputErrors);

}

 

// clean up after sent buffers

ulong ldirty_tx = dirty_tx;

ulong tx_left = cur_tx - ldirty_tx;

//DLog("R1000TxInterrupt cur_tx %d, dirty_tx %d, tx_left %d\n", cur_tx, dirty_tx, tx_left);

 

tx_left = min(tx_left, max_interrupt_work);

while (tx_left > 0)

{

ulong entry = ldirty_tx % n_tx_desc;

if ((OSSwapLittleToHostInt32(TxDescArray[entry].status) & DescOwn) == 0)

{

if (Tx_skbuff[entry] != NULL)

{

/*

DLog("packet sent, packet size %u, phys addr %x%08x\n", 

mbuf_len(Tx_skbuff[entry]),

OSSwapLittleToHostInt32(TxDescArray[entry].buf_Haddr),

OSSwapLittleToHostInt32(TxDescArray[entry].buf_addr));

*/

// Clean up after this packet

freePacket(Tx_skbuff[entry]);

Tx_skbuff[entry] = NULL;

BUMP_NET_COUNTER(outputPackets);

}

else

{

// Queue slot was reserved but not used

// See outputPacket() for possible causes

DLog("Tx_skbuff[%d] is NULL\n", entry);

}

 

ldirty_tx++;

tx_left--;

}

else 

{

// DLog("Tx packet at index %d is pending\n", entry);

break;

}

}

 

 

looks like, interrupt and timing problem, it is beyond my ability to continue from this.

 

 

 

if your motherboard is very old,  LAN may share interrupt with printer or other devices.

you may try, in bios, disable printer device.

Link to comment
Share on other sites

in the meantime, I have gone back to an older kext pulled off the RealTek download site listed as v2.0.6 for Lion.

This one works well enough for what i need it do. And is just as fast as my USB3/Ethernet on 100BT. 

seems to chew up about 15% of my cpu if i SCP a large file to the box. but then again thats about all this box does as HTPC with Plex.

The USB ethernet chews up about 22% CPU.

 

Realtek 8168/8101E Gigabit Ethernet:

 

  Name: ethernet

  Type: Ethernet

  Bus: PCI

  Slot: Ethernet

  Vendor ID: 0x10ec

  Device ID: 0x8168

  Subsystem Vendor ID: 0x1458

  Subsystem ID: 0xe000

  Revision ID: 0x0006

  Link Width: x1

  BSD name: en0

  Kext name: AppleRTL8169Ethernet.kext

  Location: /System/Library/Extensions/AppleRTL8169Ethernet.kext

  Version: 1.1.4a5

Link to comment
Share on other sites

I have used the same kext from RealTek.

works fine, most of the time.

Until you try to use transmission to download.

It will be fine, if dl speed were slow,

you will kp when speed approach 200kps.

It happen on all the machine i tested. (GA-EP43, Rev-c,  Acer-605 Ver-G, AMD-Ver-C)

All i can say is good luck!


On ver-G, it shows in Pref-Network as connected, but not really.

 

Look at this forum, for user that has LAN  problem on 10.10.1, 

you will be find out, this is the norm, not the exception.


i think, i did wasted my time here.


Quote

I was merely reporting my observation because it kinnda surprised me.

UnQuote

 

Why not test Andy Vandijck, kext

or try disable Printer on BIOS..

 

 

Is this, A normal tester will do?

 

Link to comment
Share on other sites

@aww - yes i had read there are/were issues with that old kext. but i did not see any issues in my limited usage. Certainly i prefer to use a newer version. So i am testing andy v's RealTek8111.kext today.

so far so good. a smidge faster - was able to transfer a file 11.2 MiB/s (1000BT to wireless router ->wireless extender @450Mbps -> 100BT

and a few % less CPU. but again this not a true performance test. I just want a stable interface!

 

$ grep kernel /var/log/system.log|grep Realt

Jan  4 10:51:51 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: EEE support enabled.

Jan  4 10:51:51 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled.

Jan  4 10:51:51 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 segmentation offload enabled.

Jan  4 10:51:51 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled.

Jan  4 10:51:51 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: Initialized emulated MAC address = 7C:6D:F8:AC:9E:1F

Jan  4 10:51:51 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: Version 1.3.5 using interrupt mitigate value 0xcf58.

Jan  4 10:51:51 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: detected RTL8168E-VL/8111E-VL (Chipset 16) at 0xffffff8108766000

Jan  4 10:51:53 Toms-Hack kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 100-Megabit, Full-duplex, flow-control

Jan  4 10:54:24 Toms-Hack kernel[0]: considerRebuildOfPrelinkedKernel com.insanelymac.RealtekRTL8111 triggered rebuild

Link to comment
Share on other sites

  • 2 weeks later...

Not working on RTL8110 (device-id:8167).
I added the device id to the info.plist and kext loads but no connection.

Could you please add support for this chip?!

 

EDIT: Sorry, this is a PCI card and won't work with a PCIe driver.

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...

Hi guys,

 

Is there any solution for the wake on lan feature on this device? I tired another "Mieze" driver for this card, but the upload speed is terrible, 1mbit/s.

 

Realtek 8168/8101E Gigabit Ethernet:

 

  Name: ethernet

  Type: Ethernet

  Bus: PCI

  Slot: Ethernet

  Vendor ID: 0x10ec

  Device ID: 0x8168

  Subsystem Vendor ID: 0x1043

  Subsystem ID: 0x8367

  Revision ID: 0x0002

  Link Width: x1

  BSD name: en0

  Kext name: RealtekR1000SL.kext

  Location: /System/Library/Extensions/RealtekR1000SL.kext

  Version: 3.1.2

Link to comment
Share on other sites

  • 4 weeks later...

I want to present you updated RealtekR1000 driver. I added support for new chips according to linux's sources.

Now it supports RTL8168E,F/8111E,F.It works for me and works better then v2.0.6 from realtek.com.tw. Now I have no problems with sleep/wake. With native driver I sometimes lose LAN after wake.With this driver never.

 

I have a little problem. Network utility shows Link Speed = 0Can someone help me to resolve this Resolved!

Unplug cable

attachicon.gifScreen Shot 2013-03-11 at 21.05.46.png

Plug cable

attachicon.gifScreen Shot 2013-03-11 at 21.05.25.png

 

UPDATE. In this version I applied my own inventions so my driver differs from native.

 

 

25.04.2013

Corrected a mistake with warm boot after Windows. Thanks for Mieze, dmazar, rehabman.

Updated part for RTL 8105/RTL8136

This kext is compiled under SL, XCode 3.2.5. For use in ML I'll check little later. EDITED: I checked, it works in ML 10.8.3.

attachicon.gifRealtekR1000SL.kext-v304.zip

attachicon.gifRealtekR1000SL_src_25.04.2013.zip

 

15.12.2013

I made some changes according to official Realtek driver 8.037, newest for now. I can't say I take it as a whole. No, my driver is cropped and may not work for some chips.

Anyway it tested for me in Mavericks.

Change log:

- adopted for new chips RTL8168GU/8111GU, 8411B, RTL8168EP/8111EP . But not tested

- autolink to 1000Mb/s

- some functions for WOL, not tested.

 

17.12.2013

More changes from linux sources implemented

attachicon.gifRealtekR1000SL_src_17.12.2013.zip

attachicon.gifRealtekR1000SL.kext-311b-Snow.zip

 

20.12.2013

Implemented WoL as Mieze did.

attachicon.gifRealtekR1000SL_src_20.12.2013.zip

attachicon.gifRealtekR1000SL.kext-312.zip

 

24.12.2013

More codes for 8105E but not complete

attachicon.gifRealtekR1000SL_src_22.12.2013.zip

 

I can't download any file.

Link to comment
Share on other sites

  • 2 weeks later...

Hi Slice I made an Automator Application very cool and fast Installer for your driver  :D


Thats working absolutely perfect inside OS Yosemite 10.10.3 


Thank you very mutch  :)


Ps;This will Remove the old Driver on S/L/E if you have one


and Install the new Driver on S / L / E 


 


This is the name


Realtek R1000SL Ethernet.app


 


intern11.png


The step 


017.png


 


0114.png


 


0211.png


 


 


The Result  :thumbsup_anim:


140.png


 


224.png


 


 


Updating the Driver


simply changing the kext inside Bundle / Contents / Resources  / RealtekR1 


319.png


  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I can't download any file.

I forgot that the forum lose all attachments.

Now I updated the first post with latest driver v312 and its sources.

As usual sources are free and I am open to apply your patches to them.

 

chris1111

Thanks! I hope someone will use it.

  • Like 1
Link to comment
Share on other sites

  • 2 months later...

UPDATE. In this version I applied my own inventions so my driver differs from native.

05.05.2015

Sorry about broken links. There is new one. My latest sources

attachicon.gifRealtekR1000SL_src_20.02.2014.zip

attachicon.gifRealtekR1000SL.kext-v312.zip

 

Hello Slice,

Only a curiosity,

This is a mistake? Any problem?
post-1511929-0-48597300-1437785814_thumb.png
Note. I'm learning to program in XCode, I am Web developer, Windows and mobile devices.
Maybe one day I can contribute to the forum  :P
 
<--  -->
 
I compiled and am using the kext, much better than the previous
Thank You Slice!
Edited by #McFly
Link to comment
Share on other sites

Tried this driver today because Mieze's driver is not usable due to lost interrupts.

 

:no: Lost interrupts are nothing more than cosmetic issues.

 

Mieze

  • Like 1
Link to comment
Share on other sites

  • 7 months later...

System keeps the ethernet card awake in sleep and sends, constantly, requests to the router.

Device: Realtek 8111b  (RJ45)

Driver ver: 3

 

Update 1

 

In addition there's no wake on lan option in Energy saver.

Link to comment
Share on other sites

  • 10 months later...
 Share

×
×
  • Create New...