-
-
Notifications
You must be signed in to change notification settings - Fork 272
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
Comments
That was some amazing research, thank you.On Jun 16, 2023, at 8:02 AM, ekalf ***@***.***> wrote:
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.)
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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
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[...]
: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.)
The text was updated successfully, but these errors were encountered: