Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?

Realtek 8153

Download

Current version: 1.0.19 1.0.15 (as of 2018-12-10)

https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software

http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=13&PFid=56&Level=5&Conn=4&DownTypeID=3&GetDown=false

Realtek GBE USB

  • Gigabit ethernet
  • USB hub

Gather Info




  • Launch a terminal/shell
  • ioreg -p IOUSB -w0
  • ioreg -p IOUSB -w0 -l: For more info
+-o Root  <class IORegistryEntry, id 0x100000100, retain 14>
  +-o Root Hub Simulation Simulation@14000000  <class AppleUSBRootHubDevice, id 0x1000002fa, registered, matched, active, busy 0 (6 ms), retain 13>
    +-o USB2.0 Hub             @14100000  <class AppleUSBDevice, id 0x1000002fb, registered, matched, active, busy 0 (43 ms), retain 14>
    +-o Apple Internal Keyboard / Trackpad@14400000  <class AppleUSBDevice, id 0x1000002ff, registered, matched, active, busy 0 (96 ms), retain 22>
    +-o USB3.0 Hub             @14500000  <class AppleUSBDevice, id 0x100000363, registered, matched, active, busy 0 (54 ms), retain 15>
    | +-o USB 10/100/1000 LAN@14540000  <class AppleUSBDevice, id 0x100000418, registered, matched, active, busy 0 (73 ms), retain 18>
    +-o Bluetooth USB Host Controller@14300000  <class AppleUSBDevice, id 0x1000003d8, registered, matched, active, busy 0 (58 ms), retain 24>
Terminal output snippet from `ioreg -p IOUSB -w0 -l`
+-o USB3.0 Hub             @14500000  <class AppleUSBDevice, id 0x100000363, registered, matched, active, busy 0 (54 ms), retain 15>
    | | {
    | |   "sessionID" = 2480892594
    | |   "iManufacturer" = 1
    | |   "bNumConfigurations" = 1
    | |   "idProduct" = 2066
    | |   "bcdDevice" = 37009
    | |   "Bus Power Available" = 900
    | |   "USB Address" = 5
    | |   "bMaxPacketSize0" = 9
    | |   "iProduct" = 2
    | |   "iSerialNumber" = 0
    | |   "bDeviceClass" = 9
    | |   "Built-In" = No
    | |   "locationID" = 340787200
    | |   "bDeviceSubClass" = 0
    | |   "bcdUSB" = 768
    | |   "USB Product Name" = "USB3.0 Hub             "
    | |   "PortNum" = 5
    | |   "non-removable" = "no"
    | |   "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
    | |   "bDeviceProtocol" = 3
    | |   "IOUserClientClass" = "IOUSBDeviceUserClientV2"
    | |   "IOPowerManagement" = {"DevicePowerState"=0,"CurrentPowerState"=3,"CapabilityFlags"=65536,"MaxPowerState"=4,"DriverPowerState"=3}
    | |   "Device Speed" = 3
    | |   "USB Vendor Name" = "VIA Labs, Inc.         "
    | |   "idVendor" = 8457
    | |   "IOGeneralInterest" = "IOCommand is not serializable"
    | |   "IOClassNameOverride" = "IOUSBDevice"
    | | }
    | |
    | +-o USB 10/100/1000 LAN@14540000  <class AppleUSBDevice, id 0x100000418, registered, matched, active, busy 0 (73 ms), retain 18>
    |     {
    |       "sessionID" = 3379212797
    |       "iManufacturer" = 1
    |       "bNumConfigurations" = 2
    |       "idProduct" = 33107
    |       "bcdDevice" = 12288
    |       "Bus Power Available" = 900
    |       "USB Address" = 8
    |       "bMaxPacketSize0" = 9
    |       "iProduct" = 2
    |       "iSerialNumber" = 3
    |       "bDeviceClass" = 0
    |       "Built-In" = No
    |       "locationID" = 341049344
    |       "bDeviceSubClass" = 0
    |       "bcdUSB" = 768
    |       "USB Product Name" = "USB 10/100/1000 LAN"
    |       "PortNum" = 4
    |       "non-removable" = "no"
    |       "IOCFPlugInTypes" = {"9dc7b780-9ec0-11d4-a54f-000a27052861"="IOUSBFamily.kext/Contents/PlugIns/IOUSBLib.bundle"}
    |       "bDeviceProtocol" = 0
    |       "IOUserClientClass" = "IOUSBDeviceUserClientV2"
    |       "IOPowerManagement" = {"ChildrenPowerState"=4,"DevicePowerState"=0,"CurrentPowerState"=4,"CapabilityFlags"=32768,"MaxPowerState"=4,"DriverPowerState"=4}
    |       "Device Speed" = 3
    |       "USB Vendor Name" = "Realtek"
    |       "idVendor" = 3034
    |       "IOGeneralInterest" = "IOCommand is not serializable"
    |       "USB Serial Number" = "002427FE48F6"
    |       "IOClassNameOverride" = "IOUSBDevice"
    |     }
    |

  • Launch a terminal/shell
  • ifconfig
en4: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=2b<RXCSUM,TXCSUM,VLAN_HWTAGGING,TSO4>
	ether 00:24:27:fe:48:f6
	inet 192.168.1.135 netmask 0xffffff00 broadcast 192.168.1.255
	media: autoselect (1000baseT <full-duplex,flow-control>)
	status: active

Reload OSX driver (kext)

The driver is located at

  • /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleRTL815X*.kext
  • /Library/Extensions/AppleRTL815X*.kext

Here are the namespaces:

  • com.realtek.driver.AppleRTL815XEthernet
  • com.realtek.driver.AppleRTL815XComposite

See http://osxdaily.com/2015/06/24/load-unload-kernel-extensions-mac-os-x/

With normal operation with only the network cable plugged in, I only see com.realtek.driver.AppleRTL815XEthernet loaded.

# Unload
sudo kextunload /Library/Extensions/AppleRTL815XEthernet109.kext
sudo kextunload /Library/Extensions/AppleRTL815XComposite109.kext

# Load
sudo kextload /Library/Extensions/AppleRTL815XEthernet109.kext
sudo kextload /Library/Extensions/AppleRTL815XComposite109.kext

# Find if loaded
kextstat | grep com.realtek.driver.AppleRTL815XEthernet
kextstat | grep com.realtek.driver.AppleRTL815XComposite

Perhaps clear the Kernel cache

sudo rm -rf /System/Library/Caches/com.apple.kext.caches

I got a new USB ethernet adapter and use the native driver

I got a new USB ethernet adapter because the old one had lots of issues (hence the gist in the first place). But it still uses the same Realtek 8153 chip although am using the native driver though now, AppleUSBECM.kext

In terms of my previous issues, I remember that when I clicked the little lock in the browser to view the cert, it would crash my computer. But the disconnects that required a restart were the bigger issue. (personal reference link)

I'm currently running macOS Mojave 10.14

@LeDominik
Copy link

LeDominik commented May 4, 2022

I had exactly those sudden hangs with the Anker 1Gbit RT8153 based adapter (ECM driver) and just couldn't figure out the source of the problem... As I couldn't get the Plugable over here in continental Europe, I got one from wavlink with RTL8156B for ~ €30. Driver is now NCM and everything looks smooth... I'm on Monterey (x86 MBP)

@eduardox23
Copy link

eduardox23 commented May 12, 2022

this shit is annoying as fuck, I got a Baseus hub with this realtek chipset on a MacBook Pro intel 2018 running monterey and its overheating the hub, its so hot that I barely can remove it with my own hands. Already tried the Realtek website driver and nothing

@alins
Copy link

alins commented May 18, 2022

I can confirm that Anket 2.5 Gbit Adapter breaks Airplay 2.....in Music app. i can send the system sound to my HomePod, I just can't select my HomePod in Music app. I don't know what in the world the Music app is doing different than what the system sound is doing.

same exact problem with Plugable adapter. running 12.4

yes, this shit is very annoying.

@omgdevops
Copy link

omgdevops commented May 21, 2022

@43n79w
Stumbling across this a few months later; this is tremendously helpful. Thanks for taking the time to write this up.

@simplepanda
Copy link

simplepanda commented Jul 3, 2022

I can confirm that Anket 2.5 Gbit Adapter breaks Airplay 2

Same issue here. Pluggable 2.5Gbps adapter works fine for most applications but breaks Airplay 2.

@rfpm
Copy link

rfpm commented Jul 22, 2022

Incompatible architecture: Binary is for x86_64, but needed arch arm64e
MacOs M1 Monterey 12.1

Exact same issue but on 12.5

@tobsen
Copy link

tobsen commented Jul 24, 2022

I tried the Anker 2.5 Gbit Adapter, wich also uses the Realtek. All works fine, except Airplay 2. Selecting a HomePod in Music immediately throws an error dialog without hitting play. This happens on may M1 and Intel MacBook. AirPlay 1 seems to work.

This is also not fixed on 12.5

@sarabveer
Copy link

sarabveer commented Aug 20, 2022

I am using a Dell U2723QE monitor which has an Ethernet port on the USB bus. It is a Realtek RTL8153 (0x0bda 0x8153) and the driver in use is the NCM driver (com.apple.driver.usb.cdc.ncm).

image

A bit of a downgrade from the Intel I210 chip in my Thunderbolt dock, but since its NCM it should be okay.

EDIT: Seems like VLANs are not supported.

@ghazel
Copy link

ghazel commented Aug 20, 2022

Instead of screenshots, the command line for that is: system_profiler SPEthernetDataType

    USB 10/100/1000 LAN:

      Bus: USB
      Vendor Name: Realtek
      Product Name: USB 10/100/1000 LAN
      Vendor ID: 0x0bda
      Product ID: 0x8153
      USB Link Speed: Up to 5 Gb/s
      Driver: com.apple.DriverKit.AppleUserECM
      BSD Device Name: en6
      MAC Address: 00:00:00:00:00:00
      AVB Support: No

@dani190
Copy link

dani190 commented Aug 22, 2022

Anyone noticing on 12.5.1 with Realtek 8153 chips that internet speeds are improved? I am basically no longer seeing a bottleneck like I did in the past and can nearly max out my gig connection now.

@43n79w
Copy link

43n79w commented Aug 22, 2022

@dani190 throughput does appear to be better for the ECM driver in 12.5.1 but it still can't quite saturate my gigabit connection like the NCM driver can. But it's substantially improved and is within 80-100 Mbps of the NCM driver now. On my M1 Mac, CPU utilization is still a lot heavier in 12.5.1 with an 8153 chipset running the ECM driver compared to an 8156 chipset running the NCM driver. That would be expected given the difference between ECM and NCM. The impact may not make a practical difference to some people so it's great that throughput has increased. On my end, the CPU spikes with the ECM driver were causing audio glitches (e.g., small audio blips and dropouts) when trying to do other tasks that taxed the CPU heavily. These audio issues go away entirely for me when running the NCM driver.

@dani190
Copy link

dani190 commented Aug 22, 2022

@43n79w I wonder what they did to improve it but yes agreed. Practically speaking you probably won't notice it. I was going to try that pluggable 2.5g adapter until I saw comments above about airplay 2 issues.

@simplepanda
Copy link

simplepanda commented Aug 22, 2022

@dani190 As an FYI - the Pluggable 2.5Gbps has other issues. I was seeing streams of interface level errors while watching a netstat stream with the Pluggable 2.5Gbps units; specifically I had a machine where Time Machine backups over SMB (to a Synology NAS) wouldn't complete successfully. As soon as the Pluggable was removed (for an Intel chipset Thunderbolt 3 gigabit adapter) the errors went away and the backup succeeded.

I think the Pluggable unit and the associated 8156 chipset devices "work" only in so much as they load web pages and do basic networking. Any load or complex networking seems to expose major issues with them. Not sure if it's the Apple NCM driver or the hardware.

@ghazel
Copy link

ghazel commented Aug 22, 2022

an Intel chipset Thunderbolt 3 gigabit adapter

@simplepanda could you share the make and model of that adapter?

@spmacdonald
Copy link

spmacdonald commented Aug 29, 2022

Thanks so much for taking the time to do this analysis. I was lead to this thread after my Belkin Thunderbolt 3 pro dock USB ports would randomly stop working: ethernet, mouse, keyboard stop responding. Displays continue to work. Has anyone else experienced this as well? My theory is it is related to the Realtek drivers.

Just wondering if anyone knows how I can completely disable the Ethernet? Unload the kext?

Also has anyone found a reliable ethernet dongle? Preferably PCIe instead of USB?

@knutsenm
Copy link

knutsenm commented Aug 29, 2022

I was lead to this thread after my Belkin Thunderbolt 3 pro dock USB ports would randomly stop working: ethernet, mouse, keyboard stop responding. Displays continue to work. Has anyone else experienced this as well? My theory is it is related to the Realtek drivers.

@spmacdonald I think you are experiencing a broader problem. Back when I reported on 22nd April, my "Belkin Thunderbolt 3 Express Dock HD" was only giving me grief from its Ethernet port.

However, its Ethernet has been quite reliable of late. It's using the "...AppleEthernetE1000" driver. I'm confused. Could that have changed from the ECM driver? I can't be sure that I checked the driver back in April - only that it was unreliable:

the network would periodically stop working. Undock / redock was required to get it restarted

@spmacdonald
Copy link

spmacdonald commented Aug 29, 2022

It is my best theory currently... any thoughts on what logs to check when it does happen? I have searched the system logs but have yet to find any smoking guns...

The driver I am using is

scott@m1pro ~ % system_profiler SPEthernetDataType
Ethernet:

    USB 10/100/1000 LAN:

      Bus: USB
      Vendor Name: Realtek
      Product Name: USB 10/100/1000 LAN
      Vendor ID: 0x0bda
      Product ID: 0x8153
      USB Link Speed: Up to 5 Gb/s
      Driver: com.apple.DriverKit.AppleUserECM
      BSD Device Name: en4
      MAC Address: e8:9f:80:1f:82:2d
      AVB Support: No

and

scott@m1pro ~ % kmutil showloaded |grep -i com.apple.driver.usb.cdc
No variant specified, falling back to release
  242    2 0xfffffe0007406560 0x4000     0x4000     com.apple.driver.usb.cdc (5.0.0) 86D85933-06EB-39C9-8412-6617EE430E11 <213 128 56 5 4 3 1>
  250    0 0xfffffe00074027e0 0x4000     0x4000     com.apple.driver.usb.cdc.acm (5.0.0) CC3A2E2B-0B0A-3071-9F8F-965FD21EDD0A <249 242 213 128 56 44 5 4 3 1>
  251    0 0xfffffe0007409ff0 0x4000     0x4000     com.apple.driver.usb.cdc.ecm (5.0.0) DDEC13AD-8186-35E5-A006-251C61501398 <242 213 56 55 45 5 4 3 1>

scott@m1pro ~ % kmutil showloaded |grep -i patch
No variant specified, falling back to release
  244    0 0xfffffe000740ee30 0x4000     0x4000     com.apple.driver.usb.realtek8153patcher (5.0.0) B2CC159C-E9DC-37BB-A6D9-8B0C6B980324 <56 5 4 3 1>

Today I tried to follow https://www.realtek.com/en/component/zoo/category/network-interface-controllers-10-100-1000m-gigabit-ethernet-usb-3-0-software and manually load the driver, but it refuses because it is x86 and I am on arm64.

For what its worth, this is my second Belkin dock, they replaced the first one, second one has exactly the same issue.

@sarabveer
Copy link

sarabveer commented Aug 30, 2022

Before I bought the monitor, I used to use this Cable Matters portable Thunderbolt dock (the DisplayPort version): https://www.amazon.com/Certified-Cable-Matters-Thunderbolt-Compatible/dp/B08DYDV5DD

It has an Intel i210 chip, never had a problem and even supports VLANs.

Another option is the use the Apple Thunderbolt 2 Ethernet dongle with the Apple Thunderbolt 2 to Thunderbolt 3 dongle. I bought them on eBay and it also works well.

@spmacdonald
Copy link

spmacdonald commented Aug 31, 2022

Thanks for the responses guys. I bought one of the pluggable 2.5g dongles and so far working well, much faster than before.

The USB ports freezing still happening though, today I made an effort to try and identify the log entries right around time of event and see:

2022-08-31 10:03:03.369994-0600 0xced      Default     0x0                  0      0    kernel: (com.apple.DriverKit.AppleUserECM.dext) <private>
2022-08-31 10:03:03.372126-0600 0xcaf      Default     0x0                  236    0    mDNSResponder: [com.apple.mDNSResponder:Default] <private>
2022-08-31 10:03:03.372132-0600 0xcaf      Default     0x0                  236    0    mDNSResponder: [com.apple.mDNSResponder:Default] <private>
2022-08-31 10:03:03.372135-0600 0xcaf      Default     0x0                  236    0    mDNSResponder: [com.apple.mDNSResponder:Default] <private>
2022-08-31 10:03:03.373084-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] exited due to exit(0)
2022-08-31 10:03:03.373103-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] service only configured to run once, removing
2022-08-31 10:03:03.373106-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] service state: exited
2022-08-31 10:03:03.373113-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] internal event: EXITED, code = 0
2022-08-31 10:03:03.373117-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] job state = exited
2022-08-31 10:03:03.373120-0600 0x14a06e   Default     0x0                  1      0    launchd: [system:] service inactive: com.apple.DriverKit.AppleUserECM.data-0x100000b2d
2022-08-31 10:03:03.373131-0600 0x14a06e   Default     0x0                  1      0    launchd: [system:] removing service: com.apple.DriverKit.AppleUserECM.data-0x100000b2d
2022-08-31 10:03:03.373174-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] internal event: PETRIFIED, code = 0
2022-08-31 10:03:03.373184-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] job state = removed
2022-08-31 10:03:03.373188-0600 0x14a06e   Default     0x0                  1      0    launchd: [system/com.apple.DriverKit.AppleUserECM.data-0x100000b2d [276]:] service state: not running

Not sure this will help anyone, just trying to add to the conversation in case it is useful

@thomasjpr
Copy link

thomasjpr commented Sep 13, 2022

Just seeing the comments here about AirPlay 2 and the Realtek chipset. This issue is years old, and not strictly a Realtek issue. Thunderbolt 10GbE adapters which use the Aquantia chipset exhibit the same issues with AirPlay. It does not affect Macs which have the Aquantia chip built-in (like the Mac mini, or the Mac Pro.) Some sort of bug exists that prevents macOS from using AirPlay 2 with certain ethernet chipsets.

@melyux
Copy link

melyux commented Sep 14, 2022

@thomasjpr I switched to an AX88179A chipset adapter (gigabit) and it works great with an NCM driver on Macs, but I noticed it didn't discover some of the mDNS/Bonjour services that Wi-Fi and ECM driver-using ethernet adapters can discover. I wonder if it's related.

@sarabveer
Copy link

sarabveer commented Sep 14, 2022

mDNS/Bonjour is working fine for me on the NCM driver.

@tobsen
Copy link

tobsen commented Sep 14, 2022

@sarabveer This seems not to be a Bounjour issue. This only happens with AirPlay 2 targets and immediately by selecting the target in the Music/iTunes/QuickTime menu without playing any media. AirPlay 1 targets work without any problem.

@whip1ash
Copy link

whip1ash commented Oct 7, 2022

What works for me to install the latest Realtek driver:

  1. Disable SIP: Hold down Command-R during startup - Once started, open Terminal - type "csrutil disable" - Reboot
  2. Install RTUNICv1.0.22.dmg
  3. During installation it will ask for alleviated privileges: Open System Preferences -> Security & Privacy -> Click "Allow"
  4. Enable SIP: Reboot and Hold down Command-R during startup - Once started, open Terminal - type "csrutil enable" - Reboot

Having installed the Realtek driver also solved the issue of my Philips monitor (with built-in RTL8153 NIC) locking-up my network while going into sleep mode.

You can check if the driver loaded well by running: System Information -> Hardware -> Ethernet Cards -> Realtek... It should say "/Library/Extensions/AppleRTL815XEthernet110.kext" on "Location".

I met same situation but not solved. I have 'system extension blocked ' pop iteam when installation but not "Allow" buttoun in "Security & Privacy".
MacOs version: 12.5.1 (21G83)
rtl8153 in dell dell u2723qx

@spmacdonald
Copy link

spmacdonald commented Oct 7, 2022

Are you on a m1 Mac? that driver is x86 only

@whip1ash
Copy link

whip1ash commented Oct 7, 2022

Are you on a m1 Mac? that driver is x86 only

@spmacdonald I'm on m1 pro. I have to wait for the official update.

@simongcc
Copy link

simongcc commented Nov 17, 2022

I have just got a Realtek 8153 chipset based external lan card in type-c interface. The connection and system information shows that it is in giga lan connection. But the practical test indicated that it is actually around 100 speed of transfer.
The official realtek have no driver yet for macOS 12.6.1 with M1

Most likely the speed limitation or differ is due to the driver limitation.

@briantopping
Copy link

briantopping commented Nov 17, 2022

@simongcc There's a lot of details missing in your inquiry, but I can advise you that I have been using the Apple driver that ships with the operating system with no problem since ~12.5.

I'm wondering if you've tried it and if so, whether you might have some conflicting configuration that is stopping the Apple driver from working properly?

@simongcc
Copy link

simongcc commented Nov 19, 2022

@briantopping Thanks for your reply. After posting that, I just found out that I could have run a couple of other tests.
Because the tests I run was for the Lan connection speed transferring files to network NAS. The result could be falsy because there are many factors affecting this. I have done a few tests today with different lan cables by plugging in to the broadband modem directly and bypassing the router to eliminate all the factors. I use speedtest Mac App to get the result. It is around 900mpbs so it is quite acceptable with small loss and nearly 90% of the giga lan for an internet network with a giga lan broadband.

Sorry for using your time and making troubles.
The new type-c USB land card with Realtek 8153B proved to be working properly with the default Apple driver in macOS 12.6.1 M1
The brand that I have bought is from Taobao. I bought its usb type-c connector before which is of good quality so I give a try for other peripherals. My suspect was due to the to the negative comments that I have read in the product feedback during the purchase and diverted the integrity of the thinking and doing a rightful test.

@briantopping
Copy link

briantopping commented Nov 19, 2022

I use speedtest Mac App to get the result.

This isn't terrible, but remember that your test results will be at the whim of your upstream provider. The best way to do this test is with something like netcat between two machines on the same network. Then compare that to the speedtest results you get. It doesn't mean that speedtest can always be discounted by the same amount though, your WAN provider will have good and bad days.

I bought its usb type-c connector before which is of good quality so I give a try for other peripherals.

That's the biggest problem I've found is the connector quality on the cheap dongles. I had one dongle ruin a motherboard port on an older MacBook pro. Fortunately there were other ports, but it was disappointing.

Sorry for using your time and making troubles.

Not at all! We've all learned how to do this together. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment