Skip to content

Latest commit

 

History

History
1494 lines (1066 loc) · 21.8 KB

README.md

File metadata and controls

1494 lines (1066 loc) · 21.8 KB

OpenThread CLI Reference

The OpenThread CLI exposes configuration and management APIs via a command line interface. Use the CLI to play with OpenThread, which can also be used with additional application code. The OpenThread test scripts use the CLI to execute test cases.

OpenThread Command List

OpenThread Command Details

blacklist

List the blacklist entries.

> blacklist
Enabled
166e0a0000000002
166e0a0000000003
Done

blacklist add <extaddr>

Add an IEEE 802.15.4 Extended Address to the blacklist.

> blacklist add 166e0a0000000002
Done

blacklist clear

Clear all entries from the blacklist.

> blacklist clear
Done

blacklist disable

Disable MAC blacklist filtering.

> blacklist disable
Done

blacklist enable

Enable MAC blacklist filtering.

> blacklist enable
Done

blacklist remove <extaddr>

Remove an IEEE 802.15.4 Extended Address from the blacklist.

> blacklist remove 166e0a0000000002
Done

channel

Get the IEEE 802.15.4 Channel value.

> channel
11
Done

channel <channel>

Set the IEEE 802.15.4 Channel value.

> channel 11
Done

child list

List attached Child IDs.

> child list
1 2 3 6 7 8
Done

child table

Print table of attached children.

> child table
| ID  | RLOC16 | Timeout    | Age        | LQI In | C_VN |R|S|D|N| Extended MAC     |
+-----+--------+------------+------------+--------+------+-+-+-+-+------------------+
|   1 | 0xe001 |        240 |         44 |      3 |  237 |1|1|1|1| d28d7f875888fccb |
|   2 | 0xe002 |        240 |         27 |      3 |  237 |0|1|0|1| e2b3540590b0fd87 |
Done

child <id>

Print diagnostic information for an attached Thread Child. The id may be a Child ID or an RLOC16.

> child 1
Child ID: 1
Rloc: 9c01
Ext Addr: e2b3540590b0fd87
Mode: rsn
Net Data: 184
Timeout: 100
Age: 0
LQI: 3
RSSI: -20
Done

childmax

Get the Thread maximum number of allowed children.

> childmax
5
Done

childmax <count>

Set the Thread maximum number of allowed children.

> childmax 2
Done

childtimeout

Get the Thread Child Timeout value.

> childtimeout
300
Done

childtimeout <timeout>

Set the Thread Child Timeout value.

> childtimeout 300
Done

commissioner start <provisioningUrl>

Start the Commissioner role.

  • provisioningUrl: Provisioning URL for the Joiner (optional).

This command will cause the device to send LEAD_PET and LEAD_KA messages.

> commissioner start
Done

commissioner stop

Stop the Commissioner role.

This command will cause the device to send LEAD_KA[Reject] messages.

> commissioner stop
Done

commissioner joiner add <hashmacaddr> <psdk>

Add a Joiner entry.

  • hashmacaddr: The Extended Address of the Joiner or '*' to match any Joiner.
  • pskd: Pre-Shared Key for the Joiner.
> commissioner joiner add d45e64fa83f81cf7 PSK
Done

commissioner joiner remove <hashmacaddr>

Remove a Joiner entry.

  • hashmacaddr: The Extended Address of the Joiner or '*' to match any Joiner.
> commissioner joiner remove d45e64fa83f81cf7
Done

commissioner provisioningurl <provisioningUrl>

Set the Provisioning URL.

> commissioner provisioningurl http://github.com/openthread/openthread
Done

commissioner energy <mask> <count> <period> <scanDuration> <destination>

Send a MGMT_ED_SCAN message.

  • mask: Bitmask identifying channsl to perform IEEE 802.15.4 ED Scans.
  • count: Number of IEEE 802.15.4 ED Scans per channel.
  • period: Period between successive IEEE 802.15.4 ED Scans (milliseconds).
  • scanDuration: IEEE 802.15.4 ScanDuration to use when performing an IEEE 802.15.4 ED Scan (milliseconds).
  • destination: IPv6 destination for the message (may be multicast).

The contents of MGMT_ED_REPORT messages (i.e. Channel Mask and Energy List) are printed as they are received.

> commissioner energy 0x00050000 2 32 1000 fdde:ad00:beef:0:0:ff:fe00:c00
Done
Energy: 00050000 0 0 0 0

commissioner panid <panid> <mask> <destination>

Send a MGMT_PANID_QUERY message.

  • panid: PAN ID to check for conflicts.
  • mask: Bitmask identifying channels to perform IEEE 802.15.4 Active Scans.
  • destination: IPv6 destination for the message (may be multicast).

The contents of MGMT_PANID_CONFLICT messages (i.e. PAN ID and Channel Mask) are printed as they are received.

> commissioner panid 0xdead 0x7fff800 fdde:ad00:beef:0:0:ff:fe00:c00
Done
Conflict: dead, 00000800

commissioner sessionid

Get current commissioner session id.

> commissioner sessionid
0
Done

contextreusedelay

Get the CONTEXT_ID_REUSE_DELAY value.

> contextreusedelay
11
Done

contextreusedelay <delay>

Set the CONTEXT_ID_REUSE_DELAY value.

> contextreusedelay 11
Done

counter

Get the supported counter names.

>counter
mac
Done

counter <countername>

Get the counter value.

>counter mac
TxTotal: 10
    TxUnicast: 3
    TxBroadcast: 7
    TxAckRequested: 3
    TxAcked: 3
    TxNoAckRequested: 7
    TxData: 10
    TxDataPoll: 0
    TxBeacon: 0
    TxBeaconRequest: 0
    TxOther: 0
    TxRetry: 0
    TxErrCca: 0
RxTotal: 2
    RxUnicast: 1
    RxBroadcast: 1
    RxData: 2
    RxDataPoll: 0
    RxBeacon: 0
    RxBeaconRequest: 0
    RxOther: 0
    RxWhitelistFiltered: 0
    RxDestAddrFiltered: 0
    RxDuplicated: 0
    RxErrNoFrame: 0
    RxErrNoUnknownNeighbor: 0
    RxErrInvalidSrcAddr: 0
    RxErrSec: 0
    RxErrFcs: 0
    RxErrOther: 0

dataset help

Print meshcop dataset help menu.

> dataset help
help
active
activetimestamp
channel
clear
commit
delay
extpanid
masterkey
meshlocalprefix
mgmtgetcommand
mgmtsetcommand
networkname
panid
pending
pendingtimestamp
userdata
Done

dataset active

Print meshcop active operational dataset.

> dataset active
Active Timestamp: 0
Done

dataset activetimestamp

Set getting active timestamp flag.

> dataset activestamp
Done

dataset activetimestamp [activetimestamp]

Set active timestamp.

> dataset activestamp 123456789
Done

dataset channel

Set getting channel flag.

> dataset channel
Done

dataset channel [channel]

Set channel.

> dataset channel 12
Done

dataset clear

Reset operational dataset buffer.

> dataset clear
Done

dataset commit [commit]

Commit operational dataset buffer to active/pending operational dataset.

> dataset commit active
Done

dataset delay

Set getting delay timer value flag.

> dataset delay
Done

dataset delay [delay]

Set delay timer value.

> dataset delay 1000
Done

dataset extpanid

Set getting extended panid flag.

> dataset extpanid
Done

dataset extpanid [extpanid]

Set extended panid.

> dataset extpanid 000db80123456789
Done

dataset masterkey

Set getting master key flag.

> dataset masterkey
Done

dataset masterkey [masterkey]

Set master key.

> dataset master 1234567890123456
Done

dataset meshlocalprefix

Set getting mesh local prefix flag.

> dataset meshlocalprefix
Done

dataset meshlocalprefix fd00:db8::

Set mesh local prefix.

> dataset meshlocalprefix fd00:db8::
Done

dataset mgmtgetcommand active [address <destination>] [TLVs list] [binary]

Send MGMT_ACTIVE_GET.

> dataset mgmtgetcommand active address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp 123 binary 0001
Done

dataset mgmtsetcommand active [TLV Types list] [binary]

Send MGMT_ACTIVE_SET.

> dataset mgmtsetcommand active activetimestamp binary 820155
Done

dataset mgmtgetcommand pending [address <destination>] [TLVs list] [binary]

Send MGMT_PENDING_GET.

> dataset mgmtgetcommand pending address fdde:ad00:beef:0:558:f56b:d688:799 activetimestamp binary 0001
Done

dataset mgmtsetcommand pending [TLV Types list] [binary]

Send MGMT_PENDING_SET.

> dataset mgmtsetcommand pending activetimestamp binary 820155
Done

dataset networkname

Set getting network name flag.

> dataset networkname
Done

dataset networkname [networkname]

Set network name.

> dataset networkname openthread
Done

dataset panid

Set getting panid flag.

> dataset panid
Done

dataset panid [panid]

Set panid.

> dataset panid 0x1234
Done

dataset pending

Print meshcop pending operational dataset.

> dataset pending
Done

dataset pendingtimestamp

Set getting pending timestamp flag.

> dataset pendingtimestamp
Done

dataset pendingtimestamp [pendingtimestamp]

Set pending timestamp.

> dataset pendingtimestamp 123456789
Done

dataset userdata [size] [data]

Set user specific data for the command.

> dataset userdata 3 820155
Done

discover [channel]

Perform an MLE Discovery operation.

  • channel: The channel to discover on. If no channel is provided, the discovery will cover all valid channels.
> discover
| J | Network Name     | Extended PAN     | PAN  | MAC Address      | Ch | dBm | LQI |
+---+------------------+------------------+------+------------------+----+-----+-----+
| 0 | OpenThread       | dead00beef00cafe | ffff | f1d92a82c8d8fe43 | 11 | -20 |   0 |
Done

eidcache

Print the EID-to-RLOC cache entries.

> eidcache
fdde:ad00:beef:0:bb1:ebd6:ad10:f33 ac00
fdde:ad00:beef:0:110a:e041:8399:17cd 6000
Done

eui64

Get the factory-assigned IEEE EUI-64.

> eui64
0615aae900124b00
Done

extaddr

Get the IEEE 802.15.4 Extended Address.

> extaddr
dead00beef00cafe
Done

extaddr <extaddr>

Set the IEEE 802.15.4 Extended Address.

> extaddr dead00beef00cafe
dead00beef00cafe
Done

extpanid

Get the Thread Extended PAN ID value.

> extpanid
dead00beef00cafe
Done

extpanid <extpanid>

Set the Thread Extended PAN ID value.

> extpanid dead00beef00cafe
Done

factoryreset

Delete all stored settings, and signal a platform reset.

> factoryreset

hashmacaddr

Get the HashMac address.

> hashmacaddr
e0b220eb7d8dda7e
Done

ifconfig up

Bring up the IPv6 interface.

> ifconfig up
Done

ifconfig down

Bring down the IPv6 interface.

> ifconfig down
Done

ifconfig

Show the status of the IPv6 interface.

> ifconfig
down
Done

ipaddr

List all IPv6 addresses assigned to the Thread interface.

> ipaddr
fdde:ad00:beef:0:0:ff:fe00:0
fdde:ad00:beef:0:558:f56b:d688:799
fe80:0:0:0:f3d9:2a82:c8d8:fe43
Done

ipaddr add <ipaddr>

Add an IPv6 address to the Thread interface.

> ipaddr add 2001::dead:beef:cafe
Done

ipaddr del <ipaddr>

Delete an IPv6 address from the Thread interface.

> ipaddr del 2001::dead:beef:cafe
Done

ipmaddr

List all IPv6 multicast addresses subscribed to the Thread interface.

> ipmaddr
ff05:0:0:0:0:0:0:1
ff33:40:fdde:ad00:beef:0:0:1
ff32:40:fdde:ad00:beef:0:0:1
Done

ipmaddr add <ipaddr>

Subscribe the Thread interface to the IPv6 multicast address.

> ipmaddr add ff05::1
Done

ipmaddr del <ipaddr>

Unsubscribe the Thread interface to the IPv6 multicast address.

> ipmaddr del ff05::1
Done

ipmaddr promiscuous

Get multicast promiscuous mode.

> ipmaddr promiscuous
Disabled
Done

ipmaddr promiscuous enable

Enable multicast promiscuous mode.

> ipmaddr promiscuous enable
Done

ipmaddr promiscuous disable

Disable multicast promiscuous mode.

> ipmaddr promiscuous disable
Done

joiner start <pskd> <provisioningUrl>

Start the Joiner role.

  • pskd: Pre-Shared Key for the Joiner.
  • provisioningUrl: Provisioning URL for the Joiner (optional).

This command will cause the device to perform an MLE Discovery and initiate the Thread Commissioning process.

> joiner start PSK
Done

joiner stop

Stop the Joiner role.

> joiner stop
Done

keysequence counter

Get the Thread Key Sequence Counter.

> keysequence counter
10
Done

keysequence counter <counter>

Set the Thread Key Sequence Counter.

> keysequence counter 10
Done

keysequence guardtime

Get Thread Key Switch Guard Time (in hours)

> keysequence guardtime
0
Done

keysequence guardtime <guardtime>

Set Thread Key Switch Guard Time (in hours) 0 means Thread Key Switch imediately if key index match

> keysequence guardtime 0
Done

leaderpartitionid

Get the Thread Leader Partition ID.

> leaderpartitionid
4294967295
Done

leaderpartitionid <partitionid>\

Set the Thread Leader Partition ID.

> leaderpartitionid 0xffffffff
Done

leaderweight

Get the Thread Leader Weight.

> leaderweight
128
Done

leaderweight <weight>

Set the Thread Leader Weight.

> leaderweight 128
Done

linkquality <extaddr>\

Get the link quality on the link to a given extended address.

> linkquality 36c1dd7a4f5201ff
3
Done

linkquality <extaddr>\ <linkquality>\

Set the link quality on the link to a given extended address.

> linkquality 36c1dd7a4f5201ff 3
Done

masterkey

Get the Thread Master Key value.

> masterkey
00112233445566778899aabbccddeeff
Done

masterkey <key>

Set the Thread Master Key value.

> masterkey 00112233445566778899aabbccddeeff
Done

mode

Get the Thread Device Mode value.

  • r: rx-on-when-idle
  • s: Secure IEEE 802.15.4 data requests
  • d: Full Function Device
  • n: Full Network Data
> mode
rsdn
Done

mode [rsdn]

Set the Thread Device Mode value.

  • r: rx-on-when-idle
  • s: Secure IEEE 802.15.4 data requests
  • d: Full Function Device
  • n: Full Network Data
> mode rsdn
Done

netdataregister

Register local network data with Thread Leader.

> netdataregister
Done

networkidtimeout

Get the NETWORK_ID_TIMEOUT parameter used in the Router role.

> networkidtimeout
120
Done

networkidtimeout <timeout>

Set the NETWORK_ID_TIMEOUT parameter used in the Router role.

> networkidtimeout 120
Done

networkname

Get the Thread Network Name.

> networkname
OpenThread
Done

networkname <name>

Set the Thread Network Name.

> networkname OpenThread
Done

panid

Get the IEEE 802.15.4 PAN ID value.

> panid
0xdead
Done

panid <panid>

Set the IEEE 802.15.4 PAN ID value.

> panid 0xdead
Done

parent

Get the diagnostic information for a Thread Router as parent.

> parent
Ext Addr: be1857c6c21dce55
Rloc: 5c00
Done

ping <ipaddr> [size] [count] [interval]

Send an ICMPv6 Echo Request.

> ping fdde:ad00:beef:0:558:f56b:d688:799
16 bytes from fdde:ad00:beef:0:558:f56b:d688:799: icmp_seq=1 hlim=64 time=28ms

pollperiod

Get the customized data poll period of sleepy end device (seconds). Only for certification test

> pollperiod
0
Done

pollperiod <pollperiod>\

Set the customized data poll period for sleepy end device (seconds). Only for certification test

> pollperiod 10
Done

prefix add <prefix> [pvdcsr] [prf]

Add a valid prefix to the Network Data.

  • p: Preferred flag
  • a: Stateless IPv6 Address Autoconfiguration flag
  • d: DHCPv6 IPv6 Address Configuration flag
  • c: DHCPv6 Other Configuration flag
  • r: Default Route flag
  • o: On Mesh flag
  • s: Stable flag
  • prf: Default router preference, which may be 'high', 'med', or 'low'.
> prefix add 2001:dead:beef:cafe::/64 paros med
Done

prefix remove <prefix>

Invalidate a prefix in the Network Data.

> prefix remove 2001:dead:beef:cafe::/64
Done

promiscuous

Get radio promiscuous property.

> promiscuous
Disabled
Done

promiscuous enable

Enable radio promiscuous operation and print raw packet content.

> promiscuous enable
Done

promiscuous disable

Disable radio promiscuous operation.

> promiscuous disable
Done

releaserouterid <routerid>

Release a Router ID that has been allocated by the device in the Leader role.

> releaserouterid 16
Done

reset

Signal a platform reset.

> reset

rloc16

Get the Thread RLOC16 value.

> rloc16
0xdead
Done

route add <prefix> [s] [prf]

Add a valid prefix to the Network Data.

  • s: Stable flag
  • prf: Default Router Preference, which may be: 'high', 'med', or 'low'.
> route add 2001:dead:beef:cafe::/64 s med
Done

route remove <prefix>

Invalidate a prefix in the Network Data.

> route remove 2001:dead:beef:cafe::/64
Done

router list

List allocated Router IDs.

> router list
8 24 50
Done

router table

Print table of routers.

> router table
| ID | RLOC16 | Next Hop | Path Cost | LQI In | LQI Out | Age | Extended MAC     |
+----+--------+----------+-----------+--------+---------+-----+------------------+
| 21 | 0x5400 |       21 |         0 |      3 |       3 |   5 | d28d7f875888fccb |
| 56 | 0xe000 |       56 |         0 |      0 |       0 | 182 | f2d92a82c8d8fe43 |
Done

router <id>

Print diagnostic information for a Thread Router. The id may be a Router ID or an RLOC16.

> router 50
Alloc: 1
Router ID: 50
Rloc: c800
Next Hop: c800
Link: 1
Ext Addr: e2b3540590b0fd87
Cost: 0
LQI In: 3
LQI Out: 3
Age: 3
Done
> router 0xc800
Alloc: 1
Router ID: 50
Rloc: c800
Next Hop: c800
Link: 1
Ext Addr: e2b3540590b0fd87
Cost: 0
LQI In: 3
LQI Out: 3
Age: 7
Done

routerdowngradethreshold

Get the ROUTER_DOWNGRADE_THRESHOLD value.

> routerdowngradethreshold
23
Done

routerdowngradethreshold <threshold>

Set the ROUTER_DOWNGRADE_THRESHOLD value.

> routerdowngradethreshold 23
Done

routerrole

Indicates whether the router role is enabled or disabled.

> routerrole
Enabled
Done

routerrole enable

Enable the router role.

> routerrole enable
Done

routerrole disable

Disable the router role.

> routerrole disable
Done

routerselectionjitter

Get the ROUTER_SELECTION_JITTER value.

> routerselectionjitter
120
Done

routerselectionjitter <jitter>

Set the ROUTER_SELECTION_JITTER value.

> routerselectionjitter 120
Done

routerupgradethreshold

Get the ROUTER_UPGRADE_THRESHOLD value.

> routerupgradethreshold
16
Done

routerupgradethreshold <threshold>

Set the ROUTER_UPGRADE_THRESHOLD value.

> routerupgradethreshold 16
Done

scan [channel]

Perform an IEEE 802.15.4 Active Scan.

  • channel: The channel to scan on. If no channel is provided, the active scan will cover all valid channels.
> scan
| J | Network Name     | Extended PAN     | PAN  | MAC Address      | Ch | dBm | LQI |
+---+------------------+------------------+------+------------------+----+-----+-----+
| 0 | OpenThread       | dead00beef00cafe | ffff | f1d92a82c8d8fe43 | 11 | -20 |   0 |
Done

singleton

Return true when there are no other nodes in the network, otherwise return false.

> singleton
true or false
Done

thread start

Enable Thread protocol operation and attach to a Thread network.

> thread start
Done

thread stop

Disable Thread protocol operation and detach from a Thread network.

> thread stop
Done

version

Print the build version information.

> version
OPENTHREAD/gf4f2f04; Jul  1 2016 17:00:09
Done

whitelist

List the whitelist entries.

> whitelist
Enabled
e2b3540590b0fd87
d38d7f875888fccb
c467a90a2060fa0e
Done

whitelist add <extaddr>

Add an IEEE 802.15.4 Extended Address to the whitelist.

> whitelist add dead00beef00cafe
Done

whitelist clear

Clear all entries from the whitelist.

> whitelist clear
Done

whitelist disable

Disable MAC whitelist filtering.

> whitelist disable
Done

whitelist enable

Enable MAC whitelist filtering.

> whitelist enable
Done

whitelist remove <extaddr>

Remove an IEEE 802.15.4 Extended Address from the whitelist.

> whitelist remove dead00beef00cafe
Done

diag

Diagnostics module is enabled only when building OpenThread with --enable-diag option. Go diagnostics module for more information.