VLAN config works on 23.05 but not on 24.10

Hi, I have a bunch of Linksys WHW01's and WHW03's that I got for cheap and they have worked really well for me. Now I need them to connect to a port on my modem that has both untagged LAN traffic and a tagged TV VLAN and pass both VLANs in the same way out the other port. First I did this with the WHW03 (IPQ4019) and despite the Wiki saying something about VLAN issues, it worked perfectly. I have VLAN 1 as Local, untagged and primary on both ports. The TV VLAN 3999 is not Local and tagged on both ports. VLAN filtering is on and I moved my "lan" zone from br-lan to br-lan.1. Everything works fine so I replicated the same config on the WHW01 (IPQ4018), but it just won't work. The untagged part seems fine since I can still access my LAN through it but the TV won't connect to the TV VLAN. Now if I turn off VLAN filtering completely, the TV does work but I'm not sure if that has any negative effect for the network with multicast packets just flying around without filtering.

Any clue what the difference would be? Also is there a way for me to debug VLANs with Windows and Wireshark?

Update: The routers were on different versions, and after downgrading the WHW01, it now also works, so I have changed the title accordingly.

Yes, run Wireshark and look at the Ethernet details of each frame. It's same on any operating system.

How are the Linksys devices interconnected (what ports go to what ports)? Are you sure that the TV requires tagged 3999 (as compared to untagged and/or a different VLAN ID tagged)?

Let's take a look at the configurations:

Please connect to your OpenWrt device using ssh and copy the output of the following commands and post it here using the "Preformatted text </> " button (red circle; this works best in the 'Markdown' composer view in the blue oval):

Screenshot 2025-10-20 at 8.14.14 PM

Remember to redact passwords, VPN keys, MAC addresses and any public IP addresses you may have:

ubus call system board
cat /etc/config/network

That information should be outdated/ obsolete since the DSA migration - since then VLANs should be fully supported.

Hi, thank you for the suggested commands, they made me notice that I was running different OpenWRT versions on the devices. So I tried downgrading the WHW01 and it started working. So the difference is in the OpenWRT version. I have changed the title accordingly. The latest version that still works is 23.05.6 and then the 24.10.0-rc1 doesn’t work anymore. The network config is the same on both:

root@OpenWrt:~# cat /etc/config/network

config interface 'loopback'
        option device 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fd37:9ea9:8330::/48'

config device
        option name 'br-lan'
        option type 'bridge'
        list ports 'eth1'
        list ports 'eth2'

config interface 'lan'
        option device 'br-lan.1'
        option proto 'static'
        option ipaddr '10.4.2.3'
        option netmask '255.255.255.0'
        option ip6assign '60'
        option gateway '10.4.2.1'
        list dns '10.4.2.2'

config bridge-vlan
        option device 'br-lan'
        option vlan '1'
        list ports 'eth1:u*'
        list ports 'eth2:u*'

config bridge-vlan
        option device 'br-lan'
        option vlan '3999'
        option local '0'
        list ports 'eth1:t'
        list ports 'eth2:t'

config device
        option name 'br-lan.1'
        option type '8021q'
        option ifname 'br-lan'
        option vid '1'
        option ipv6 '0'

I have been struggling for days/weeks to get vlan working on my R7800 as a ‘dump ap’ going from 23.05 to 24.10… Just could not get it to work.
Take the time to watch the first video(VLANs in OpenWRT 21) on the page below from minute 12:12, and you will get it working within 15min.(it is both about main router AND dump AP). After setting through Luci, you can always go back to edit config.

Hi, I have watched the section of the video that you recommended, but I'm not sure what you wanted to point out. How does a video on OpenWRT 21 help me with problems when switching from 23 to 24? What did you need to do differently when you went from 23.05 to 24.10?

it is about the switch from swconfig to DSA. Going from 23.05 to 24.10 you have to make the switch from swconfig to DSA. That is where you have to change some things in the way you format your interfaces/devices.

I believe the WHW01 already uses DSA even on 23.05, since it doesn't have a switch tab and I've always configured VLANs on the bridge.

I could be wrong, but I do see a difference from what is configured from scratch using the VLAN video example through Luci in ‘etc/config/network’ and your config. Although I see the last device ‘br-lan.1’ in LuCi in my device configuration, although greyed out, it is not in my etc/config/network file.
Also see you are using the ‘ethx’ as ports, while in new config the ‘lanx’ are used;

see mine:

config interface 'loopback'
option device 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'

config globals 'globals'
option ula_prefix 'fd5c:5be9:24ec::/48'
option packet_steering '1'

config device
option name 'br-lan'
option type 'bridge'
option igmp_snooping '1'
list ports 'lan1'
list ports 'lan2'
list ports 'lan3'
list ports 'lan4'
list ports 'wan'

config interface 'lan'
option device 'br-lan.1'
option proto 'static'
option ipaddr '10.10.10.10'
option netmask '255.255.255.0'
option ip6assign '60'
option gateway '10.10.10.1'
list dns '10.10.10.1'

config bridge-vlan
option device 'br-lan'
option vlan '1'
list ports 'lan1:u*'
list ports 'lan2:u*'
list ports 'wan'

config bridge-vlan
option device 'br-lan'
option vlan '130'
list ports 'wan:t'

config bridge-vlan
option device 'br-lan'
option vlan '131'
list ports 'wan:t'

config bridge-vlan
option device 'br-lan'
option vlan '132'
list ports 'lan3:u*'
list ports 'lan4:u*'
list ports 'wan:t'

config bridge-vlan
option device 'br-lan'
option vlan '133'
list ports 'wan:t'

Thanks for showing the config.

So to be clear, you used the exact same configuration on the same device (only changing the OpenWrt version), and the 24.10 series did not work, correct? And just to make sure this isn't some bug in the RC series, did you also check 24.10.4 (current as of this writing)?

There are a few small things I'd recommend that might fix this (but if not, it is plausible that there is a bug or something else that I'm not aware of):

Delete this (it's unnecessary, and I wonder if it could be causing any issues):

Remove the local line:

And finally create an unmanaged interface for the VLAN:

config interface 'vlan3999'
        option device 'br-lan.3999'
        option proto 'none'

If those things don't fix the problem (on 24.10.4), this might indeed be a bug introduced in 24.10 (some further verification may be needed).

never mind about the device for ‘vid’.(below) That is added after setting the ‘Honor Gratuitous ARP’ for the device in advanced tab. Part of getting the DNS names resolved instead of ‘?’ values.
config device
option name 'br-lan.1'
option type '8021q'
option ifname 'br-lan'
option vid '1'
option arp_accept '1'

I’m running 24.10.4 with no issues now.(dump AP). with the above shared config on a R7800.

Right -- Maybe I should have been a bit more clear:

  • if it's a bug in 24.10, it would be specific to that WHW01.

We know that VLANs (with bridge-vlan syntax on DSA) work properly on 24.10 in general.

Since I study away from my hometown I won't be able to do any testing until the next weekend but here is some more info based on what I've observed so far:

Yes, I actually wanted to do a minimal config for comparison so I took the non working WHW01 and another WHW03 V2 that I had spare, and factory reset them both. Then I did a minimal config and noticed that neither of them worked. Comparing them to the working WHW03 V2 I finally noticed the version difference. Both non working devices were on 24.10.x (not sure of the exact versions but both were pretty recent stable not RC). So then I took the WHW01 for further testing, flashing 23.05.6 and seeing that VLANs work, and then upgrading to 24.10.0-rc1 where the VLANs already didn't work.

I believe this config was only added when I specifically set IPv6 to disabled for the device br-lan.1, everything else is probably the default options. Note that I configured everything through LuCI. I will try what happens if I remove it and also do the same for the local option even though I don't actually have any need for the TV VLAN to go to the CPU.

I will post my results next weekend.

I have updated to 24.10.4. After a lot of testing, it turns out this was the crucial step.

After removing the option local '0' line (by making the VLAN local in LuCI) my TV starts working again. I don't even need to create an unmanaged interface (is that something that should be done as good practice or can I leave it?).

Is there any reason why this stopped working in 24.10, is it a bug, or was it a bug that it worked previously? Either way, thank you for your help in resolving my problem.

I'm not sure why it wasn't working in the 24.10-RC build you were using, but RC can still have some lingering bugs as the new release series is stabilized (typically fewer than a snapshot, but more than the "stable" series that follows the release candidate phase).

But now that you're up to date and that you've removed the local line (and ideally the other things I recommended), it sounds like everything is working properly now.

If your problem is solved, please consider marking this topic as [Solved]. See How to mark a topic as [Solved] for a short how-to.
Thanks! :slight_smile:

I will mark it as solved, but I would still like to know why it works with the local line in 23.05.6 but not in 24.10.4. I thought you only need to mark a VLAN as local if you want to have an interface on it. I just need to pass it through.

I don't know for sure. And I can't find any proper documentation for that line that explains what is truly happening with that option and/or changes in behavior between the versions. Maybe someone else will know.

I have come across this regarding local:

1 Like