root@colibri-imx7-06476989:/etc/systemd/network# zcat /proc/config.gz | grep VLAN
CONFIG_BRIDGE_EBT_VLAN=m
# CONFIG_BRIDGE_VLAN_FILTERING is not set
CONFIG_VLAN_8021Q=m
# CONFIG_VLAN_8021Q_GVRP is not set
# CONFIG_VLAN_8021Q_MVRP is not set
CONFIG_MACVLAN=y
# CONFIG_IPVLAN is not set
root@colibri-imx7-06476989:/etc/systemd/network# lsmod | grep "q"
8021q 28672 0
Sometimes it jumps to configured and works with dmesg of:
[ 170.882615] 8021q: 802.1Q VLAN Support v1.8
[ 170.927478] A link change request failed with some changes committed already. Interface eth0.2121 may have been left with an inconsistent configuration, please check.
My issue is solved now - sorry for commenting this much debug info.
In my case the connection problems were caused of a restarting loop of a docker container (and therefore hard to find) configured with a conflicting bridge IP range.
Hopefully the infos provided with networkctl status -a will contribute to solve @Jack 's issue.
8021q is not listed in either ‘dmesg’ or ‘lsmod | grep “q”’. Adding 8021q with ‘modprobe 8021q’ gives following result ‘modprobe: FATAL: Module 8021q not found in directory /lib/modules/4.9.166-2.8.6+gd899927728be’
I checked the default kernel config in our regular Bsp, I can confirm that the needed configs are not setup correctly. Could you enable these configs and compile a custom kernel and the kernel modules and check if this helps?
Compiled kernel with no changes and “make -j3 uImage LOADADDR=10008000 2>&1 | tee build.log” finished with “Kernel: arch/arm/boot/uImage is ready”.
Changed vlan from above to “…=y” and compile aborts at “802.1Q/802.1ad VLAN Support (VLAN_8021Q) [Y/n/m/?] y
GVRP (GARP VLAN Registration Protocol) support (VLAN_8021Q_GVRP) [N/y/?] (NEW) aborted!”
How did you change the config?
First you need to use the command make menuconfig or make menuconfig. Then in the dialog box you can enable the configs above with their subconfigs and launch the compilation.
Starting from Bsp 2.8, we change to zImage istead of uImage, thus the compilation command would be make -j8 zImage LOADADDR=0x80008000 2>&1 | tee build.log. We will update the Documentation.