Validate the Port

Basic validation is necessary to verify a successful port of OpenThread to a new hardware platform example.

Compile for the target platform

Demonstrate a successful build by compiling the example OpenThread application for the target platform.

./bootstrap
make -f examples/Makefile-efr32 COMMISSIONER=1 JOINER=1

Interact with the CLI

Demonstrate successful OpenThread execution and UART capability by interacting with the CLI.

Open a terminal to /dev/ttyACM0 (serial port settings: 115200 8-N-1). Type help for a list of commands.

help
help
autostart
bufferinfo
...
version
whitelist

Form a Thread network

Demonstrate successful protocol timers by forming a Thread network and verifying the node has transitioned to the Leader state.

panid 0xface
Done
ifconfig up
Done
thread start
Done

Wait a couple of seconds...

state
leader
Done

Attach a second node

Demonstrate successful radio communication by attaching a second node to the newly formed Thread network.

panid 0xface
Done
routerselectionjitter 1
Done
ifconfig up
Done
thread start
Done

Wait a couple of seconds...

state
router
Done

Ping between devices

Demonstrate successful data path communication by sending/receiving ICMPv6 Echo request/response messages.

List all IPv6 addresses of Leader:

ipaddr
fdde:ad00:beef:0:0:ff:fe00:fc00
fdde:ad00:beef:0:0:ff:fe00:800
fdde:ad00:beef:0:5b:3bcd:deff:7786
fe80:0:0:0:6447:6e10:cf7:ee29
Done

Send an ICMPv6 ping from Router to Leader's Mesh-Local EID IPv6 address:

ping fdde:ad00:beef:0:5b:3bcd:deff:7786
16 bytes from fdde:ad00:beef:0:5b:3bcd:deff:7786: icmp_seq=1 hlim=64 time=24ms

Reset a device and validate reattachment

Demonstrate non-volatile functionality by resetting the device and validating its reattachment to the same network without user intervention.

Start a Thread network:

panid 0xface
Done
ifconfig up
Done
thread start
Done

Wait a couple of seconds and verify that the active dataset has been stored in non-volatile storage:

dataset active
Active Timestamp: 0
Channel: 11
Channel Mask Page 0: e0ff1f00
Ext PAN ID: 12e7b0df163a1459
Mesh Local Prefix: fd12:e7b0:df16:0/64
Master Key: 00112233445566778899aabbccddeeff
Network Name: Test Network
PAN ID: 0x1eff
PSKc: 00000000000000000000000000000000
Security Policy: 672, onrcb
Done

Reset the device:

reset
ifconfig up
Done
thread start
Done

Wait a couple of seconds and verify that the device has successfully reattached to the network:

panid
0xface
Done
state
router
Done

Verify random number generation

Demonstrate random number generation by executing the factoryreset command and verifying a new random extended address.

extaddr
a660421703f3fdc3
Done
factoryreset

Wait a couple of seconds...

extaddr
9a8ed90715a5f7b6
Done