Wolverine Posted February 8, 2023 Posted February 8, 2023 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. 0 Quote
Vigilans Posted February 21, 2023 Posted February 21, 2023 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) { 0 Quote
Oskar Enoksson Posted January 22 Posted January 22 (edited) 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 January 22 by Oskar Enoksson 0 Quote
Oskar Enoksson Posted January 25 Posted January 25 Looks like that patch is not applied, but the error I see is also something different. 0 Quote
Oskar Enoksson Posted January 26 Posted January 26 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. 0 Quote
Recommended Posts
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.