Going Further#
After creating a Wi-SUN Network, this section is a guide toward the next steps in exploring the Silicon Labs Wi-SUN solution.
Wi-SUN Border Router GUI: Under Wi-SUN Border Router, this section presents the Wi-SUN Border Router Dashboard that can be used to configure the Wi-SUN Linux Border router and visualize the Wi-SUN Network.
Development Tools: The development tools below are provided within Simplicity Studio as well as third party.
Simplicity Platform#
The Simplicity Platform is a set of drivers and other lower layer features that interact directly with Silicon Labs chips and modules. Simplicity Platform components include EMLIB, EMDRV, RAIL Library, NVM3, and MbedTLS. For more information about Simplicity Platform, see release notes that can be found in SSv5’s Documentation tab, as well as online API documentation at https://docs.silabs.com/.
Simplicity Commander#
Simplicity Commander is a single, all-purpose tool to be used in a production environment. It is invoked using a simple Command Line Interface (CLI) that is also scriptable. Simplicity Commander enables customers to complete essential tasks such as configuring and building applications and bootloaders and flashing images to their devices. Simplicity Commander is available through Simplicity Studio or can be downloaded through system-specific installers. The Simplicity Commander Reference Guide provides more information.
Pin Tool#
Simplicity Studio 5 offers a Pin Tool that allows you to easily configure new peripherals or change the properties of existing ones. In the Project Configurator SOFTWARE COMPONENTS tab, expand the Advanced Configurators group and open the Pin Tool. The graphical view differs based on the chip.
The pin, function, and peripheral tabs in the configuration pane provide different modes of access. A search function also provided.
Use the Pin Tool to modify the pin configuration of the device. Software components control behavior in the project but must be associated with a peripheral, and generally need pin or function assignments. These pin or function assignments are most easily edited in the Component Editor for that component. The Pin Tool allows you to assign functions to pins. On all three dialogs, click EDIT next to a software component to go directly to the Component Editor for that component. Click NEW to go to the Project Configurator's SOFTWARE COMPONENTS tab, where you can install a component in the project so that it can be selected in the dialog.
For more information see the Simplicity Studio 5 User's Guide Pin Tool section.
Network Analyzer#
Silicon Labs Network Analyzer is a packet capture and debugging tool that can be used to debug connectivity between wireless nodes running Wi-SUN stack on EFR32 platform. It significantly accelerates the network and application development process with graphical views of network traffic, activity, and duration.
The Packet Trace application captures the packets directly from the Packet Trace Interface (PTI) available on the Wireless Gecko SoCs and modules. It therefore provides a more accurate capture of the packets compared to air-based capture.
To capture Wi-SUN packets using the Silicon Labs Network Analyzer, in the Debug Adapters view, first make sure you are connected and then right-click the device that is running on a Wi-SUN network and select Start capture.
You should now be able to see the Wi-SUN traffic as shown below. Click the packets to see more details about its contents in the Event Detail view (on the right).
Note: If you don't see packets being captured, you may have a mismatch between your project's PTI Baud Rate (Hertz) setting in the RAIL Utility, PTI component and your Debug Adapter's PTI Bitrate settings (which you can access by right-clicking your Debug Adapter, selecting Device Configuration, then opening the Packet Trace tab).
In the current state, the Network Analyzer does not decrypt the Wi-SUN Upper Layer Application Data. To decrypt the packet and analyze the complete payload including the data, the external tool Wireshark is recommended. To export PTI captures in readable Wireshark's pcapng format, follow these steps:
When you have traced the communication, click Export.
Under Select export format, select PCAP NG exporter.
Enter a path and a file name in which the trace will be stored.
In Export mode, select Wi-SUN (auto-detect protocol).
Click OK.
Once .pcapng is created, it can easily be opened in Wireshark.
Note: PTI captures may occasionally contain corrupted packets that cannot be analyzed or decrypted. This is due to bit-shifting issues between the Wi-SUN preamble and PTI. However, this problem only affects the capture process, frames are still correctly transmitted and received by the devices. Therefore, this issue should not prevent the use of PTI or Wireshark for analysis.
Wireshark#
Wireshark is the recommended network protocol analyzer for the use with Wi-SUN networks. Download instructions are provided for Windows/Mac users or Linux users.Simplicity Studio 5 supports live interaction between the application running on a Silicon Labs device and Wireshark.
To decrypt the communications, the GAK key and key index set information are required. They can be retrieved on the border router CLI by issuing the following command:
> wisun get wisun
wisun.state = started (2)
wisun.network_name = "Wi-SUN Network"
wisun.phy_config_type = FAN 1.0 (0)
wisun.regulatory_domain = NA (1)
wisun.operating_class = 1
wisun.operating_mode = 0x1b
wisun.fec = 0
wisun.chan_plan_id = 1 (unused)
wisun.phy_mode_id = 2 (unused)
wisun.ch0_frequency = 863100 (unused)
wisun.number_of_channels = 69 (unused)
wisun.channel_spacing = 100kHz (0) (unused)
wisun.network_size = small (1)
wisun.tx_power = 20
wisun.unicast_dwell_interval = 255
wisun.broadcast_interval = 1020
wisun.broadcast_dwell_interval = 255
wisun.channel_mask =
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
wisun.allowed_channels = "0-255"
wisun.gak1 = 76:ab:9f:ce:8a:08:b8:88:6d:fc:56:fa:0e:6f:1e:ce
wisun.gak2 = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
wisun.gak3 = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
wisun.gak4 = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
wisun.lfn_gak1 = 7b:92:f2:9e:68:a5:41:37:b3:5e:e7:14:04:be:37:04
wisun.lfn_gak2 = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
wisun.lfn_gak3 = 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
wisun.mac_address = b4:e3:f9:ff:fe:c5:84:93
wisun.ip_addresses = [ll: fe80::b6e3:f9ff:fec5:8493 gua: :: dodagid: ::]
wisun.trace_filter.000-031 = 0xffffffff
wisun.trace_filter.032-063 = 0xffffffff
wisun.regulation = none (0)
wisun.rx_phy_mode_ids = 0x02,0x05,0x06,0x08,0x22,0x23,0x24,0x25,0x26
On Wi-SUN Border Router Linux, the GAK Key can be retrieved using wsbrd_cli
command or directly from /var/lib/wstk/network-keys:
> wsbrd_cli status
network_name: Wi-SUN Network
domain: EU
mode: 1a
class: 1
panid: 0x3287
size: SMALL
GAK[0]: eb:7b:11:dd:f0:23:c3:7e:36:64:c5:9b:5b:ed:c6:c7
GAK[1]: fc:d3:1f:a7:4c:c8:c4:0f:96:7e:d0:5d:0e:a1:01:fc
GAK[2]: fc:d3:1f:a7:4c:c8:c4:0f:96:7e:d0:5d:0e:a1:01:fc
GAK[3]: fc:d3:1f:a7:4c:c8:c4:0f:96:7e:d0:5d:0e:a1:01:fc
GTK[0]: a8:d6:dc:7c:66:14:2f:b8:db:dd:af:fb:c2:27:0c:18
GTK[1]: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
GTK[2]: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
GTK[3]: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
84:fd:27:ff:fe:fe:55:bd
Silicon Labs Wi-SUN devices in the network use wisun.gak1
as the GAK key. In the first capture the GAK key is
76:ab:9f:ce:8a:08:b8:88:6d:fc:56:fa:0e:6f:1e:ce
and in the second capture the GAK key is
eb:7b:11:dd:f0:23:c3:7e:36:64:c5:9b:5b:ed:c6:c7
. The key index to use in Wireshark is 1 in both cases, for the first GAK
in the list.
In Wireshark:
Click Edit.
Click Preferences....
Expand the Protocols list and select IEEE 802.15.4.
Next to Decryption Keys, click Edit.
In the Keys window, click [+].
Under Decryption key enter the GAK key, and under Decryption key index, enter the key index (starting at 1 for GAKs, starting at 5 for LFN-GAKs).
Click OK.
Wireshark is now able to decrypt the traces and the higher-level protocols (ICMP, TCP, UDP...). The following example of traces shows a router pinging its border router.
Silicon Labs Configurator (SLC)#
SLC offers command-line access to application configuration and generation functions. Software Project Generation and Configuration with SLC-CLI provides instructions on downloading and using the SLC-CLI tool.
IAR IDE#
To get a 30-day evaluation license for IAR-EWARM:
Go to the Silicon Labs support portal at https://www.silabs.com/support.
Scroll down to the bottom of the page, and click Contact Support.
If you are not already signed in, sign in.
Click the Software Releases tab. In the View list select Development Tools. Click Go. In the results is a link to the IAR-EWARM version named in the release notes.
Download the IAR package (takes approximately 1 hour).
Install IAR.
In the IAR License Wizard, click Register with IAR Systems to get an evaluation license.
Complete the registration and IAR will provide a 30-day evaluation license.
Once IAR-EWARM is installed, the next time Simplicity Studio starts it will automatically detect and configure the IDE to use IAR-EWARM.