I recently bought a new 16-inch MacBook Pro with the M2 Max chip, and soon discovered my VGA, HDMI and Ethernet adapters didn’t fit anymore. These adapters use Thunderbolt Mini DisplayPort connectors instead of the new regulated USB-C ones. So, I had to buy a few new adapters.
The most important one was a USB C to HDMI adapter, because I mainly use my MacBook for training course deliveries. I know it has an onboard HDMI connector, but in most cases, when I attach a long cable to this port, I’m not able to establish a connection to the presentation device. When using HDMI over USB C/TB4, the length of the cable can stretch much longer.
The MacBook Pro with the M2 Max chip can serve up to four external displays simultaneously, and supports 8K at 60Hz (or 4K at 240Hz) over HDMI. The USB C connectors support 6K at 60Hz over Thunderbolt 4. Make sure the USB C to HDMI Adapter you’re going to buy is compatible with Thunderbolt 3 and operates at 4K @60Hz. The one I’ve ordered works, but it’s not on stock anymore. I’ve included the Dutch product description on Amazon.nl as a reference.
USB C naar HDMI, Mini HDMI Type C Adapter naar Thunderbolt 3 & Compatibel met Apple MacBook Pro/Air/iPad Mini/ - 4K @60Hz
The Ethernet adapter is a bit trickier. Not all USB C/TB to Ethernet adapters are supported by the Apple M2 chip. My MacBook supports Thunderbolt 4, which offers a bandwidth of 40Gbps. My Ethernet switch only supports 1Gbps, so that’s not a limitation. But I had my eyes on an adapter with M2 and Thunderbolt 4 support. I found the following one at Amazon. The link is included as a reference.
USB C Ethernet Adapter, Maxonar USB C Gigabit LAN Adapter Thunderbolt 3/4 RJ45 Network Adapter, Aluminum Compact Design, Compatible with M2 MacBook, Pad Pro/Air, Surface Pro 8, Galaxy Tab S8, Galaxy
I can confirm both adapters work. I’m still looking for a VGA adapter, but these days there are not that many devices using VGA anymore. Maybe I settle for a HDMI to VGA adapter. At home, I’m not using my MacBook as my main computer, but there are some interesting docking stations for MacBook Pro's with Thunderbolt 4 support on the market.
There seems to be a problem with the Realtek RTL8153 chipset, comments on X please.
After publishing my initial article, I received a comment from Remy Zandwijk about an issue with Realtek's firmware.
esloof@Erics-MacBook-Pro ~ % kextstat | grep -i realtek
Executing: /usr/bin/kmutil showloaded
No variant specified, falling back to release
262 0 0xfffffe0007616ac0 0x28e4 0x28e4 com.apple.driver.usb.realtek8153patcher (5.0.0) 6EDE257C-DDC7-3EFA-B429-B08A4BACE111 <58 5 4 3 1>
Remy also referred to an article on Apple’s support website: USB Ethernet adapters randomly stop working on M1 MacBook Pro and MacOS Big Sur. I didn’t experience disconnects yet, but I'll update this article as soon as I do. The following information is extracted from my MacBook’s system information. It shows the vendor’s name listed as Realtek.
Update 19 Oct: So far, so good, no disconnects yet...
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: en8
MAC Address: 00:e0:4c:68:00:29
AVB Support: No
USB 3.1 Bus:
Host Controller Driver: AppleT8112USBXHCI
USB 10/100/1000 LAN:
Product ID: 0x8153
Vendor ID: 0x0bda (Realtek Semiconductor Corp.)
Version: 30.00
Serial Number: 000001
Speed: Up to 5 Gb/s
Manufacturer: Realtek
Location ID: 0x00200000 / 1
Current Available (mA): 900
Current Required (mA): 288
Extra Operating Current (mA): 0
esloof@Erics-MacBook-Pro ~ % usbdiagnose
2023-10-15 12:48:19.659 usbdiagnose[19409:6058653] USB Prober: Error reading USBVendors.txt from the Resources directory
Super Speed device @ 1 (0x00200000): ............................................. Composite device: "USB 10/100/1000 LAN"
Port Information: 0x001a
Not Captive
Attached to Root Hub
External Device
Connected
Enabled
Number Of Endpoints (includes EP0):
Total Endpoints for Configuration 1 : 4
Total Endpoints for Configuration 2 (current): 4
Device Descriptor
Descriptor Version Number: 0x0300
Device Class: 0 (Composite)
Device Subclass: 0
Device Protocol: 0
Device MaxPacketSize: 9
Device VendorID/ProductID: 0x0BDA/0x8153 (unknown vendor)
Device Version Number: 0x3000
Number of Configurations: 2
Manufacturer String: 1 "Realtek"
Product String: 2 "USB 10/100/1000 LAN"
Serial Number String: 6 "000001"
BOS Descriptor
Length (and contents): 22
Raw Descriptor (hex) 0000: 05 0F 16 00 02 07 10 02 02 00 00 00 0A 10 03 02
Raw Descriptor (hex) 0010: 0E 00 02 0A FF 07
Number of Capability Descriptors: 2
USB 2.0 Extension: 2
bmAttributes: 0x00000002
Bit 1: Link Power Management supported
SuperSpeed USB Device: 3
bmAttributes: 0x00000002
Bit 1: Latency Tolerance Messages supported
wSpeedsSupported: 0x000e
Bit 1: Full Speed supported
Bit 2: High Speed supported
Bit 3: Super Speed (5Gbps) supported
bFunctionalitySupport: 0x0002: Full Speed and above
bU1ExitLat: Less than 10 µs
wU2ExitLat: Less than 2047 µs
Configuration Descriptor
Length (and contents): 57
Raw Descriptor (hex) 0000: 09 02 39 00 01 01 00 A0 24 09 04 00 00 03 FF FF
Raw Descriptor (hex) 0010: 00 00 07 05 81 02 00 04 00 06 30 03 00 00 00 07
Raw Descriptor (hex) 0020: 05 02 02 00 04 00 06 30 03 00 00 00 07 05 83 03
Raw Descriptor (hex) 0030: 02 00 08 06 30 00 00 02 00
Number of Interfaces: 1
Configuration Value: 1
Attributes: 0xA0 (bus-powered, remote wakeup)
MaxPower: 288 mA
Interface #0 - Vendor-specific
Alternate Setting 0
Number of Endpoints 3
Interface Class: 255 (Vendor-specific)
Interface Subclass; 255 (Vendor-specific)
Interface Protocol: 0
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 1024
SuperSpeed Endpoint Companion
bMaxBurst: 3
bmAttributes: 0 (1 MaxStreams)
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 1024
SuperSpeed Endpoint Companion
bMaxBurst: 3
bmAttributes: 0 (1 MaxStreams)
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt periodic)
Max Packet Size: 2
Polling Interval: 8 (128 microframes (16 msecs) )
SuperSpeed Endpoint Companion
bMaxBurst: 0
bmAttributes: 0 (Mult: 0, max number of packets: 1)
wBytesPerInterval: 2
Configuration Descriptor (current config)
Length (and contents): 98
Raw Descriptor (hex) 0000: 09 02 62 00 02 02 00 A0 24 09 04 00 00 01 02 06
Raw Descriptor (hex) 0010: 00 05 05 24 00 10 01 05 24 06 00 01 0D 24 0F 03
Raw Descriptor (hex) 0020: 00 00 00 00 EA 05 00 00 00 07 05 83 03 10 00 08
Raw Descriptor (hex) 0030: 06 30 00 00 08 00 09 04 01 00 00 0A 00 00 00 09
Raw Descriptor (hex) 0040: 04 01 01 02 0A 00 00 04 07 05 81 02 00 04 00 06
Raw Descriptor (hex) 0050: 30 03 00 00 00 07 05 02 02 00 04 00 06 30 03 00
Raw Descriptor (hex) 0060: 00 00
Number of Interfaces: 2
Configuration Value: 2
Attributes: 0xA0 (bus-powered, remote wakeup)
MaxPower: 288 mA
Interface #0 - Communications-Control .............................................. "CDC Communications Control"
Alternate Setting 0
Number of Endpoints 1
Interface Class: 2 (Communications-Control)
Interface Subclass; 6
Interface Protocol: 0
Comm Class Header Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 00 10 01
Comm Class Union Functional Descriptor
Raw Descriptor (hex) 0000: 05 24 06 00 01
Comm Class Ethernet Networking Functional Descriptor
Raw Descriptor (hex) 0000: 0D 24 0F 03 00 00 00 00 EA 05 00 00 00
Endpoint 0x83 - Interrupt Input
Address: 0x83 (IN)
Attributes: 0x03 (Interrupt periodic)
Max Packet Size: 16
Polling Interval: 8 (128 microframes (16 msecs) )
SuperSpeed Endpoint Companion
bMaxBurst: 0
bmAttributes: 0 (Mult: 0, max number of packets: 1)
wBytesPerInterval: 8
Interface #1 - Communications-Data/Unknown Comm Class Model
Alternate Setting 0
Number of Endpoints 0
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 0
Interface #1 - Communications-Data/Unknown Comm Class Model (#1) .............................................. "Ethernet Data"
Alternate Setting 1
Number of Endpoints 2
Interface Class: 10 (Communications-Data)
Interface Subclass; 0 (Unknown Comm Class Model)
Interface Protocol: 0
Endpoint 0x81 - Bulk Input
Address: 0x81 (IN)
Attributes: 0x02 (Bulk)
Max Packet Size: 1024
SuperSpeed Endpoint Companion
bMaxBurst: 3
bmAttributes: 0 (1 MaxStreams)
Endpoint 0x02 - Bulk Output
Address: 0x02 (OUT)
Attributes: 0x02 (Bulk)
Max Packet Size: 1024
SuperSpeed Endpoint Companion
bMaxBurst: 3
bmAttributes: 0 (1 MaxStreams)