You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 15 Next »

Scope

Goal is to understand and bringup required platform for supporting thread in RDK-B Bananapi R4 with silabs module

Hardware used

  •  Silabs xG24 Explorer Kit (brd2703a)

Where to purchase hardware

Highlevel block

  • otbr

Kernel side changes

  • Minimal kernel changes

    • CONFIG_USB_ACM=y

      • drivers/usb/class/Makefile

      • Description - ACM support for UART communication
    • 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

  • Image install changes in BPI

    • otbrinstall11

Runtime changes

  • cpcd.conf

    • set disable_encryption to true
  • cpcd.service

    • Remove ExecStartPre=/usr/bin/init-iot-radio.sh
  • Directory creation

    • mkdir /nvram/icontrol/etc/thread
  • otbr-agent.service

    • update debug level to 7 from 5 

Testing

  • cpcd service should be up and running
  • otbr-agent service should be up and running
  • ot-ctl shoule be accessible and get state
    • W:~# ot-ctl 
      > state
      disabled
      Done
      > 


Firmware upgrade of BRD module

Documentation

Key check points when we land in issues

  • Make sure we have wpan0 interface up
  • brlan0 should be up and running
  • who creates wpan0
    • otbr-agent
    • More technical explanation
      • 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








  • No labels