Jump to content

New Driver for Realtek RTL8111


Mieze
1,593 posts in this topic

Recommended Posts

Jan 22 21:09:49 localhost kernel[0]: RealtekR1000: init
Jan 22 21:09:49 localhost kernel[0]: RealtekR1000: start
Jan 22 21:09:49 localhost kernel[0]: RealtekR1000: R1000InitBoard @ PCI 0x1,00

Jan 22 21:09:49 localhost kernel[0]: RTL8xxx@0xfffc: Realtek RTL8168C/8111C_3 (mcfg 19)Jan 22 21:09:49 localhost kernel[0]: Ethernet

 

 

[RealtekRTL8111]: Warning: MSI index was not found or MSI interrupt could not be enabled.

Jan 22 21:09:49 localhost kernel[0]: Ethernet [RealtekRTL8111]: Error initializing event sources.
Jan 22 21:09:49 localhost kernel[0]: Ethernet [RealtekRTL8111]: initEventSources() failed.

 

The NIC doesn't have an interrupt assigned to it so that the driver fails to initialize the interrupt handler. As you are using an 8111C, I assume that your mainboard is quite old. Please check your BIOS settings and your DSDT in order to find out why it doesn't have an interrupt assigned to it but first you have to remove the R1000 and the lnx2mac driver because they might have already claimed the chip's interrupt when my driver tries to initialize it.

 

Mieze

Link to comment
Share on other sites

Hello again:

 

Thank you for making the 10.7.5 version of your driver. I installed it, but I still don't have Ethernet as an option in the Network preferences — still only have options to add 'PPPoE' 'VPN' or '6 to 4'. Looking at the kernel.log, the driver appears to have loaded properly (I say "appears" because I don't really understand the code). The entire log from the last boot is attached, but these appear to be the relevant lines:

 

 

Jan 22 10:34:41 localhost kernel[0]: AppleIntelCPUPowerManagementClient: readyEthernet [RealtekRTL8111]: EEE support enabled.
Jan 22 10:34:41 localhost kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled.
Jan 22 10:34:41 localhost kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled.
Jan 22 10:34:41 localhost kernel[0]: Ethernet [RealtekRTL8111]: Using interrupt mitigate value 0xcf68.
Jan 22 10:34:41 localhost kernel[0]: JMicronATA: JMB363 (CMD 0xc200, CTR 0xc300, IRQ 16, BM 0xc408)
Jan 22 10:34:41 localhost kernel[0]: Ethernet [RealtekRTL8111]: RTL8168B/8111B: (Chipset 1) at 0xffffff80e1b7d000,  0:1d:7d: 0:cf:e9

 

So I'm wondering if I have to do something else in the OS to get the Ethernet option back. Some kind of .plist file somewhere, maybe??

 

Any ideas?

1034log.txt

Link to comment
Share on other sites

Hello again:

 

Thank you for making the 10.7.5 version of your driver. I installed it, but I still don't have Ethernet as an option in the Network preferences — still only have options to add 'PPPoE' 'VPN' or '6 to 4'. Looking at the kernel.log, the driver appears to have loaded properly (I say "appears" because I don't really understand the code). The entire log from the last boot is attached, but these appear to be the relevant lines:

 

 

So I'm wondering if I have to do something else in the OS to get the Ethernet option back. Some kind of .plist file somewhere, maybe??

 

Any ideas?

 

In Terminal run "ifconfig -a" and send me the output.

 

Mieze

Link to comment
Share on other sites

Hey, I'm quite new to this stuff, but I can't seem to get the network to work. I've got a ASUS Z87-A motherboard with what i think is a Realtek 8111-GR. I tried installing your kext, but I got a message saying: System extension cannot be used. The system extension "/SystemLibrary/Extensions/RealtekRTL8111.kext" was installed improperly and cannot be used. Please try reinstalling it, or contact the product's vendor for an update. Please excuse if I have done a huge rookie mistake or something like that :P


Link to comment
Share on other sites

 

Hey, I'm quite new to this stuff, but I can't seem to get the network to work. I've got a ASUS Z87-A motherboard with what i think is a Realtek 8111GR. I tried installing your kext, but I got a message saying: System extension cannot be used. The system extension "/SystemLibrary/Extensions/RealtekRTL8111.kext" was installed improperly and cannot be used. Please try reinstalling it, or contact the product's vendor for an update. Please excuse if I have done a huge rookie mistake or something like that :P

 

 

Use KextWizard or any other tool to install the kext properly. What you got it an issue caused by improper permissions.

 

Mieze

  • Like 1
Link to comment
Share on other sites

In Terminal run "ifconfig -a" and send me the output.

 

Here you go:

 

 

Jacks-Mac-Pro:~ jacksmith$ ifconfig -a

lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384

    options=3<RXCSUM,TXCSUM>

    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1

    inet 127.0.0.1 netmask 0xff000000

    inet6 ::1 prefixlen 128

gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280

stf0: flags=0<> mtu 1280

Jacks-Mac-Pro:~ jacksmith$

Link to comment
Share on other sites

Please install the debug version of the driver and send me the complete kernel logs together with an IOReg dump. Maybe I'll find more information in it. As of now I have no idea what is wrong with your machine.

 

Mieze

Link to comment
Share on other sites

Your ethernet interface doesn't have the build-in property set. Maybe that's the reason why the interface en0 doesn't get created automatically. Edit your bootloader configuration so that it injects the missing properties.

 

For Clover:

<key>Fixes</key>
<dict>

        <key>FixLAN_2000</key>

        <true/>

</dict>

 

For Chameleon:

EthernetBuiltIn=Yes|No    Automatic "built-in"=yes device-properties generation for ethernet interfaces.

Link to comment
Share on other sites

The NIC doesn't have an interrupt assigned to it so that the driver fails to initialize the interrupt handler. As you are using an 8111C, I assume that your mainboard is quite old. Please check your BIOS settings and your DSDT in order to find out why it doesn't have an interrupt assigned to it but first you have to remove the R1000 and the lnx2mac driver because they might have already claimed the chip's interrupt when my driver tries to initialize it.

 

Mieze

I use a laptop. configuration in my signature. released in 2010. 
I deleted all the other drivers for the network card realtek. Now the debug version of the driver installed. version 1.1.3. driver is installed in the C / L / E using kext utility. BIOS settings off Integrated network card Marvell. I use bootloader clover. I'm sorry but I do not understand what I correct in my DSDT. please help

cloverconfig.plist.zip

dsdt.aml.zip

R580.ioreg.zip

Link to comment
Share on other sites

Hello drakoon,

 

would you please sense me your latest kernel logs too, so that I can take a look at it this evening. Is the NIC located on an add-in card (Express-Card)?

 

Mieze 

Edited by Mieze
Link to comment
Share on other sites

Hello drakoon,

 

it looks like there is a general problem with Express Card support in Mavericks that prevents them from working. The Card should get an interrupt assigned to it by the OS but acceding to your IOReg dump the OS fails to supply it with the needed MSI. Sonnet has reported a problem with their Express card products too, maybe they are affected too although they are not delivering a detailed problem description. Please see:

 

http://www.sonnettech.com/support/kb/kb.php?cat=309&expand=_a3_a13_a1_a2&action=b778#b778

 

They have included a patched version on IOPCIFanily.kext in one of their installers. You might try to install it on your system. 

 

Mieze

 

  • Like 1
Link to comment
Share on other sites

Hello drakoon,

 

it looks like there is a general problem with Express Card support in Mavericks that prevents them from working. The Card should get an interrupt assigned to it by the OS but acceding to your IOReg dump the OS fails to supply it with the needed MSI. Sonnet has reported a problem with their Express card products too, maybe they are affected too although they are not delivering a detailed problem description. Please see:

 

http://www.sonnettech.com/support/kb/kb.php?cat=309&expand=_a3_a13_a1_a2&action=b778#b778

 

They have included a patched version on IOPCIFanily.kext in one of their installers. You might try to install it on your system. 

 

Mieze

thank you! lan now works!

Jan 24 10:54:08 localhost com.apple.kextcache[2523]: kext com.insanelymac.RealtekRTL8111  101039000 is in exception list, allowing to load
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: PCI power management capabilities: 0xf7c2.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: PME# from D3 (cold) supported.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: PCIe link capabilities: 0x10048168, link control: 0x0140.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: Warning: PCIe ASPM enabled.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: EEE support enabled.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv4 segmentation offload enabled.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: TCP/IPv6 checksum offload enabled.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: Using interrupt mitigate value 0xcf68.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: RTL8168C/8111C: (Chipset 5) at 0xffffff807ea15000,  0:e0:4c:80:1a:50
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: MSI interrupt index: 1
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: kIOEthernetWakeOnMagicPacket added to filters.
Jan 24 10:55:40 localhost kernel[0]: Ethernet [RealtekRTL8111]: Already in power state 1.
Jan 24 10:57:49 localhost kernel[0]: Ethernet [RealtekRTL8111]: No medium selected. Falling back to autonegotiation.
Jan 24 10:58:49 localhost kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 100-Megabit, Full-duplex, flow-control
Jan 24 11:00:58 localhost kernel[0]: Ethernet [RealtekRTL8111]: replaceOrCopyPacket() failed.
Jan 24 11:04:18 localhost kernel[0]: Ethernet [RealtekRTL8111]: Link down on en0
Jan 24 11:06:12 localhost WindowServer[98]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "(PID 449)" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x1469f, PID 449)
Jan 24 11:06:12 localhost WindowServer[98]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "com.apple.WebKit.WebContent" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x10103, PID 309)
Jan 24 11:06:12 localhost WindowServer[98]: CGError post_notification(const CGSNotificationType, void *const, const size_t, const bool, const CGSRealTimeDelta, const int, const CGSConnectionID *const, const pid_t): Timed out 1.000 second wait for reply from "loginwindow" for synchronous notification type 102 (kCGSDisplayWillSleep) (CID 0x7307, PID 40)
Jan 24 11:07:04 localhost kernel[0]: Ethernet [RealtekRTL8111]: Link up on en0, 100-Megabit, Full-duplex, flow-control
 
but I can see the speed of 100Mbps, and a network card and a time capsule support 1Gbps. it is possible to fix?
Link to comment
Share on other sites

Can anyone reproduce this WOL bug I'm seeing? I'm using version 1.1.3 of the driver and OS X 10.9.1. 

 

Steps:

1) put the machine to sleep (using the apple menu)

2) Wait a minute or so (going to sleep takes forever in mavericks)

3) Use a second machine to send a wake-on-lan packet to the sleeping machine

 

Result:

The machine wakes up but the screen stays asleep. I can wiggle the mouse to wake the screen up.

 

Comments:

The monitor wakes up correctly when I wake up the machine using a more traditional method such as the keyboard. I know it's a rather small bug but I'm curious if others are seeing this. Great driver. I just switched from Linx2Mac.

 

Thank you.

Link to comment
Share on other sites

Can anyone reproduce this WOL bug I'm seeing? I'm using version 1.1.3 of the driver and OS X 10.9.1. 

 

Steps:

1) put the machine to sleep (using the apple menu)

2) Wait a minute or so (going to sleep takes forever in mavericks)

3) Use a second machine to send a wake-on-lan packet to the sleeping machine

 

Result:

The machine wakes up but the screen stays asleep. I can wiggle the mouse to wake the screen up.

 

Comments:

The monitor wakes up correctly when I wake up the machine using a more traditional method such as the keyboard. I know it's a rather small bug but I'm curious if others are seeing this. Great driver. I just switched from Linx2Mac.

 

Thank you.

 

This is normal behavior for 10.7+. Add darkwake=0 to kernel boot arguments to disable.

Link to comment
Share on other sites

@Mieze,

 

Will this driver ever support RTL810x series? 

 

I use the driver on 2 laptops, and it works well but for some reason when the cable is unplugged,  system preferences still says "cable connected" and the system even has an (incorrect) IP !!!

 

It might be worth noting that even the RTL drivers from the realtek site have the same issue!!

Link to comment
Share on other sites

I did so, but still system.log speed 100 Mbps

It might be a bad cable (Please check this!) or a firmware bug. In case of a firmware bug there is no chance for me to resolve it because there is no documentation on that topic from Realtek. I took over this part of the code from the underlying linux driver as a black box.

 

Mieze

@Mieze,

 

Will this driver ever support RTL810x series? 

 

I use the driver on 2 laptops, and it works well but for some reason when the cable is unplugged,  system preferences still says "cable connected" and the system even has an (incorrect) IP !!!

 

It might be worth noting that even the RTL drivers from the realtek site have the same issue!!

 

As long as Realtek's r8168 driver doesn't support their FE NICs there will be no support for RTL810x series. Sorry!

 

As Realtek's own drivers are affected too, I assume that it's due to a firmware or even a hardware bug making it impossible for me to resolve. Which chipsets do you have? Take a look at the kernel logs!

 

Mieze

  • Like 1
Link to comment
Share on other sites

It might be a bad cable (Please check this!) or a firmware bug. In case of a firmware bug there is no chance for me to resolve it because there is no documentation on that topic from Realtek. I took over this part of the code from the underlying linux driver as a black box.

 

Mieze

 

good cable 
windows in speed also 100 Mbps with the latest drivers from the site realtek.com 
1 Gbps only card Marvell which there is no driver for os x
thanks for the help!
Link to comment
Share on other sites

Hi Mieze:

 

I finally solved my Ethernet problem. i wound up doing a complete reinstall of 10.7.5, adding the mobo DSDT and the necessary kexts. Made sure "Built In Ethernet" was set in Chameleon. Then I installed the Lynx2Mac driver from the installer package opened by the [url=&quot;http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/&quot;]#####[/url] for Lion. Woot! I had internet. Then I removed Lynx2Mac, installed your 10.7.5 driver with KextWizard, ran Rebuild/Repair on S/L/E. Thinking that my problem may have been related to deleting the Ethernet service in the Network panel, I did NOT do that. Rebooted and was still connected running on your driver. I don't use iCloud or the iTunes store, so I don't know if I'll have the Apple domain problems you mentioned.

 

Anyway, I can confirm your 10.7.5 driver works in Lion, where the ML version does not. So, hopefully, something good came out of all our struggles, as you now have something for other OS 'Luddites'. I wonder if you might want to alter the instructions on the front page, at least for Lion users, so they don't delete their Ethernet service in Network unless they experience problems.However,  I must also admit I don't know what would have happened had I not installed Lynx2Mac first. The info in the Lynx2Mac installer indicates it deletes any standard issue kexts that would get in it's way. So, if one was installing your driver first over a basic Lion install, I'd assume certain things would need to be deleted manually. Since some of these are not out in the open in S/L/E, but hidden inside the contents of other 'Family' kexts it might be useful to tell folks exactly where to look for all the stuff they need to get rid of first. Also, for people iike me who are scared of terminal commands, you might note that as an alternative, a lot of the work can be done in the Finder by using one of the many utilities that makes Invisible Files visible (TinkerTool, Revealer, OnyX, etc. etc.)

 

Best to you, and thanks for all your time and patience.

 

rd

Link to comment
Share on other sites

×
×
  • Create New...