Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

macOS: TB3 / USB-C Ethernet Adapter incompatibility #116

Open
ekalf opened this issue Jun 16, 2023 · 1 comment
Open

macOS: TB3 / USB-C Ethernet Adapter incompatibility #116

ekalf opened this issue Jun 16, 2023 · 1 comment

Comments

@ekalf
Copy link

ekalf commented Jun 16, 2023

Some examples of similar issues:
#112 #102 #87 #101

There seems to be a lot of inconsistency when it comes to macOS versions supporting "ifconfig ether" and any tools using that functionality.
Here are some observations, I'm trying to collect future issues in this thread.

Have a look at this blog post, it's really helpful:
https://khronokernel.github.io/macos/2021/11/22/PCIE-ETHERNET.html

Currently in macOS Ventura, there are 3 PCIe Ethernet Vendors natively supported. All drivers in macOS natively support both Intel and Apple Silicon machines:

Vendor Driver Supported Architectures Hardware
Intel AppleIntelI210Ethernet.kext x86_64, arm64e i210, i225
Broadcom AppleBCM5701Ethernet.kext x86_64, arm64e 5764M, 57761, 57762, 57765, 57766
Aquantia AppleEthernetAquantiaAqtion.kext x86_64, arm64e AQC107, AQC113

With the above 5 drivers, currently Apple only uses 2 of them in their products:
Aquantia is used on all Macs with 10Gbe
ie. 2017 iMac Pro, 2019 Mac Pro, 2018 Mac mini
Broadcom is used on all 2011+ Macs with 1Gbe
ie. 2011-2020 iMacs, 2010-2020 Mac minis, 2013 Mac Pro

Interestingly this issue seems to heavily depend on the driver that is used.
Ideally you'll want to use a NIC that is connected via PCI and is also used in some Apple product - that will make it more likely that Apple will maintain the drivers throughout macOS versions.
I'm only focusing on PCI/TB adapters in this issue.

However, I have not actually managed to get MAC spoofing working with anything other than the Apple TB2 - GbE adapter:

Tested with a MacBook Pro 14" 2023 (M2Pro) running macOS Ventura 13.4, macOS Sonoma Developer Beta 1
with the command sudo ifconfig ether enXX xx:xx:xx[...]:

  • Apple Thunderbolt to GbE Adapter (uses AppleBCM5701Ethernet iirc): works and accepts new MAC address
  • OWC TB3 to 10GbE Adapter, with AQC-107 Chipset (uses AppleEthernetAquantiaAqtion): fails silently (accepts command) and does not change the MAC address
  • (most USB adapters will fail with some error code, which is as expected as they use a more generic driver class)

In another Forum I read that someone also didn't get a Mac Mini (M2) with 10GbE to support ifconfig ether. That model also uses an AQC-107, so the AppleEthernetAquantiaAqtion driver - supporting the argument that only the Broadcom driver supports MAC spoofing in the latest OS releases.

If anyone gets a different network adapter to work, please comment :)

This does not seem like an issue any 3rd-party developer can solve (apart from re-writing the Aquantia driver from scratch), and it seems like it is not a HW limitation - using Windows I can easily spoof the MAC of my tested devices.
Apple should ideally acknowledge that this is a known limitation, whether by accident or by conscious decision ("security concerns" as hinted in an Apple Developer Forum).

I'm leaning towards this being a bug from porting drivers & not putting in the time to support all NIC features, and hope that a future release will solve it. In the meantime - if you need to use MAC spoofing the TB2 adapter is a relatively safe bet (albeit ugly due to dongle chaining etc.)

@dhcpserver
Copy link

dhcpserver commented Jun 16, 2023 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants