How to view layer 2 packets on a Mac's wired interface when Wi-Fi is disabled?
My situation is this:
- I've got a Mac Mini (2018 Intel) running Sequoia 15.4.1, connected via its built-in Ethernet port to a switch. Nothing else on the LAN.
- There are several programs running on the Mac that communicate via layer 2 Ethernet packets (IEEE 1722.1 to be specific)
- These programs can communicate with each other, but only when Wi-Fi is enabled on the Mac.
- Similarly, I can use WireShark to monitor the layer 2 / 1722.1 traffic being generated by these programs on the wired interface, but only when Wi-Fi is enabled on the Mac.
- If I disable the Mac's Wi-Fi interface, neither WireShark nor any of the layer-2 communicating programs ever receive any of the locally-generated 1722.1 packets.
- If I add other computers to the LAN, the Mac programs receive their layer 2 / 1722.1 packets in all cases (i.e. whether or not Wi-Fi on the Mac is enabled). That is, the packet-routing issue is limited to 1722 traffic that is both sent and received (or not received) within the Mac itself.
Does anyone have any insight into what is going on here? I would like to find a way for the layer 2 communication to work as expected regardless of whether Wi-Fi is enabled or not, since AFAIK the behavior of traffic on the wired interface shouldn't depend on the state of the (unrelated) Wi-Fi interface.
UPDATE: WIth a bit more testing, I discovered that I can also obtain the desired behavior by connecting a second wired Ethernet NIC between my Mac Mini and the switch. So it appears the entry condition for the fault is having just a single network-path between the Mac Mini and the switch, rather than being something Wi-Fi specific.
So which interface is the Wi-Fi interface (en0?) and which is the Ethernet interface (en1?)?
On my Mac, en0 is the built-in wired NIC and en1 is WiFi.