Mieze Posted April 4, 2015 Author Share Posted April 4, 2015 Lovely. Is there anything that can be done to mitigate the issue? Yes, there are two ways to get rid of the issue: Get back to Mavericks. Apple introduced a new, private driver interface with 10.8 which supports packet scheduling and eliminates the weakness. At the moment I'm updating the Intel and Atheros driver to use the new interface and will hopefully find some time to update the Realtek driver next week too. Mieze Link to comment Share on other sites More sharing options...
Mieze Posted April 6, 2015 Author Share Posted April 6, 2015 (edited) Ok, as already promised here is version 2.0.0d1 which adds: Support for Apple's private driver interface introduced with 10.8. Packet scheduling with QFQ. Improved media reporting. Please keep in mind that this driver requires at least 10.8. Anything below won't work because the new driver interface was introduced with Mountain Lion. Good luck! Mieze EDIT: Please use version 2.0.0d2 instead of 2.0.0d1. Edited April 13, 2015 by Mieze 6 Link to comment Share on other sites More sharing options...
copil Posted April 7, 2015 Share Posted April 7, 2015 Mieze Thanks for all. Link to comment Share on other sites More sharing options...
MilesTEG1 Posted April 8, 2015 Share Posted April 8, 2015 Thanks for your new version Here a log I get with it. Do the last 3 lines with errors are problematic ? The network seems to be functional as before. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: PCIe ASPM support disabled. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: PCI power management capabilities: 0xffc3. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: PME# from D3 (cold) supported. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: PCIe link capabilities: 0x00077c11, link control: 0x0000. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: EEE support enabled. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 segmentation offload enabled. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: Version 2.0.0d1 using interrupt mitigate value 0xcf58. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: RTL8168E-VL/8111E-VL: (Chipset 16) at 0xffffff811c9dc000, 0:13:3b: f:3b:83 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: Device is WoL capable. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: MSI interrupt index: 1 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: kIOEthernetWakeOnMagicPacket added to filters. 08/04/2015 07:08:50,000 kernel[0]: Ethernet [RealtekRTL8111]: Already in power state 1. 08/04/2015 07:08:51,000 kernel[0]: Ethernet [RealtekRTL8111]: No medium selected. Falling back to autonegotiation. 08/04/2015 07:08:54,000 kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 1-Gigabit, Full-duplex, No flow-control 08/04/2015 07:09:45,378 com.apple.kextd[42]: Can't open CFBundle for /EFI\CLOVER\kexts\10.10\RealtekRTL8111.kext. 08/04/2015 07:09:45,386 com.apple.kextd[42]: Kext com.insanelymac.RealtekRTL8111 not found for client path request. 08/04/2015 07:10:26,000 kernel[0]: Ethernet [RealtekRTL8111]: replaceOrCopyPacket() failed. Thank you again for your work ! Miles Link to comment Share on other sites More sharing options...
Mieze Posted April 8, 2015 Author Share Posted April 8, 2015 08/04/2015 07:09:45,378 com.apple.kextd[42]: Can't open CFBundle for /EFI\CLOVER\kexts\10.10\RealtekRTL8111.kext. 08/04/2015 07:09:45,386 com.apple.kextd[42]: Kext com.insanelymac.RealtekRTL8111 not found for client path request. 08/04/2015 07:10:26,000 kernel[0]: Ethernet [RealtekRTL8111]: replaceOrCopyPacket() failed. You are injecting the driver with Clover, right? The first two lines are harmless as the driver is working. The last line is a memory management issue, which occurs from time to time and is self healing. No need to worry. Mieze Link to comment Share on other sites More sharing options...
MilesTEG1 Posted April 8, 2015 Share Posted April 8, 2015 You are injecting the driver with Clover, right? The first two lines are harmless as the driver is working. The last line is a memory management issue, which occurs from time to time and is self healing. No need to worry. Mieze Yea I'm injecting with clover. Thanks for reassuring me and f or the works done Link to comment Share on other sites More sharing options...
lemarqq Posted April 8, 2015 Share Posted April 8, 2015 I don't know how to install the driver for ethernet, help me please My motherboard is Gigabyte GA EX58 UD5 / OS X Yosemite Thank you http://www.newegg.com/Product/Product.aspx?Item=N82E16813128362 Link to comment Share on other sites More sharing options...
Mieze Posted April 9, 2015 Author Share Posted April 9, 2015 @lemarqq: Please follow the instructions in post #1! Mieze Link to comment Share on other sites More sharing options...
lemarqq Posted April 9, 2015 Share Posted April 9, 2015 Ok, thank you Link to comment Share on other sites More sharing options...
Henry2010 Posted April 11, 2015 Share Posted April 11, 2015 I just installed 2.0 on 10.9 via Kext Utility, and now I feel it's faster than 1.2.3. thanks Frauline Mieze and by the way, I recommend installing a dns server like dnsmasq, pdnsd, unbound etc, for caching locally. Link to comment Share on other sites More sharing options...
calibre™ Posted April 13, 2015 Share Posted April 13, 2015 Hi Mieze checking the source, i noticed this RealtekRTL8111.cpp line 467 IOReturn AtherosE2200::outputStart(IONetworkInterface *interface, IOOptionBits options ) "AtherosE2200" is this a typo or could be just "any" name? Thanks 1 Link to comment Share on other sites More sharing options...
Mieze Posted April 13, 2015 Author Share Posted April 13, 2015 (edited) Hi Mieze checking the source, i noticed this RealtekRTL8111.cpp line 467 IOReturn AtherosE2200::outputStart(IONetworkInterface *interface, IOOptionBits options ) "AtherosE2200" is this a typo or could be just "any" name? Thanks Yes, it's a typo which didn't cause any problem because I missed one definition which is essential to make the new driver interface work. Thanks for pointing me to this error. Actually version 2.0.0d1 was identical to 1.2.3. Sorry! In version 2.0.0d2 I corrected that mistake so that the new driver interface is working now. This time I checked! Please use it instead of 2.0.0d1! Good luck! Mieze RealtekRTL8111-V2.0.0d2.zip Edited April 13, 2015 by Mieze 3 Link to comment Share on other sites More sharing options...
Henry2010 Posted April 14, 2015 Share Posted April 14, 2015 ok I have just updated. everything looks fine here. Link to comment Share on other sites More sharing options...
pkdesign Posted April 16, 2015 Share Posted April 16, 2015 I updated to 2.0.0d2 and everything seems to be fine. It seems to fix an odd read/write problem I was having with windows computers previously. They were never the same. Now I get same read/write speeds to and from PC computers. Yeah! thank you Mieze! 1 Link to comment Share on other sites More sharing options...
BartMan01 Posted April 22, 2015 Share Posted April 22, 2015 After updating to 2.0.0d2, it seems my networking issues are pretty much resolved. I use VMWare and frequently have virtual machines running set use their own IP address (sharing the ethernet port as opposed to using NAT). Prior to this version, I was having frequent network issues either when running VM's or transferring very large files. With this version, it has been stable so far. 1 Link to comment Share on other sites More sharing options...
kjp4756 Posted May 3, 2015 Share Posted May 3, 2015 2.0.0d2 is working great with my chipset 9 8111. On your previous driver I was only able to achieve 550mbps to my server with iperf. With the new driver I get 940mbps. I was also getting random IRQ errors and now those are gone. Good job. Link to comment Share on other sites More sharing options...
Dilemma Prison Posted May 8, 2015 Share Posted May 8, 2015 Nice. Thanks for the hard work on this Mieze. Version 2.0.0d2 is working more or less perfectly with the 8111E on my x58a-ud3r so far. 110MB/s read write. Yosemite 10.10.3 Reliable thus far and doesn't hit the CPU as hard as some other drivers I've used for the chipset previously. Worked w/ injection via clover. I noticed that it is slightly slow to come up to a full link after startup and login. The interface is red for roughly 5-10 seconds after my desktop pops up. Could be some quirk of my setup but I figured I would mention it. Link to comment Share on other sites More sharing options...
Mieze Posted May 9, 2015 Author Share Posted May 9, 2015 I noticed that it is slightly slow to come up to a full link after startup and login. The interface is red for roughly 5-10 seconds after my desktop pops up. Could be some quirk of my setup but I figured I would mention it. Looks like the NIC and the switch need a lot of time to negotiate and establish the link. It might also be a DHCP related issue. Mieze Link to comment Share on other sites More sharing options...
Dilemma Prison Posted May 17, 2015 Share Posted May 17, 2015 Looks like the NIC and the switch need a lot of time to negotiate and establish the link. It might also be a DHCP related issue. Mieze More or less. But unless someone is doing SSD boot, auto-login and really quickly looks at their network status they won't even notice. Either way this is more zippy than the lnx2mac driver, at least on my x58 boards. Just a quick and dirty compare here with black magic speed test going to the same FreeNAS via AFP. 8111E (lnx2mac) W 91MB/s R 89MB/s 8111E (mieze) W 102.5MB/s R 110MB/s Intel 1000/PT Dual port (w/ single link up) 113MB/s R 110.5 MB/s Marvell Yukon 88E8053 W 109.4MB/s R 110.1MB/s Link to comment Share on other sites More sharing options...
Mieze Posted May 17, 2015 Author Share Posted May 17, 2015 @Dilemma Prison: In case you have another switch to hand you might also want to exchange it in order to solve the issue. The write speed of 102.5MB/s is a little bit low and could be an indication that the switch doesn't get on well with the NIC. Mieze Link to comment Share on other sites More sharing options...
Henry2010 Posted May 20, 2015 Share Posted May 20, 2015 hmm I have just noticed that my Realtek chip has 1000baseTX now, with 2.0.0 d2. I remember it had only 100baseTX with 1.2.3. But I could be wrong. now I need to buy a 1000baseTX router. good work Mieze Link to comment Share on other sites More sharing options...
sylvester328 Posted May 20, 2015 Share Posted May 20, 2015 Have trouble doing WoL... Loaded your debug kext and didn't see "Device is WoL capable" in the log. Does it mean that my motherboard's NIC falls into the known issues of "WoL does not work in certain configurations"? Gigabyte Z68A-D3H-B3 OSX 10.10.1 Graphics: HD3000 Is there anything I can do about it including fiddling with the source code? Really want this WoL feature. Thanks. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: PCIe ASPM support disabled. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: PCI power management capabilities: 0xffc3. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: PME# from D3 (cold) supported. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: PCIe link capabilities: 0x00077c11, link control: 0x0000. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: EEE support enabled. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 segmentation offload enabled. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: Version 2.0.0d2 using interrupt mitigate value 0xcf58. 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: RTL8168E-VL/8111E-VL: (Chipset 16) at 0xffffff8105d8d000, 50:e5:49:b9:2f:a8 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: MSI interrupt index: 1 20/05/2015 4:30:27.000 pm kernel[0]: Ethernet [RealtekRTL8111]: Already in power state 1. 20/05/2015 4:30:30.000 pm kernel[0]: Ethernet [RealtekRTL8111]: No medium selected. Falling back to autonegotiation. 20/05/2015 4:30:33.000 pm kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 1-Gigabit, Full-duplex, flow-control 20/05/2015 4:30:57.000 pm kernel[0]: Ethernet [RealtekRTL8111]: checksums applied: 0x3, checksums valid: 0x0 20/05/2015 4:30:57.000 pm kernel[0]: Ethernet [RealtekRTL8111]: checksums applied: 0x3, checksums valid: 0x0 Link to comment Share on other sites More sharing options...
Mieze Posted May 20, 2015 Author Share Posted May 20, 2015 Is there anything I can do about it including fiddling with the source code? Really want this WoL feature. In those cases where the issue was resolved it turned out to be related to incorrect BIOS settings. That's where you should start your search. Sometimes the solution is not as obvious as expected and hard to find. Mieze 1 Link to comment Share on other sites More sharing options...
sylvester328 Posted May 21, 2015 Share Posted May 21, 2015 In those cases where the issue was resolved it turned out to be related to incorrect BIOS settings. That's where you should start your search. Sometimes the solution is not as obvious as expected and hard to find. Mieze Indeed. Soon after I did the tests with the debug kext's (yours and also the one I compiled myself) and posted the log, I then wanted to find out the values of the various variables that determine wolCapable. So I add the line IOLog("Ethernet [RealtekRTL8111]: mcfg %d; options1 %d; options2 %d; wolCapable %d; wol %d\n", tp->mcfg, options1, options2, wolCapable, wol); /* Set wake on LAN support. */ wolCapable = wolCapable && wol; This gave me a shocking result: both wolCapable and wol were true and my NIC all of a sudden became WoL capable! Then I reverted back to all the original kext's I tried before (1.2.3, 2.0.0d2 release kext). They all worked. This is weird. I don't think I have changed any other settings in between. I have also found out that though WoL works, it is like dark wake. The screen remains blank and after around 30 seconds, it goes back to sleep again. I add the boot option "darkwake=0" then WoL becomes full wake. Link to comment Share on other sites More sharing options...
Romano2K Posted May 24, 2015 Share Posted May 24, 2015 Good evening! I think have a problem with my Ethernet controller. I have a RTL8111 chipset with Mieze's 1.2.3 kext. I get very poor upload transfer rates: — SpeedTest.net: 30 Mbps although I get 200 Mbps with my Windows laptop. — curl upload to a 10 Gbps Internet server: 655 kB/s instead of 23 MB/s (yes, bytes) with my Linux server. — SMB transfer: 1.25 MB/s from my hackintosh to my Linux server. I get 125 MB/s (1 Gigabit/s) from my Windows laptop to the same server. But download works fine: I get 125 MB/s, so 1 Gigabit/sec from my Linux server to my hackintosh. 950 Mb/s with SpeedTest.net. 26 MB/s with curl from a 10 Gbps Internet server. What's wrong, what should I do? Link to comment Share on other sites More sharing options...
Recommended Posts