Thread Dongle
2026-09-30
after chip-tool on my homelab worked well to control some wifi-based smart plugs, i decided to try to make a Thread network too (mostly because matter light bulbs seem to be cheaper and better when using Thread rather than wifi).
Sonoff DonglePlus MG24 works well for me, together with OpenThread Border Router ran in a podman container on my arch linux. Steps i had to take, roughly, might expand later:
Flash the dongle firmware
This one comes with a Zigbee firmware, but we want Thread. i think i got my firmware here: https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds/zbdonglee
and i was able to use some commandline tool to flash it onto the dongle. Worked first try.
set up OTBR container
quick summary since i don't have the details right now:
- follow guide on https://openthread.io/guides/border-router
- ensure either privileged or NET_CAP_somethings are set
- host networking
- open nftables ruleset to allow mDNS and multicast stuff (not 100 sure what exactly)
- test if it sees the dongle + starts (set proper device paths)
- for ot-ctl, specify the interface if you don't call it wpan0
set up thread network
- follow guide until ot-ctl state says leader
provision your lamp
- need the data from the qr code
- 'chip-tool pairing ble-thread
hex:909yx0c0y9x09xyc qrcode-info --storage-directory somedir --bypass-attestation-verifier true (or maybe set up certs)'
try it out
- chip-tool onoff off devicenr 0
- realize you forgot --storage-dir and waste a few hours
anyway, so far it's pretty cool