0

MacBook Pro with the M2 compatible USB C adapters – Eric Sloof

#MacBook #Pro #compatible #USB #adapters #Eric #Sloof

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)