Jump to content
Mieze

Driver for Realtek's RTL810x Fast Ethernet Series

162 posts in this topic

Recommended Posts

Zythyr and I, we managed to finish the next development release of the driver. I updated the source code and the binaries attached to the first post of this thread a few minutes ago. Everyone is encouraged to test the new release on her/his system.

 

Mieze 

Unfortunately, ethernet failed to work after wake. One thing I notice is that Hurt has ethernet card built-in in system info, but not for mine. Does it matter?

Share this post


Link to post
Share on other sites
Advertisement

Unfortunately, ethernet failed to work after wake. One thing I notice is that Hurt has ethernet card built-in in system info, but not for mine. Does it matter?

 

No, I don't think so. Check your BIOS settings. Do you have Network Boot or the UEFI network stack enabled? Please disable it. What happens when you enable/disable the network interface using ifconfig up/down in Terminal? I'm asking because this is almost the same as sleep/wakeup.

 

Mieze

Share this post


Link to post
Share on other sites

No, I don't think so. Check your BIOS settings. Do you have Network Boot or the UEFI network stack enabled? Please disable it. What happens when you enable/disable the network interface using ifconfig up/down in Terminal? I'm asking because this is almost the same as sleep/wakeup.

 

Mieze

My BIOS supports UEFI, but I cannot disable network boot since there is no option.

 

I tried ifconfig en0 up/down many times, but there seems no difference. Ethernet will continue work before sleep and fail after wake, and ifconfig up/down is not changing anything. So I guess something is different between ifconfig up/down and actual sleep/wake.

 

I also tried to compare ioreg before and after sleep. I found IOPCIPMCSState is different in these two cases. See attached picture, not sure if it helps though:

post-732552-0-87386600-1393456289_thumb.png

Share this post


Link to post
Share on other sites

I tried ifconfig en0 up/down many times, but there seems no difference. Ethernet will continue work before sleep and fail after wake, and ifconfig up/down is not changing anything. So I guess something is different between ifconfig up/down and actual sleep/wake.

 

Sorry, in case my post was inaccurate but this is not what I asked for. Call ifconfig down/up while network is functional and let me know if it resumes operation after ifconfig up.

 

Mieze

Share this post


Link to post
Share on other sites

Sorry, in case my post was inaccurate but this is not what I asked for. Call ifconfig down/up while network is functional and let me know if it resumes operation after ifconfig up.

 

Mieze

Mac:~ peter$ sudo ifconfig up
ifconfig: interface up does not exist
Mac:~ peter$ sudo ifconfig down
ifconfig: interface down does not exist
Mac:~ peter$ ifconfig up

I don't think it is the right syntax. Then I tried ifconfig en0 down which successfully disabled my ethernet, the LED in ethernet port also stopped blinking. After ifconfig en0 up, ethernet shows "Connected" and everything is normal.

Share this post


Link to post
Share on other sites

I don't think it is the right syntax. Then I tried ifconfig en0 down which successfully disabled my ethernet, the LED in ethernet port also stopped blinking. After ifconfig en0 up, ethernet shows "Connected" and everything is normal.

 

 

Ok, at least we know now that the enable() and disabled() routines are working properly.

 

Mieze

Share this post


Link to post
Share on other sites

Great work!Thank you~

Work perfectly on my RTL8103e Chipest 7(shown in kernel log)

My laptop is dell insprision 15R n5010

Work well afer wake up

Share this post


Link to post
Share on other sites

@lisai9093: I tried to find some background information about IOPCIPMCSState but found nothing. Therefore I checked this property of en0 on my 2011 iMac and it shows a similar behavior. IOPCIPMCSState changed from 0x0 before sleep to 0x2108 after wakeup.

 

Mieze

Share this post


Link to post
Share on other sites

@lisai9093: I tried to find some background information about IOPCIPMCSState but found nothing. Therefore I checked this property of en0 on my 2011 iMac and it shows a similar behavior. IOPCIPMCSState changed from 0x0 before sleep to 0x2108 after wakeup.

 

Mieze

uhmm that's strange. i also did some other test on ethernet setting that might be useful to you:

 

i tried to play with DHCP in ethernet setting. Test after wakeup, if DHCP is enabled, the ethernet card cannot get IP address from my router, there is only self-assigned IP instead. Then I double checked my router site (192.168.0.1), under "device table" section where all devices and their IP listed. My machine's ethernet port is not in the list.

 

So I disabled DHCP and assigned IP address myself in Setting. I put 192.168.0.14 as my IP because it is not used to prevent IP conflict. Then I saw this IP showing up in the "Device List". And the MAC address matches with my ethernet card's MAC address.

 

Here is some log lines for one plug-in and out cycle:

Feb 28 17:15:13 Mac kernel[0]: Ethernet [RealtekRTL8100]: Link up on en0, 100-Megabit, Full-duplex, No flow-control
Feb 28 17:15:16 Mac.local configd[19]: network changed: v4(en0+:192.168.0.14, en1) DNS! Proxy! SMB
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[500] (Can't assign requested address).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[500]: because interface address is/was not ready (flags 42).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[4500] (Can't assign requested address).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[4500]: because interface address is/was not ready (flags 42).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[500] (Can't assign requested address).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[500]: because interface address is/was not ready (flags 42).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[4500] (Can't assign requested address).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[4500]: because interface address is/was not ready (flags 42).
Feb 28 17:15:18 Mac.local configd[19]: network changed: v4(en0:192.168.0.14, en1) DNS* Proxy SMB
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[500] (Can't assign requested address).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[500]: because interface address is/was not ready (flags 42).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[4500] (Can't assign requested address).
Feb 28 17:15:18 Mac.local racoon[320]: failed to bind to address fd00::a9e:1ff:fe2b:b425[4500]: because interface address is/was not ready (flags 42).
Feb 28 17:15:19 Mac.local configd[19]: network changed.
Feb 28 17:15:23 Mac.local AirPlayUIAgent[876]: 2014-02-28 05:15:23.988534 PM [AirPlayUIAgent] Changed PIN pairing: no
Feb 28 17:15:24 Mac.local AirPlayUIAgent[876]: 2014-02-28 05:15:24.038392 PM [AirPlayUIAgent] Changed PIN pairing: no
Feb 28 17:15:24 Mac.local com.apple.WebKit.Networking[934]: tcp_connection_destination_prepare_complete 5769 connectx to 192.168.0.1#80 failed: 64 - Host is down
Feb 28 17:15:24 Mac.local com.apple.WebKit.Networking[934]: tcp_connection_handle_destination_prepare_complete 5769 failed to connect
Feb 28 17:15:24 Mac.local com.apple.WebKit.Networking[934]: tcp_connection_destination_prepare_complete 5769 connectx to 192.168.0.1#80 failed: 64 - Host is down
Feb 28 17:15:24 Mac.local com.apple.WebKit.Networking[934]: tcp_connection_handle_destination_prepare_complete 5769 failed to connect
Feb 28 17:15:40 Mac kernel[0]: Ethernet [RealtekRTL8100]: Link down on en0

Share this post


Link to post
Share on other sites

 

i tried to play with DHCP in ethernet setting. Test after wakeup, if DHCP is enabled, the ethernet card cannot get IP address from my router, there is only self-assigned IP instead. Then I double checked my router site (192.168.0.1), under "device table" section where all devices and their IP listed. My machine's ethernet port is not in the list.

 

So I disabled DHCP and assigned IP address myself in Setting. I put 192.168.0.14 as my IP because it is not used to prevent IP conflict. Then I saw this IP showing up in the "Device List". And the MAC address matches with my ethernet card's MAC address.

 

In the device table on the router? This would mean that after a wakeup packets are going out, i.e. the transmitter is working but the receiver isn't. Maybe I should check the receiver config for your chipset again. There might be a hidden error?

 

Mieze

Share this post


Link to post
Share on other sites

Just tested this kext on my U310 (with 8105E) and it work great.  

I did have to configure it manually tho.  Automatic did not work for me (it kept switching between connected and disconnected).
My settings were 
100baseTX
full duplex
standard (1500)

I've tested waking from sleep as well as unplugging and re-plugging the ethernet cable and using both methods, I was able to get an IP and internet access.

Share this post


Link to post
Share on other sites

Just tested this kext on my U310 (with 8105E) and it work great.  

 

I did have to configure it manually tho.  Automatic did not work for me (it kept switching between connected and disconnected).

My settings were 

100baseTX

full duplex

standard (1500)

 

I've tested waking from sleep as well as unplugging and re-plugging the ethernet cable and using both methods, I was able to get an IP and internet access.

 

Which chipset? Please see the kernel logs.

 

Mieze

Share this post


Link to post
Share on other sites

Just tested this kext on my U310 (with 8105E) and it work great.  

 

I did have to configure it manually tho.  Automatic did not work for me (it kept switching between connected and disconnected).

My settings were 

100baseTX

full duplex

standard (1500)

 

I've tested waking from sleep as well as unplugging and re-plugging the ethernet cable and using both methods, I was able to get an IP and internet access.

Can you upload ur DSDT? Just wanna check the ethernet part.

Share this post


Link to post
Share on other sites

Which chipset? Please see the kernel logs.

 

Mieze

 

do you mean this?

2/28/14 8:37:31.000 PM kernel[0]: Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80dec3d000,  4:7d:7b:b8: 5:b8

Can you upload ur DSDT? Just wanna check the ethernet part.

 

how do I add attachments?

Share this post


Link to post
Share on other sites

do you mean this?

2/28/14 8:37:31.000 PM kernel[0]: Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80dec3d000,  4:7d:7b:b8: 5:b8

 

how do I add attachments?

You can click "More Reply Option" at bottom right corner. Then attach your file. Thx in advance.

Share this post


Link to post
Share on other sites

I did another test: to unload and reload the rtl8100.kext.

 

After sleep, console shows:

Before unload/reload:
Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80f124e000,  8:9e: 1:2b:b4:25

After:
Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80e9aa5000,  0: 0: 0: 0: 0: 0

Shows MAC address is not properly initialized.

 

And I tried this procedure before sleep, no problem at all. Wish it is helpful info.

Share this post


Link to post
Share on other sites

I did another test: to unload and reload the rtl8100.kext.

 

After sleep, console shows:

Before unload/reload:
Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80f124e000,  8:9e: 1:2b:b4:25

After:
Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80e9aa5000,  0: 0: 0: 0: 0: 0

Shows MAC address is not properly initialized.

 

And I tried this procedure before sleep, no problem at all. Wish it is helpful info.

 

Yeah, got an idea! Are you able to build from source?

 

Mieze

Share this post


Link to post
Share on other sites

Yeah, got an idea! Are you able to build from source?

 

Mieze

Nice. No, I don't have Xcode installed. I could download it but need some time.

Share this post


Link to post
Share on other sites

 Just returned home. I'll send you a new version to test soon.

 

Mieze

Please try the attached version and report back.

 

Good luck!

 

Mieze

Thx. Unfortunately it is still not working. Unload/reload shows:

Before:
Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80f136d000,  8:9e: 1:2b:b4:25

After:
Ethernet [RealtekRTL8100]: RTL8105E: (Chipset 12) at 0xffffff80f136d000,  0: 0: 0: 0: 0: 0

Share this post


Link to post
Share on other sites

@lisai9093: Can you please send me your DSDT. It might be as well something outside of thee driver which causes the failure after wakeup.

 

Mieze

Share this post


Link to post
Share on other sites

@lisai9093: Can you please send me your DSDT. It might be as well something outside of thee driver which causes the failure after wakeup.

 

Mieze

 

Here it is:dsdt.aml.zip

 

I've tried @ikkoku's DSDT without success.  :(

Share this post


Link to post
Share on other sites

Here it is:attachicon.gifdsdt.aml.zip

 

I've tried @ikkoku's DSDT without success.  :(

 

I've checked your DSDT and found no problem. It's really strange but it seems as if your NIC doesn't get powered on completely after wakeup.

 

As ikkoku has no problems with sleep/wakeup using the same chipset, I assume that the cause of the problem isn't located inside the driver. Have you verified that there is no other driver for your NIC installed. I recently had a user reporting a funny problem with the RTL8111 driver and finally it turned out that he had forgotten to remove Realtek's own driver before installing mine.

 

You should also review your BIOS settings very carefully. Is energy saving and suspension (sleep = S3 state) configured correctly? Are PCIe devices allowed to generate wakeup events? What entity is handling wakeup events: the BIOS or OS X?

 

Mieze

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By grisno
      Hi people,
       
      Installer to activate the sound card REALTEK ALC282-v2 (10ec:0282) with LayoutID 1 or 3 in MacOS. This installer does not contain AppleHDA patched Kext. To work properly, it must be installed over vanilla AppleHDA.kext.
       
      I want to thank the whole community for their efforts and content provided, because without these it would not be possible to create this installer.
       
      I would appreciate comments and suggestions!!
       
      Status:
      Speakers : OK Headphones : OK HDMI Audio : OK (Intel HD4K Tested) LineIn : N/A (Model Without LineIn) MicInt : OK MicIntNoiseReduction : OK MicExt : N/A (Model Without MicExt) AutoDetectLineIn : N/A (Model Without LineIn) Sleep : OK WakeUp : OK AutoSleep : OK Hibernate : OK Siri : OK   Tested Laptops:
       
      - HP Pavillion 15-D002SS
       
      Coming Soon:
       
      - Unified installer for the different supported operating systems.
      - Support model with LineIn jack.
       
      Modified Verbs:
      01271C20 01271D00 01271EA0 01271F90 01471C10 01471D00 01471E17 01471F90 01871CF0 01871D00 01871E00 01871F40 01E71CF0 01E71D00 01E71E00 01E71F40 02171C30 02171D10 02171E21 02171F00 01470C02   DSDT:
       
      Patch to apply with MaciASL in your DSDT
      ######################################### HDEF v1.00######################################## into method label _DSM parent_label HDEF remove_entry;into device label HDEF insertbeginMethod (_DSM, 4, NotSerialized)\n{\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "layout-id", Buffer() { 0x01, 0x00, 0x00, 0x00 },\n //"layout-id", Buffer() { 0x03, 0x00, 0x00, 0x00 },\n "hda-gfx", Buffer() { "onboard-1" },\n "PinConfigurations", Buffer() { },\n })\n}\nend;  
    • By grisno
      Hi people,
       
      This is a preliminary installer to activate the Combo Mini PCIe Atheros QCWB335 in MacOS.
       
      I want to thank the whole community for their efforts and content provided, because without these it would not be possible to create this installer.
       
      I would appreciate comments and suggestions!!
       
      Status:
      AIRPORT : OK Atheros QCWB335 (AR9565) (168c:0036) Mini PCIe * BLUETOOTH : OK Atheros AR3012 (0cf3:3121) USB 2.0 ** AIRDROP : Not Tested HANDOFF : Not Tested CONTINUITY : Not Tested WOL : Not Tested IMESSAGE : OK FACETIME : OK ICLOUD : OK APPSTORE : OK   Known Issues:
       
      - Partial support with a maximum speed of 10Mbits (10.11.0+) *
      - Don't support Bluetooth Power Off/On by Software (10.10.0+) **
      - Sometimes Lost Bluetooth After Sleep WakeUp (10.10.0+) **
       
      Sources:
       
      Insanelymac
    • By grisno
      Installer to activate the Combo Mini PCIe AZUREWAVE AW-CE123H in macOS (10.8.5+)
       
      Status:
      AIRPORT : OK AzureWave AW-CE123H (14e4:43b1) [Broadcom BCM94352 HMB] Mini PCIe BLUETOOTH : OK AzureWave AW-CE123H (17cf:0b05) [Broadcom BCM20702A1] USB 2.0 AIRDROP : OK HANDOFF : OK CONTINUITY : OK WOL : Not Tested IMESSAGE : OK FACETIME : OK ICLOUD : OK APPSTORE : OK SIRI : OK   I want to thank the whole community for their efforts and content provided, because without these it would not be possible to create this installer.
       
      I would appreciate comments and suggestions!!
    • By grisno
      macOS driver installer for laptop HP Pavilion G6-2209SS with support for dual boot Bootloader. Maybe it can be installed on other HP Pavillion G6 series laptops, but in some cases additional fixes will have to be made.
       
      I want to thank the whole community for their efforts and content provided, because without these it would not be possible to create this installer.
       
      I would appreciate comments and suggestions!!
       
      Status:
      CPU : OK Intel Core i3-2370M AUDIO : OK IDT 92HD87B2/4 (111d:76d9) Layer 3 & 12 (Speakers+Hearphones+LineIn+MicInt w/NoiseFilter+MicExt+HDMI) VIDEO : OK Intel HD Graphics 3000 (8086:0116) (LVDS + HDMI A/V + VGA) (VGA MacOS < 10.8.2) MEMORY : OK Intel 2nd Generation Core Proccesor DRAM Controller (8086:0104) (Dual Channel DDR3 Up To 16GB) SATA : OK Intel 7 Series Chipset Family SATA Controller (8086:1e03) (ACHI Mode) DVD : OK (Read & Write) USB 2.0 : OK Intel 7/C216 Chipset Family USB Enhaced Host Controller (8086:1e26 & 8086:1e2d) USB 3.0 : OK Intel 7/C216 Chipset Family USB xHCI Host Controller (08086:1e31) WEBCAM : OK HP TrueVision HD (SuYin) (064e:e263) [USB 2.0] KEYBOARD : OK PS/2 TRACKPAD : OK PS/2 Synaptics LAN : OK Realtek RTL8501E Fast/Gigabyte Ethernet Controller PCI Express (10ec:103c) * AIRPORT : KO MediaTek RT3290 PCI Express (1814:3290) (Not Supported) BLUETOOTH : KO MediaTek RT3290 PCI Express (1814:3298) (Not Supported) CREADER : OK Realtek RTS5229 PCI Express (10ec:5229) (10.12.5+) *** ACPI BAT : OK (Chameleon & Clover) ACPI PWR : OK (Chameleon & Clover) ACPI RST : OK (Chameleon & Clover) ACPI SLP : OK (Chameleon & Clover) ** ACPI WAK : OK (Chameleon & Clover) ** HIBERNATE : OK (Only Clover Bootloader w/Hibernatemode: 0, 21 & 29) IMESSAGE : OK (Chameleon & Clover) FACETIME : OK (Chameleon & Clover) ICLOUD : OK (Chameleon & Clover) APPSTORE : OK (Chameleon & Clover) ITUNES : OK (A/V DRM Content & Sync iPod/iPhone) SIRI : OK CMOS : OK RTC : OK LPC : OK Intel HM76 Express LPC Controller (8086:1e44) SMBUS : OK Intel 7/C216 Chipset Family SMBus Controller (8086:1e22) IMEI : OK Intel 7/C216 Chipset Family MEI Controller (8086:131a) GPT PART. : OK (Chameleon & Clover) (10.13+ APFS Not Tested) MBR PART. : Not Tested   Known Issues:
       
      - AppleRTL8169Ethernet: phyWaitForAutoNegotiation TIMEOUT. *
      - AppleRTL8169Ethernet: only work to 10Mbits. *
      - You can't wake up the system when the laptop uses the battery and the system disk is a USB hard drive. **
      - You can't wake up the system from PS/2 Keyboard/Trackpad. **
      - The Wifi MediaTek RT3290 (1814:3290) device are not supported.
      - The Bluetooth MediaTek RT3290 (1814:3298) device are not supported.
      - The PCIe CardReader Realtek RTS5229 (10ec:5229) device are not supported. *** (10.12.5-)
      - Stop working when sleep with inserted card. *** (10.12.5+)
      - Chameleon Bootloader Not Work Properly With macOS Mojave
       
      Coming soon:
       
      - Installer: Create unified installer for all Mac OS versions
      - Manual: How To Install Wifi Card Blacklisted In HP UEFI BIOS
      - Manual: How To Install OSX Without Destroying Windows 8.x Partition
      - Driver: VirtualSMC Support
×