Scope
Goal is to understand and bringup required platform for supporting thread in RDK-B Bananapi R4 with silabs module
- Beta engineering release of 05 Feb 2025
- Silabs xG24 Explorer Kit (brd2703a)
| draw.io Diagram |
|---|
| border | true |
|---|
| |
|---|
| diagramName | otbr |
|---|
| simpleViewer | false |
|---|
| width | |
|---|
| links | auto |
|---|
| tbstyle | top |
|---|
| lbox | true |
|---|
| diagramWidth | 671 |
|---|
| height | 321 |
|---|
| revision | 1 |
|---|
|
Kernel side changes
CONFIG_USB_ACM=y
CONFIG_TUN=y
drivers/net/tap.c
- Description - TUN generic support
CONFIG_IEEE802154=y
net/ieee802154
- Description - Generic IEEE802154
CONFIG_MAC802154=y
net/mac802154
- Description - Generic MAC layer for IEEE802154
User space code changes
Yocto changes
| draw.io Diagram |
|---|
| border | true |
|---|
| |
|---|
| diagramName | otbrinstall11 |
|---|
| simpleViewer | false |
|---|
| width | |
|---|
| links | auto |
|---|
| tbstyle | top |
|---|
| lbox | true |
|---|
| diagramWidth | 901 |
|---|
| height | 301 |
|---|
| revision | 1 |
|---|
|
Runtime changes
- set
disable_encryption to true
- Remove ExecStartPre=/usr/bin/init-iot-radio.sh
- mkdir /nvram/icontrol/etc/thread
- update debug level to 7 from 5
- cpcd service should be up and running
- otbr-agent service should be up and running
- ot-ctl shoule be accessible and get state
| Code Block |
|---|
W:~# ot-ctl
> state
disabled
Done
> |
- Use simplicity studio
- Use commander tool
- Installed software in ubuntu and connected module with USB Type C
- Get Approval from Thomas Lea to get access to the firmware - rcp-multi-all-4.4.5-2-brd2703a.hex
- Make sure we have wpan0 interface up
- brlan0 should be up and running
- wpan0 - who creates it ? - otbr-agent
- Initial OTBR-agent startup:
- OTBR-agent process starts
- At this point, no wpan0 interface exists yet
- No socket exists yet at
/run/openthread-wpan0.sock
- OTBR-agent creates socket:
- Creates Unix domain socket at
/run/openthread-wpan0.sock - This socket will be used for IPC/control operations
- OTBR-agent creates network interface:
- Creates the
wpan0 network interface - Takes ownership of managing this interface
- Runtime dependencies:
- The
wpan0 interface is ONLY available while OTBR-agent is running - If OTBR-agent stops, the wpan0 interface goes away
- Other services/processes should not expect wpan0 to exist without OTBR-agent running
- Communication flow:
- Other processes can communicate with OTBR-agent through the socket at
/run/openthread-wpan0.sock - Network traffic goes through the wpan0 interface managed by OTBR-agent
...