I have somehow "exotic" setup going on, that is running custom OpenWRT x86 in Windows Server 2019 Hyper-V. First, please note that setup that I am trying to achieve works perfectly fine outside Hyper-V.
Setup:
Two physical Intel NICs on motherboard, NIC1 and NIC2
one Hyper-V external virtual switch as "LAN" using NIC1, physically connected to external switch
one Hyper-V external virtual switch as "WAN" using NIC2, physically connected to Internet, but disabled at this point.
PCI card with two Qualcomm ath10k chips
PCI passthrough set up so virtual machine has access to this PCI card, works fine. Both WLANs are detected inside virtual machine
Wired client PC1 connected to physical external switch and wireless client PC2, both get IP from router fine.
The problem:
PC1 cant access services running in PC2 and vice versa, both can access router, and router can access services on both PCs. I've tried ping and HTTP, disabled all firewalls (both PC Windows 10, also on router) without success. I'm struggling to understand why this is happening. If I put PC2 to wired everything works fine. wlan0 and wlan1 in router are part of br-lan interface which is bridged (lan, wlan0, wlan1). Also same configuration works fine outside Hyper-V, all network configurations are identical to what it seems.
I'm happy to provide more information if anyone has any ideas how to troubleshoot this further.
You may like to share the output of the the following commands. You could obscures any physical MAC address. Please use Pre-formatted text tool to include the code:
I can reproduce the problem with pretty much default configs, all I did is set up WLAN1. WLAN2 is not in use so I haven't tried WLAN1 <-> WLAN2 traffic. LAN and WLAN clients get IPs in same subnet, yes.
bridge name bridge id STP enabled interfaces
br-lan 7fff.00155d28e70a no eth0
wlan0
after adding "option stp 1" STP enabled is "yes" but still no connection LAN <-> WLAN1
Enabled WLAN2 and I tested WLAN1 <-> WLAN2 which works fine (= router <-> WLAN2 works fine). Also WLAN2 <-> WLAN2 works fine. But no connection LAN <-> WLAN2
I ran out of ideas. brctl shows the LAN and WLAN are indeed bridged.
Do you have switch support with this setup? If so, you could try making a VLAN (say VLAN 1) and change the LAN interface accordingly to be eth0.1 rather than eth0.
As I suspected this was a problem outside OpenWRT, the issue was fixed by setting "Enable MAC address spoofing" for Hyper-V virtual machine Network Adapter #0 (which is eth0 in OpenWrt)