From 66edadf5df6e4611396633fbe3d4de66f36b2c1e Mon Sep 17 00:00:00 2001 From: Frederik Van Bogaert Date: Thu, 2 Jul 2026 13:49:48 +0200 Subject: [PATCH 1/3] Add a uci config file for matter and run matter as root * Add a matter uci config file with one config variable (wifi_iface) * Matter could not access ubus --> running as root for now Signed-off-by: Frederik Van Bogaert --- service/matter-netman/Makefile | 5 +++-- service/matter-netman/files/matter.init | 4 ++-- service/matter-netman/files/matter_uci.defaults | 4 ++++ 3 files changed, 9 insertions(+), 4 deletions(-) create mode 100644 service/matter-netman/files/matter_uci.defaults diff --git a/service/matter-netman/Makefile b/service/matter-netman/Makefile index e8af89c..c7ecb45 100644 --- a/service/matter-netman/Makefile +++ b/service/matter-netman/Makefile @@ -49,7 +49,7 @@ define Package/matter-netman/default CATEGORY:=Network TITLE:=Matter Network Infrastructure Manager Daemon URL:=https://github.com/project-chip/connectedhomeip - DEPENDS:=+libstdcpp +libatomic +libubus +libubox +jsonfilter + DEPENDS:=+libstdcpp +libatomic +libubus +libubox +jsonfilter +rpcd USERID:=matter:matter endef @@ -149,11 +149,12 @@ define Build/Compile endef define Package/matter-netman/default/install - $(INSTALL_DIR) $(1)/usr/sbin $(1)/usr/share/matter $(1)/etc/init.d $(1)/usr/share/acl.d + $(INSTALL_DIR) $(1)/usr/sbin $(1)/usr/share/matter $(1)/etc/init.d $(1)/usr/share/acl.d $(1)/etc/config $(INSTALL_BIN) $(OUT_DIR)/matter-network-manager-app $(1)/usr/sbin $(INSTALL_DATA) ./files/bootstrap.sh $(1)/usr/share/matter/ $(INSTALL_DATA) ./files/matter_acl.json $(1)/usr/share/acl.d $(INSTALL_BIN) ./files/matter.init $(1)/etc/init.d/matter + $(INSTALL_DATA) ./files/matter_uci.defaults $(1)/etc/config/matter endef Package/matter-netman-mbedtls/install=$(Package/matter-netman/default/install) diff --git a/service/matter-netman/files/matter.init b/service/matter-netman/files/matter.init index 5b0c500..630332e 100755 --- a/service/matter-netman/files/matter.init +++ b/service/matter-netman/files/matter.init @@ -24,8 +24,8 @@ start_service() { procd_open_instance procd_set_param command /bin/sh -c 'umask 027; exec "$@"' - "$PROG" - procd_set_param user matter - procd_set_param group matter + #procd_set_param user matter + #procd_set_param group matter procd_set_param respawn procd_close_instance } diff --git a/service/matter-netman/files/matter_uci.defaults b/service/matter-netman/files/matter_uci.defaults new file mode 100644 index 0000000..3505bba --- /dev/null +++ b/service/matter-netman/files/matter_uci.defaults @@ -0,0 +1,4 @@ + +config struct 'values' + option wifi_iface 'default_radio0' + From a2079ce5931b9d595acf70bb84411169b26bdd18 Mon Sep 17 00:00:00 2001 From: Frederik Van Bogaert Date: Mon, 13 Jul 2026 16:30:57 +0200 Subject: [PATCH 2/3] Updated ACL and directory permissions for matter-netman Signed-off-by: Frederik Van Bogaert --- service/matter-netman/Makefile | 13 +++++---- service/matter-netman/files/bootstrap.sh | 6 ++-- .../{matter_uci.defaults => matter.config} | 0 service/matter-netman/files/matter.init | 4 +-- service/matter-netman/files/matter_acl.json | 28 +++++++++++++------ 5 files changed, 32 insertions(+), 19 deletions(-) rename service/matter-netman/files/{matter_uci.defaults => matter.config} (100%) diff --git a/service/matter-netman/Makefile b/service/matter-netman/Makefile index c7ecb45..c2ee4fc 100644 --- a/service/matter-netman/Makefile +++ b/service/matter-netman/Makefile @@ -16,7 +16,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=matter-netman PKG_RELEASE:=2 -PKG_SOURCE_URL:=https://github.com/project-chip/connectedhomeip.git +#PKG_SOURCE_URL:=ssh://git@code.cablelabs.com:7999/csa-matter/mirrors/connectedhomeip-staging.git +PKG_SOURCE_URL:=file:///data/work/Mind/CableLabs/connectedhomeip PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBMODULES:=\ third_party/pigweed/repo \ @@ -25,12 +26,12 @@ PKG_SOURCE_SUBMODULES:=\ third_party/nlio/repo # Hash can be regenerated with make package/matter-netman/check FIXUP=1 -PKG_SOURCE_DATE:=2026-06-13 -PKG_SOURCE_VERSION:=b39eff6ed09e92344c3c6cc9a5a1b495a469bbfd -PKG_MIRROR_HASH:=cc87d6df5cc945309bea4c810ba90081fa59dfaaa1daedf9fa199d17e3f313f8 +PKG_SOURCE_DATE:=2026-07-13 +PKG_SOURCE_VERSION:=07df5744961a3aee0908cab9b32a582fdb2e12d5 #b39eff6ed09e92344c3c6cc9a5a1b495a469bbfd +PKG_MIRROR_HASH:=49ca8aca726d4b5a8e826e8c2ffad94ab26aef350a867415cf072dcd9292d13e #cc87d6df5cc945309bea4c810ba90081fa59dfaaa1daedf9fa199d17e3f313f8 # Use local source dir for development -# USE_SOURCE_DIR:=$(HOME)/workspace/connectedhomeip +USE_SOURCE_DIR:=/data/work/Mind/CableLabs/connectedhomeip PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE @@ -154,7 +155,7 @@ define Package/matter-netman/default/install $(INSTALL_DATA) ./files/bootstrap.sh $(1)/usr/share/matter/ $(INSTALL_DATA) ./files/matter_acl.json $(1)/usr/share/acl.d $(INSTALL_BIN) ./files/matter.init $(1)/etc/init.d/matter - $(INSTALL_DATA) ./files/matter_uci.defaults $(1)/etc/config/matter + $(INSTALL_DATA) ./files/matter.config $(1)/etc/config/matter endef Package/matter-netman-mbedtls/install=$(Package/matter-netman/default/install) diff --git a/service/matter-netman/files/bootstrap.sh b/service/matter-netman/files/bootstrap.sh index e2acdb4..e64bbfe 100644 --- a/service/matter-netman/files/bootstrap.sh +++ b/service/matter-netman/files/bootstrap.sh @@ -54,7 +54,7 @@ matter_bootstrap() { # create /etc/matter and /etc/matter/data if needed if ! [ -d /etc/matter/data ]; then if ! [ -d /etc/matter ]; then - mkdir -m 0750 /etc/matter + mkdir -m 0770 /etc/matter chgrp matter /etc/matter fi mkdir -m 0700 /etc/matter/data @@ -72,9 +72,9 @@ matter_bootstrap() { # migration: /etc/matter used to be owned by matter if ! [ -O /etc/matter ]; then - chmod 0400 /etc/matter/chip_factory.ini + chmod 0600 /etc/matter/chip_factory.ini chown matter:matter /etc/matter/chip_factory.ini - chmod 0750 /etc/matter + chmod 0770 /etc/matter chown root:matter /etc/matter fi diff --git a/service/matter-netman/files/matter_uci.defaults b/service/matter-netman/files/matter.config similarity index 100% rename from service/matter-netman/files/matter_uci.defaults rename to service/matter-netman/files/matter.config diff --git a/service/matter-netman/files/matter.init b/service/matter-netman/files/matter.init index 630332e..5b0c500 100755 --- a/service/matter-netman/files/matter.init +++ b/service/matter-netman/files/matter.init @@ -24,8 +24,8 @@ start_service() { procd_open_instance procd_set_param command /bin/sh -c 'umask 027; exec "$@"' - "$PROG" - #procd_set_param user matter - #procd_set_param group matter + procd_set_param user matter + procd_set_param group matter procd_set_param respawn procd_close_instance } diff --git a/service/matter-netman/files/matter_acl.json b/service/matter-netman/files/matter_acl.json index 83d40c8..45e56cc 100644 --- a/service/matter-netman/files/matter_acl.json +++ b/service/matter-netman/files/matter_acl.json @@ -1,10 +1,22 @@ { - "user": "matter", - "access": { - "otbr": { - "methods": ["*"] - } - }, - "subscribe": [ "otbr" ], - "listen": [ "ubus.object.*" ] + "user": "matter", + "access": { + "otbr": { + "methods": ["*"] + }, + "uci": { + "methods": [ + "get", + "set", + "commit" + ] + }, + "service": { + "methods": [ + "list" + ] + } + }, + "subscribe": [ "otbr", "uci", "service" ], + "listen": [ "ubus.object.*", "uci", "network.interface" ] } From 965979d3454af46d62f93c0013d7bd2bc6578e38 Mon Sep 17 00:00:00 2001 From: Frederik Van Bogaert Date: Fri, 21 Aug 2026 15:58:02 +0200 Subject: [PATCH 3/3] Fix makefile: dont use local build dir Signed-off-by: Frederik Van Bogaert --- service/matter-netman/Makefile | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/service/matter-netman/Makefile b/service/matter-netman/Makefile index c2ee4fc..d6bf610 100644 --- a/service/matter-netman/Makefile +++ b/service/matter-netman/Makefile @@ -16,8 +16,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=matter-netman PKG_RELEASE:=2 -#PKG_SOURCE_URL:=ssh://git@code.cablelabs.com:7999/csa-matter/mirrors/connectedhomeip-staging.git -PKG_SOURCE_URL:=file:///data/work/Mind/CableLabs/connectedhomeip +PKG_SOURCE_URL:=ssh://git@code.cablelabs.com:7999/csa-matter/mirrors/connectedhomeip-staging.git PKG_SOURCE_PROTO:=git PKG_SOURCE_SUBMODULES:=\ third_party/pigweed/repo \ @@ -27,11 +26,11 @@ PKG_SOURCE_SUBMODULES:=\ # Hash can be regenerated with make package/matter-netman/check FIXUP=1 PKG_SOURCE_DATE:=2026-07-13 -PKG_SOURCE_VERSION:=07df5744961a3aee0908cab9b32a582fdb2e12d5 #b39eff6ed09e92344c3c6cc9a5a1b495a469bbfd -PKG_MIRROR_HASH:=49ca8aca726d4b5a8e826e8c2ffad94ab26aef350a867415cf072dcd9292d13e #cc87d6df5cc945309bea4c810ba90081fa59dfaaa1daedf9fa199d17e3f313f8 +PKG_SOURCE_VERSION:=940263c02d3e9778a194d6c3d810796b5d378ac7 +PKG_MIRROR_HASH:=784d18a457e690a20cb9cd41332e3d60b05892d8baccd2623d118ca67910bb17 # Use local source dir for development -USE_SOURCE_DIR:=/data/work/Mind/CableLabs/connectedhomeip +# USE_SOURCE_DIR:=$(HOME)/workspace/connectedhomeip PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE