Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Network bridge fails to initialize (VLAN in promisc mode not supported)

Featured Replies

Hello,

 

I tried to setup a network bridge on the Orange Pi 5 to utilize with Qemu/KVM and some virtual machines I have.  Here is my armbianmonitor output: https://paste.armbian.com/dajivikohi

 

I edited /etc/netplan/armbian-default.yaml and modified it to setup a simple network bridge.  I've done this countless times on other hardware I have.  I rebooted, but the bridge fails to initialize and the screen gets an error dumped out every 5-10 seconds:

 

rk_gmac-dumac: fe1c0000.ethernet eth0: Adding VLAN in promisc mode not supported

rk_gmac-dumac: fe1c0000.ethernet eth0: failed to initialize vlan filtering on this port

 

Is bridging really not supported on this network interface?  Does anyone know if there's a workaround for this?  I don't even need VLANs, but it seems like the bridge itself is trying to enable vlan filtering.

 

Thanks.

 

This is because the only branch supporting orangepi5 is legacy (with 5.10.x kernel), and there's a bug related to briding. Here's a workaround patch for it:

 

https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/Workaround-for-issue-Bridge-mode-on-EQoS-module-will-not-work/ta-p/1559302

 

You can build the kernel using https://github.com/armbian/build with this patch:

diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
index d2d344b23..b84549ec0 100644
--- a/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
+++ b/drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c
@@ -450,12 +450,6 @@ static int dwmac4_add_hw_vlan_rx_fltr(struct net_device *dev,
 	if (vid > 4095)
 		return -EINVAL;
 
-	if (hw->promisc) {
-		netdev_err(dev,
-			   "Adding VLAN in promisc mode not supported\n");
-		return -EPERM;
-	}
-
 	/* Single Rx VLAN Filter */
 	if (hw->num_vlan == 1) {
 		/* For single VLAN filter, VID 0 means VLAN promiscuous */
@@ -505,12 +499,6 @@ static int dwmac4_del_hw_vlan_rx_fltr(struct net_device *dev,
 {
 	int i, ret = 0;
 
-	if (hw->promisc) {
-		netdev_err(dev,
-			   "Deleting VLAN in promisc mode not supported\n");
-		return -EPERM;
-	}
-
 	/* Single Rx VLAN Filter */
 	if (hw->num_vlan == 1) {
 		if ((hw->vlan_filter[0] & GMAC_VLAN_TAG_VID) == vid) {

 

Is this patch applied in 23.11? I still get a slightly different error:

[  +0.069878] br0: port 1(end1) entered blocking state
[  +0.000007] br0: port 1(end1) entered disabled state
[  +0.000245] rk_gmac-dwmac fe1c0000.ethernet end1: Timeout accessing MAC_VLAN_Tag_Filter
[  +0.016328] rk_gmac-dwmac fe1c0000.ethernet end1: failed to initialize vlan filtering on this port

 

 

Edited by Oskar Enoksson

If anyone experiences this "Timeout accessing MAC_VLAN_Tag_Filter" error: it seems related to an energy saving function (eee) in the ethernet interface. See

Linux kernel mailing list.

 

The problem disappeared for me if I disabled this eee function by

sudo ethtool --set-eee end1 eee off

 

About the "Adding VLAN in promisc mode not supported" problem (the original problem described in this thread) it seems to be fixed in 23.11. Bridging works without kernel patch.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.