NEWS
SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread
-
@b_nutzer said in SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread:
@qlink Puh, das ist ja eine harte Nuss.
@qlink said in SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread:
53d.16:33:49.270 [W] P-Netif-------: Failed to enable NETLINK_EXT_ACK: Protocol not available 53d.16:33:49.270 [C] Platform------: platformConfigureTunDevice() at netif.cpp:2037: No such file or directoryDas sieht für mich aus, als hinge es damit zusammen, wie die Docker-Umgebung auf Deinem Synology aussieht -- otbr möchte ein tun-Device erzeugen, ich halte es für denkbar, dass das mit den von Dir als "macvlan" und "bridge" konfigurierten Netzen kollidiert. Wissen tue ich's nicht.
Ich nutze den Container im Host-Netzwerk:
network_mode: hostGrüße
Ich hab mal etwas gegoogelt und mit folgender Anleitung das tun device auf der Synology installiert:
https://memoryleak.dev/post/fix-tun-tap-not-available-on-a-synology-nas/
Damit schaut das otbr log folgendermaßen aus:
Starting otbr-agent ... ipset v6.34: The set with the given name does not exist [NOTE]-AGENT---: Running 0.3.0-9cfb06a [NOTE]-AGENT---: Thread version: 1.4.0 [NOTE]-AGENT---: Thread interface: wpan0 [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///tmp/ttyOTBR?uart-baudrate=460800&uart-flow-control [NOTE]-AGENT---: Radio URL: trel://eth0 [NOTE]-ILS-----: Infra link selected: eth0 [INFO]-RCP_HOS-: OpenThread log level changed to 4 54d.06:35:20.320 [I] P-SpinelDrive-: co-processor reset: RESET_POWER_ON 54d.06:35:20.320 [C] P-SpinelDrive-: Software reset co-processor successfully 54d.06:35:20.397 [W] P-Netif-------: Failed to enable NETLINK_EXT_ACK: Protocol not available 54d.06:35:20.398 [I] P-Netif-------: Sent request#1 to set addr_gen_mode to 1 54d.06:35:20.398 [I] P-Resolver----: Got nameserver #0: 127.0.0.11 00:00:00.108 [I] CslTxScheduler: Set frame request ahead: 7605 usec 00:00:00.108 [I] ChildSupervsn-: Timeout: 0 -> 190 00:00:00.108 [I] TrelInterface-: Enabled interface, local port:55235 00:00:00.109 [I] RoutingManager: Initializing - InfraIfIndex:190 00:00:00.109 [I] InfraIf-------: Init infra netif 190 00:00:00.109 [N] RoutingManager: No valid /48 BR ULA prefix found in settings, generating new one 00:00:00.110 [I] Settings------: Saved BrUlaPrefix fd6f:b62d:e57a::/48 00:00:00.110 [N] RoutingManager: BR ULA prefix: fd6f:b62d:e57a::/48 (generated) 00:00:00.110 [I] RoutingManager: Generated local OMR prefix: fd6f:b62d:e57a:1::/64 00:00:00.110 [I] RoutingManager: Generated local NAT64 prefix: fd6f:b62d:e57a:2:0:0::/96 00:00:00.110 [N] RoutingManager: Local on-link prefix: fdde:ad00:beef:cafe::/64 00:00:00.110 [I] InfraIf-------: State changed: NOT RUNNING -> RUNNING 00:00:00.110 [I] P-MdnsSocket--: Successfully opened IPv4 socket 00:00:00.110 [I] P-MdnsSocket--: Successfully opened IPv6 socket 00:00:00.111 [I] P-MdnsSocket--: Enabled 00:00:00.111 [I] MulticastDns--: Auto-enabling on infra-if-index 190 00:00:00.111 [I] RoutingManager: Enabling 00:00:00.111 [I] Nat64---------: IPv4 CIDR for NAT64: 192.168.255.0/24 (254 addresses) [INFO]-HELPER--: Set state callback: OK 00:00:00.111 [I] Nat64---------: State: Disabled -> NotRunning 00:00:00.111 [I] BbrLocal------: Add Domain Prefix: ::/0, NotFound 00:00:00.111 [I] BbrLocal------: Add BBR Service: seqno (71), delay (5s), timeout (3600s), InvalidState [WARN]-UTILS---: ../../src/rest/network_diag_handler.cpp:1294 lacking some attributes for deviceId be206e758d99b8ee 00:00:00.112 [I] Settings------: Saved BorderAgentId {id:43d872cf9b0eefc3599073227201bf24} [WARN]-UTILS---: ../../src/rest/network_diag_handler.cpp:1238 cannot get LeaderData while detached [WARN]-UTILS---: ../../src/rest/rest_devices_coll.cpp:233 - AddItem - be206e758d99b8ee [INFO]-REST----: RestWebServer listening on 0.0.0.0:8081 [INFO]-APP-----: Co-processor version: SL-OPENTHREAD/2.4.2.0_GitHub-7074a43e4; EFR32 00:00:00.114 [I] Notifier------: StateChanged (0x42038210) [MLAddr NetData PanId NetName ExtPanId BbrState Nat64] 00:00:00.114 [I] BbrLeader-----: PBBR state: None 00:00:00.114 [I] Bbr-----------: Start listening on port 61631 00:00:00.114 [I] Bbr-----------: Backbone TMF subscribes ff32:40:fdde:ad00:beef:0:0:3: OK 00:00:00.114 [I] BbrManager----: Start Backbone TMF agent: OK 00:00:00.126 [I] Platform------: Execute command `ipset flush otbr-ingress-allow-dst-swap` = 256 00:00:00.126 [I] Platform------: Got an error when executing command `ipset flush otbr-ingress-allow-dst-swap`: `Resource temporarily unavailable` 00:00:00.126 [W] Platform------: Firewall - failed to update ipsets: Failed 00:00:00.126 [I] P-Netif-------: NAT64 CIDR updated to 192.168.255.0/24. 00:00:00.126 [I] P-Netif-------: Sent request#2 to delete route 192.168.255.0/24 00:00:00.126 [I] P-Netif-------: Deleting route for NAT64 00:00:00.126 [I] P-McastRtMgr--: Disable: OK 00:00:00.126 [I] RouterTable---: Route table 00:00:00.126 [I] TrelDiscoverer: Registering service otTRELbe206e758d99b8ee._trel._udp 00:00:00.126 [I] TrelDiscoverer: port:55235, ext-addr:be206e758d99b8ee, ext-panid:dead00beef00cafe 00:00:00.127 [I] MulticastDns--: Adding host address 192.168.30.26Das sieht doch schonmal nicht so schlecht aus oder was meinst du ?
Was mir jetzt allerdings noch nicht klar ist: Wie kann ich den SLZB-MR1 jetzt mit dem iobroker Matter Adapter verheiraten ?
Oder wie bekomme ich mein Nuki Ultra mit dem SLZB-MR1 verbunden ? -
@b_nutzer said in SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread:
@qlink Puh, das ist ja eine harte Nuss.
@qlink said in SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread:
53d.16:33:49.270 [W] P-Netif-------: Failed to enable NETLINK_EXT_ACK: Protocol not available 53d.16:33:49.270 [C] Platform------: platformConfigureTunDevice() at netif.cpp:2037: No such file or directoryDas sieht für mich aus, als hinge es damit zusammen, wie die Docker-Umgebung auf Deinem Synology aussieht -- otbr möchte ein tun-Device erzeugen, ich halte es für denkbar, dass das mit den von Dir als "macvlan" und "bridge" konfigurierten Netzen kollidiert. Wissen tue ich's nicht.
Ich nutze den Container im Host-Netzwerk:
network_mode: hostGrüße
Ich hab mal etwas gegoogelt und mit folgender Anleitung das tun device auf der Synology installiert:
https://memoryleak.dev/post/fix-tun-tap-not-available-on-a-synology-nas/
Damit schaut das otbr log folgendermaßen aus:
Starting otbr-agent ... ipset v6.34: The set with the given name does not exist [NOTE]-AGENT---: Running 0.3.0-9cfb06a [NOTE]-AGENT---: Thread version: 1.4.0 [NOTE]-AGENT---: Thread interface: wpan0 [NOTE]-AGENT---: Radio URL: spinel+hdlc+uart:///tmp/ttyOTBR?uart-baudrate=460800&uart-flow-control [NOTE]-AGENT---: Radio URL: trel://eth0 [NOTE]-ILS-----: Infra link selected: eth0 [INFO]-RCP_HOS-: OpenThread log level changed to 4 54d.06:35:20.320 [I] P-SpinelDrive-: co-processor reset: RESET_POWER_ON 54d.06:35:20.320 [C] P-SpinelDrive-: Software reset co-processor successfully 54d.06:35:20.397 [W] P-Netif-------: Failed to enable NETLINK_EXT_ACK: Protocol not available 54d.06:35:20.398 [I] P-Netif-------: Sent request#1 to set addr_gen_mode to 1 54d.06:35:20.398 [I] P-Resolver----: Got nameserver #0: 127.0.0.11 00:00:00.108 [I] CslTxScheduler: Set frame request ahead: 7605 usec 00:00:00.108 [I] ChildSupervsn-: Timeout: 0 -> 190 00:00:00.108 [I] TrelInterface-: Enabled interface, local port:55235 00:00:00.109 [I] RoutingManager: Initializing - InfraIfIndex:190 00:00:00.109 [I] InfraIf-------: Init infra netif 190 00:00:00.109 [N] RoutingManager: No valid /48 BR ULA prefix found in settings, generating new one 00:00:00.110 [I] Settings------: Saved BrUlaPrefix fd6f:b62d:e57a::/48 00:00:00.110 [N] RoutingManager: BR ULA prefix: fd6f:b62d:e57a::/48 (generated) 00:00:00.110 [I] RoutingManager: Generated local OMR prefix: fd6f:b62d:e57a:1::/64 00:00:00.110 [I] RoutingManager: Generated local NAT64 prefix: fd6f:b62d:e57a:2:0:0::/96 00:00:00.110 [N] RoutingManager: Local on-link prefix: fdde:ad00:beef:cafe::/64 00:00:00.110 [I] InfraIf-------: State changed: NOT RUNNING -> RUNNING 00:00:00.110 [I] P-MdnsSocket--: Successfully opened IPv4 socket 00:00:00.110 [I] P-MdnsSocket--: Successfully opened IPv6 socket 00:00:00.111 [I] P-MdnsSocket--: Enabled 00:00:00.111 [I] MulticastDns--: Auto-enabling on infra-if-index 190 00:00:00.111 [I] RoutingManager: Enabling 00:00:00.111 [I] Nat64---------: IPv4 CIDR for NAT64: 192.168.255.0/24 (254 addresses) [INFO]-HELPER--: Set state callback: OK 00:00:00.111 [I] Nat64---------: State: Disabled -> NotRunning 00:00:00.111 [I] BbrLocal------: Add Domain Prefix: ::/0, NotFound 00:00:00.111 [I] BbrLocal------: Add BBR Service: seqno (71), delay (5s), timeout (3600s), InvalidState [WARN]-UTILS---: ../../src/rest/network_diag_handler.cpp:1294 lacking some attributes for deviceId be206e758d99b8ee 00:00:00.112 [I] Settings------: Saved BorderAgentId {id:43d872cf9b0eefc3599073227201bf24} [WARN]-UTILS---: ../../src/rest/network_diag_handler.cpp:1238 cannot get LeaderData while detached [WARN]-UTILS---: ../../src/rest/rest_devices_coll.cpp:233 - AddItem - be206e758d99b8ee [INFO]-REST----: RestWebServer listening on 0.0.0.0:8081 [INFO]-APP-----: Co-processor version: SL-OPENTHREAD/2.4.2.0_GitHub-7074a43e4; EFR32 00:00:00.114 [I] Notifier------: StateChanged (0x42038210) [MLAddr NetData PanId NetName ExtPanId BbrState Nat64] 00:00:00.114 [I] BbrLeader-----: PBBR state: None 00:00:00.114 [I] Bbr-----------: Start listening on port 61631 00:00:00.114 [I] Bbr-----------: Backbone TMF subscribes ff32:40:fdde:ad00:beef:0:0:3: OK 00:00:00.114 [I] BbrManager----: Start Backbone TMF agent: OK 00:00:00.126 [I] Platform------: Execute command `ipset flush otbr-ingress-allow-dst-swap` = 256 00:00:00.126 [I] Platform------: Got an error when executing command `ipset flush otbr-ingress-allow-dst-swap`: `Resource temporarily unavailable` 00:00:00.126 [W] Platform------: Firewall - failed to update ipsets: Failed 00:00:00.126 [I] P-Netif-------: NAT64 CIDR updated to 192.168.255.0/24. 00:00:00.126 [I] P-Netif-------: Sent request#2 to delete route 192.168.255.0/24 00:00:00.126 [I] P-Netif-------: Deleting route for NAT64 00:00:00.126 [I] P-McastRtMgr--: Disable: OK 00:00:00.126 [I] RouterTable---: Route table 00:00:00.126 [I] TrelDiscoverer: Registering service otTRELbe206e758d99b8ee._trel._udp 00:00:00.126 [I] TrelDiscoverer: port:55235, ext-addr:be206e758d99b8ee, ext-panid:dead00beef00cafe 00:00:00.127 [I] MulticastDns--: Adding host address 192.168.30.26Das sieht doch schonmal nicht so schlecht aus oder was meinst du ?
Was mir jetzt allerdings noch nicht klar ist: Wie kann ich den SLZB-MR1 jetzt mit dem iobroker Matter Adapter verheiraten ?
Oder wie bekomme ich mein Nuki Ultra mit dem SLZB-MR1 verbunden ?@qlink said in SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread:
Das sieht doch schonmal nicht so schlecht aus oder was meinst du ?
In der Tat!
Was mir jetzt allerdings noch nicht klar ist: Wie kann ich den SLZB-MR1 jetzt mit dem iobroker Matter Adapter verheiraten ?
Oder wie bekomme ich mein Nuki Ultra mit dem SLZB-MR1 verbunden ?Da bin ich jetzt leider raus -- ich nutze wie gesagt Home Assistant, dort gibt es zunächst eine "OpenThread Border Router"-Integration, der man IP/Port des otbr (in diesem Fall localhost:8081) mitgibt; anschließend kann man in der "Thread"-Integration ein Thread-Netzwerk anlegen und den OTBR diesen Netz hinzufügen. Für iobroker weiß ich das leider nicht :(
Viel Erfolg!
-
@qlink said in SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread:
Das sieht doch schonmal nicht so schlecht aus oder was meinst du ?
In der Tat!
Was mir jetzt allerdings noch nicht klar ist: Wie kann ich den SLZB-MR1 jetzt mit dem iobroker Matter Adapter verheiraten ?
Oder wie bekomme ich mein Nuki Ultra mit dem SLZB-MR1 verbunden ?Da bin ich jetzt leider raus -- ich nutze wie gesagt Home Assistant, dort gibt es zunächst eine "OpenThread Border Router"-Integration, der man IP/Port des otbr (in diesem Fall localhost:8081) mitgibt; anschließend kann man in der "Thread"-Integration ein Thread-Netzwerk anlegen und den OTBR diesen Netz hinzufügen. Für iobroker weiß ich das leider nicht :(
Viel Erfolg!
@b_nutzer cool, danke für deinen Container. Funktioniert damit jedes Gerät von Smlight?
Ich nutze nämlich auch Home Assistant als docker und war enttäuscht, dass die Geräte bisher nicht einbindbar waren. Hab es bisher mit einem separaten Open thread border router Von espressif gemacht.
Wird denn ipv6 voll unterstützt?
-
@b_nutzer cool, danke für deinen Container. Funktioniert damit jedes Gerät von Smlight?
Ich nutze nämlich auch Home Assistant als docker und war enttäuscht, dass die Geräte bisher nicht einbindbar waren. Hab es bisher mit einem separaten Open thread border router Von espressif gemacht.
Wird denn ipv6 voll unterstützt?
@fir3drag0n said in SLZB-MR1 über PoE mit OTBR auf Docker für Matter over Thread:
@b_nutzer cool, danke für deinen Container. Funktioniert damit jedes Gerät von Smlight?
Davon würde ich ausgehen, aber ich kann dazu nur sagen: Ich nutze einen SLZB-07MG24 (USB) sowie einen SLZB-06M (via Ethernet); andere scheinen mit einem SLZB-MR1 erfolgreich zu sein.
Ich nutze nämlich auch Home Assistant als docker und war enttäuscht, dass die Geräte bisher nicht einbindbar waren. Hab es bisher mit einem separaten Open thread border router Von espressif gemacht.
Wird denn ipv6 voll unterstützt?
Ich bin nicht ganz sicher, worauf Deine Frage nach IPv6 zielt. Aufgabe von Thread ist es, IPv6-Traffic (konkret eben Matter-Traffic) zu transportieren; das tut selbstverständlich.
Geht es Dir darum, den Thread-Stick per IPv6 zu erreichen? Spannende Frage, musste ich auch sofort mal ausprobieren -- tut. Warum würdest Du das wollen?
Oder soll der OTBR von seinem Matter-Controller per IPv6 erreicht werden? Das hab ich jetzt nicht probiert, würde es aber erwarten. Zu welchem Ziel dieses?
... oder darum, im IPv6-Netz transparent zu sein? Ja, ich kann von meinem Arbeitsplatz-Rechner per IPv6 eine "Onvis"-Matter-over-Thread-Steckdose anpingen, dabei nimmt der Traffic also den Weg über den otbr.
Letzteres würde vermutlich ein Original-otbr-Container unterbinden -- der möchte allerhand Firewall-Regeln setzen; das hab ich nicht übernommen, ich finde nicht, dass ein Docker-Container das Firewalling seines Hosts verdrehen sollte.