EAP650-Desktop Ethernet ports – are they full 802.1Q switch ports or policy-limited access ports?
Hi everyone!
I am troubleshooting a reproducible L2 issue involving EAP650-Desktop and would like to clarify the intended and actual behavior of its Ethernet ports.
More than asking for a workaround, I want to learn how configurable these ports really are and whether they can be used as full 802.1Q switch ports. That is important to me as I planned to use ESP650-DESKTOP instead of a basic AP + dedicated switch.
My topology (simplified)
- VLANs:
- 10, 20, 30
- 42 - default/management
-
EAP650-Desktop
-
EAP650-Desktop(EU) v1.0, 1.0.2 Build 20250123 Rel. 43117
-
Uplink (ETH0): trunk to Omada gateway (ER7206 v2.20, 2.2.3 Build 20250723 Rel.05551)
-
Downlink ports used for wired clients
-
-
PC – wired, VLAN 10
-
Server (Linux) – wired, multi-VLAN (VLAN 10 + 20 + 42), Linux bridge + VLAN subinterfaces
-
server has IPs from VLANs 10 and 42
-
VM inside, linked to the bridge, which is linked to VLAN 20
-
-
TV – wired, VLAN 20
-
Mobile phone – Wi-Fi, VLAN 10
All devices are connected to the same EAP650-Desktop.
For the purpose of debugging, I disabled all custom ACL rules in the network, so basically everyone should see everyone.
Observed behavior
What works
-
all devices have internet connectivity
-
VLAN 10 works in general:
-
PC ↔ router ✔
-
PC ↔ Wi-Fi VLAN 10 clients ✔
-
Server ↔ Wi-Fi VLAN 10 clients ✔
-
-
Inter-VLAN routing generally works:
-
Mobile (Wi-Fi, VLAN 10) → VM (VLAN 20) ✔
-
Router → VM (VLAN 20) ✔
-
-
VLAN 20 on wired port works:
-
TV (VLAN 20) is reachable from (most) devices ✔
-
Disclaimer: I didn't test two wired pure-VLAN10 devices against each other. But I strongly believe that will just work. (I can verify that later if needed.)
What does NOT work
-
PC ↔ Server (both wired, both wired VLAN 10) ❌
-
TV ↔ VM (VM inside server, both VLAN 20) ❌
Problem details
On the server, I captured traffic directly on the physical NIC (enp7s0):
sudo tcpdump -eni enp7s0 arp
The server does send correctly tagged ARP requests into VLAN 10 (.11 is the server, .13 is the PC)
22:cd:9d:b0:6f:83 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), vlan 10, ARP, Request who-has 192.168.10.13 tell 192.168.10.11
So:
-
ARP leaves the server
-
VLAN tagging seems correct
-
Linux bridge / netplan / VLAN configuration seems correct
However, on the PC, even while this capture is running, the ARP never appears! The PC never learns the server’s MAC address and vice versa.
At the same time:
-
The PC does see ARP from other VLAN 10 devices
-
Other devices do see the server
This IMO proves that the ARP frame leaves the server NIC but is dropped somewhere between the two wired ports of the same EAP650-Desktop.
Additional important test
When I temporarily set the server’s AP port to a specific VLAN (e.g. VLAN 30) instead of “Default”:
-
The server receives only that VLAN
-
All other VLANs disappear immediately
-
Netplan configuration unchanged
This behavior is consistent with an access-style port, not a transparent trunk. Which is OK, I guess?
What this rules out
Based on the above:
-
❌ Linux bridge / VLAN misconfiguration (verified by tcpdump)
-
❌ Router / inter-VLAN ACLs (mobile client works)
-
❌ VLAN 10 in general (other clients work)
-
❌ PC issue (PC communicates with others in VLAN 10)
The problem seems to be isolated to wired port ↔ wired port forwarding inside EAP650-Desktop, between "access" and "trunk" ports.
The core questions
How are Ethernet ports on EAP650-Desktop actually implemented?
Specifically:
-
Are ETH1-3 ports:
-
full IEEE 802.1Q transparent switch ports, or
-
policy-based / access-only ports with limited VLAN handling?
-
-
Is it supported to connect a multi-VLAN endpoint (e.g. a server with tagged VLANs) to an EAP650-Desktop port and expect:
-
full L2 forwarding (ARP, broadcast, unicast)
-
symmetric behavior between wired ports?
-
-
If not:
-
what are the documented limitations?
-
is this behavior by design, or a bug?
-
The Omada Controller UI exposes “Native VLAN” per port, but based on observed behavior and real traffic capture, it does not match a classical managed switch model - having there "Default" causes trunk-like behavior, while choosing "Custom" with VLAN ID causes access-like behavior.
Thanks for the answer!
