On 02/11/2020 09:20, Yi Zhao wrote:Do not run systemd-networkd and connman simultaneously. These two network managers may conflict with each other. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> --- ...stop-systemd-networkd-when-using-con.patch | 29 +++++++++++++++++++ .../connman/connman_1.38.bb | 1 + 2 files changed, 30 insertions(+) create mode 100644 meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch diff --git a/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch b/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch new file mode 100644 index 0000000000..dd012750a4 --- /dev/null +++ b/meta/recipes-connectivity/connman/connman/0001-connman.service-stop-systemd-networkd-when-using-con.patch @@ -0,0 +1,29 @@ +From 9fea099d0a3ece37d80ad70d32ebb8a93f8f3280 Mon Sep 17 00:00:00 2001 +From: Yi Zhao <yi.zhao@windriver.com> +Date: Fri, 30 Oct 2020 13:48:45 +0800 +Subject: [PATCH] connman.service: stop systemd-networkd when using connman + +Stop systemd-networkd service when we use connman as network manager. + +Upstream-Status: Inappropriate [configuration] + +Signed-off-by: Yi Zhao <yi.zhao@windriver.com> +--- + src/connman.service.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/connman.service.in b/src/connman.service.in +index 79e75d6..014eafe 100644 +--- a/src/connman.service.in ++++ b/src/connman.service.in +@@ -6,6 +6,7 @@ RequiresMountsFor=@localstatedir@/lib/connman + After=dbus.service network-pre.target systemd-sysusers.service + Before=network.target multi-user.target shutdown.target + Wants=network.target ++Conflicts=systemd-networkd.service systemd-networkd.socket + Conflicts=systemd-resolved.service + + [Service] +-- +2.17.1 + diff --git a/meta/recipes-connectivity/connman/connman_1.38.bb b/meta/recipes-connectivity/connman/connman_1.38.bb index 027c41e9af..45c2934dec 100644 --- a/meta/recipes-connectivity/connman/connman_1.38.bb +++ b/meta/recipes-connectivity/connman/connman_1.38.bb @@ -3,6 +3,7 @@ require connman.inc SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \ file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \ file://0001-connman.service-stop-systemd-resolved-when-we-use-co.patch \ + file://0001-connman.service-stop-systemd-networkd-when-using-con.patch \ file://connman \ file://no-version-scripts.patch \ "Hi Yi, This breaks our usecase where we have been using connman and systemd-networkd in tandem for a long time. IMO this should be reverted as if the two applications are conflicting then the correct fix is that they should be configured so that they don't both try to configure the same interfaces. As systemd-networkd doesn't ship with any rules by default it shouldn't be doing anything to interfere?
Currently, A systemd-networkd configuration file 80-wired.network
from systemd-conf package is also installed by default on HW BSPs.
Comman is the default network-manager in Yocto. It will manage the
wired interface automatically. But with this configuration file,
the systemd-networkd will also try to manage the wired interface
as connman does. They may conflict with each other.In addition to
revert this patch, I think we should consider whether to install
this configuration file by default. Maybe it’s better to install
it as an example and users can enable it as needed.
Thanks,
Yi
With this patch I can no-longer run both services as it's a hard conflict with no option to either revert locally, or bbappend this patch out. Regards, Jack.