IPQ40xx Switch Config "Strangeness"

Does the driver have to use VLAN 1 and VLAN 2 or could those be changed to use something less common?

This can be disabled with a patch

1 Like

To reproduce your test with an IPQ4029 based GL.iNet GL-B1300 router, I need to tag those LAN ports below, create interfaces for them, enable DHCP and wire up with two devices?

Stupid question but would it be possible to put also the "WAN" port into VLAN 1 so that everything is in the LAN VLAN and I don't have to software bridge eth0 and eth1? Best case without patches to the standard release.

I'm using the Fritzbox 4040.

Did the @NoTengoBattery patches land? Or do we still need to use your special builds if we want to use vlans?

(wiki page still says this may be needed)

For those who read this post and are a little bit confused (I was) about a solution how to configure VLAN on the EA6350. This is based on the several postings (thanks to the guys who found this out):

The best is to setup VLAN in a fresh installation of OpenWRT on the router. If you have already tried to configure VLAN it is not sure that your configuration has been already corrupted.

Connect to the router with SSH, open /etc/config/network and paste the following lines for every VLAN ID you want to create:

config switch_vlan'
option device 'switch0'
option vlan '100'
option ports '0t 3t'

In this example a VLAN with ID 100 is created and available on LAN 3 as tagged. 0 stands for the CPU port eth0 which is necessary to link switch and CPU inside the router. For every created VLAN you create an interface under Network -> Interfaces -> Add new interface: for example

  • General Settings:
    Protocol: static address
    IPv4 address
    IPv4 netmask

  • Physical Settings: Interface eth.100

  • Firewall Settings: select lan (standard firewall rule of OpenWRT)
    DHCP Server: chose Setup DHCP Server and configure it like you want or take the standard values

Some important notes:

  • Don’t forget the static routes in your DSL-Router
  • Never create VLANs with ID 1 or 2 or change something in their configuration
  • Never configure the switch inside Luci (Network -> Interfaces -> Switch). This can corrupt /etc/config/network. You can have a look at your configuration but don’t change it there (only in /etc/config/network)

This is how I created a setup with a Fritzbox as the DSL-Router, the Linksys EA6350 connected with LAN 1 to the Fritzbox and a VLAN Switch on LAN 3.
I didn’t try to use the WAN port.


I use patches when compiling my own firmware to address the VLAN issues with my Linksys EA6350v3 that runs off a IPQ40XX chip. I have uploaded the patches to my GitHub page including the directories where to place the two files. You can find it here > https://github.com/TheSurgeNetwork/Pre-compiled-OpenWrt-Firmware/releases/tag/1

I can completely remove all of my VLAN's including VLAN 1 and 2 and I can also use the WAN port as a VLAN trunk too without any issues. This is only possible with the patches above though.


Any idea why it is implemented the way it is in OpenWrt?

According to the patches themselves, from Christian who is an active Linux developer, he is waiting for upstream to implement the driver better.

Spoiler alert: they won't. The thing that I don't understand is why he will retract from his own patches, which makes the device work as it should, in the meantime.

I think that he is doing it that way because it does break the currently running devices in a way that only a factory reset can recover them. Also, the patches does not include the changes to the configuration script (the 02 network thing) which probably means that when someone tested it, it just didn't worked.

If you look carefully the 02 network file, which I've fixed by myself, I've deleted all of the other devices and only kept the EA6350v3, since it's a change I've done myself and I cannot test it on other devices since I don't own ones.

Another thing is, probably, that the IPQ4018 requires the changes but the IPQ4019 doesn't. This means that the patches will fix the xx18 family and break the xx19 family.

P.S.: I've found a special file which may greatly improve the wireless performance of the device under OpenWrt. I recommend you to join the discussion and the testing in my custom build thread.

What is your thread?

I'm running openwrt on another ipq4018 device (AVM Fritz!Box 4040)
Would it be sufficient to modify /etc/board.d/02_network and apply the patch to
arch/arm/boot/dts/qcom-ipq4019.dtsi and
drivers/net/ethernet/qualcomm/essedma/edma.c ?


I think it will, but doing it wrong (specially the 02_network) will render the device unavailable and you will have to have a way to boot a working firmware if it's the case.

The EA6350v3 is dual firmware and can be (relatively) easily recovered from a bad boot, I don't know your if your device will. The serial console should be online (no Wi-Fi and no Ethernet will work) and you should be able to sideload a working firmware that way and flash it from the console and try it again.

@fantom-x my thread is here:
Optimized build for Linksys EA6350v3 (civic)

1 Like

Hi Thomas
I have a Meraki MR33 with the IPQ4029. It does not recognise Alan tagging from what I can tell. My MAC with VLAN1, 100 and 200 can see the VLANS trunked on my switch coming from a WRT32X, but it can only see VLAN1 on the MR33. I'm no expert on OpenWRT and customer build configs, though I have a build environment set up and ready to compile. Is there any way I can patch the IPQ4029 (using DSA on a snapshot) so that it will recognise the VLANS? Help?

1 Like

hi on 19.07.2 this simple vlan for wan2 worked ok, now on 19.07.4 does not work.

config switch_vlan
	option device 'switch0'
	option vlan '1'
	option vid '1'
	option ports '4 3 2 0'

config switch_vlan
	option device 'switch0'
	option vlan '2'
	option vid '2'
	option ports '0t 1 5'

config interface 'wanb'
	option ifname 'eth0.2'
	option proto 'dhcp'

Yes the issue with the VLAN is still here, on my MR8300, manual conf doesn't work and from Luci, the router will disconnect from the network (I am using VLAN 100)

Can someone say if I can use the wan port for vlan tagging? I used openwrt master with 5.4 kernel and just doing eth1.42 worked without configuring the switch.

Now I realized the 5.4 kernel is broken on the IPQ40XX. Every time I receive something on the wan port the throughput stays at 1.5 Mbit/s. Sending has no issues.

I can not easily get to this router again, so I don't know what happens if I just flash master with 4.19 kernel. If everything breaks, that would be very problematic. :confused:

I just got vlan tagging on wan port in my EA8300 with OpenWRT 19.03 unomodified and this config:

config interface 'wan'
        option type 'bridge'
        option proto 'pppoe'
        option username 'ONHxxxx@vodafone'
        option password 'xxxx'
        option ipv6 '0'
        option ifname 'eth1.100'

config switch
        option name 'switch0'
        option reset '1'
        option enable_vlan '1'

config switch_vlan
        option device 'switch0'
        option vlan '1'
        option ports '0 1 2 3 4'
        option vid '1'

config switch_vlan
        option device 'switch0'
        option vlan '100'
        option vid '100'
        option ports '0t 5t'

got it thanks to this post by jeff:

Are u sure that u can just put the wan port on vlan 100? (even if it is trunked)