Current version: 1.0.19 1.0.15 (as of 2018-12-10)
Realtek GBE USB
- Gigabit ethernet
- USB hub
- Launch
System Preferences
->Network
- See
USB 10/100/1000 LAN
- https://i.imgur.com/Bm7D0Ld.png (mirror)
- https://i.imgur.com/wcMZFh8.png (mirror)
- Launch
System Information
(also known asSystem Profiler
) ->Hardware
->USB
- https://i.imgur.com/NJi9yC4.png (mirror)
- Launch
System Information
(also known asSystem Profiler
) ->Software
->Extensions
- https://i.imgur.com/64QCxxS.png (mirror)
- 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
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 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
And I wrote all of the above to explain why 8153 NCM is unlikely to happen.
It's not a missing Apple 8153 NCM driver.
What's actually missing is NCM protocol support in the USB ethernet dongle itself.
Assuming the dongle's firmware is updateable (might not be... who knows), you'd need to load new firmware into it that supports NCM (probably doable at the factory, likely harder/more risky in a user's hands - sometimes firwmare is intentionally locked down [so you can't flash it over usb] and thus might require disassembling the dongle and/or soldering in [jtag or other] connectors).
Additionally someone (presumably at Realtek...) would need to write that firmware (there might not even be enough room for it...). etc.
That said... there is a rumour of there being an NCM capable 8153 chip... I'm not sure whether it should be believed, or if some manufacturer actually runs a more complex multi-chip setup, or if someone actually developed an NCM capable firmware for the chip, even though [at a cursory glance per the spec sheet] Realtek does not appear to provide one...
https://gist.github.com/MadLittleMods/3005bb13f7e7178e1eaa9f054cc547b0?permalink_comment_id=4273488#gistcomment-4273488
But do note that's a monitor not a dongle... maybe it's not actually a RTL8153???
or it's a newer version of the chip (8153 is old... there's lots of revs)? or a chip with a much newer firmware?
or maybe Dell put in more eeprom to support a large more full featured firmware with NCM support?
Who knows...
--
https://forums.macrumors.com/threads/usb-c-ethernet-unreliable.2287743/post-31376857 and previous/next pages claim that for RTL8156 the USB reported version depends on the chip subversion:
Version: 30.00 RTL8156
Version: 31.00 RTL8156B
Version: 31.04 RTL8156B(S)G (ie. both the RTL8156BG and the RTL8156BSG)
and that the later versions work much better with Mac.
I wonder why... perhaps subtle bugs in the NCM protocol implementation on the chip?
(also note that RTL8153 can also report Version: 30.00)
Maybe the chip version only affects the default firmware, and there's some way (for manufacturers) to load in newer fw?
https://www.realtek.com/en/products/connected-media-ics/item/rtl8156b-s-g-cg - ECM & NCM
https://www.realtek.com/en/products/connected-media-ics/item/rtl8153b-vb-cg - lists ECM, does not list NCM...
https://www.asix.com.tw/en/product/USBEthernet/Super-Speed_USB_Ethernet/AX88179A - NCM
Aquantia was bought by Marvell, and all signs of USB ethernet chips from them seem to have more or less vanished,
although I know they exist (I have some dongles), and from vague recollection they supported NCM too.
https://www.marvell.com/content/dam/marvell/en/psg/marvell_psg.pdf
lists USB AQC111U-B0-C and AQC112U-B0-C