Flashing or Re-flashing Wirepas sinks on SolidSense gateway (V0.9 and up)

The documentation for SolidSense software is not maintained by SolidRun and the information herein is not actual with the latest version of the software, please contact our partner SolidSense Connect who is now developing the SolidSense software.
Here is the Solidsense-Connect WiKi documentation page.

Foreword

This article describe the procedure to flash the Wirepas stack on one or both of the of the Nordic chip available for that purpose on the gateway. This procedure is provided only for Wirepas licensees (having a full development license) that are flashing the sinks part of their license. For user not having a Wirepas development license they shall buy the gateways with the Wirepas stack installed by SolidRun.

For reference versus the picture below (N6 Indoor):

  • Sink1 is the lower antenna corresponding to the device /dev/ttymxc1

  • Sink2 is the left antenna corresponding to the device /dev/ttymxc2

 

Prerequisite

The first task is to generate your Wirepas binary (hex file) that is compatible with the SolidSense gateway internal wiring. To generate this firmware file you need to be a Wirepas licensee and have the Nordic development environment installed on your system. SolidRun does not provide any support concerning that development.

The Wirepas application to be used is the standard dual MCU application unless some specific features have to be installed in the sink.

Here is the table of the pin assignment to be used in the firmware

Model/Chip

Direction

Pin

Model/Chip

Direction

Pin

Indoor/Nina B1

TX

6

Indoor/Nina B1

RX

5

Outdoor or Industrial /Nina B3

TX

45

Outdoor or Industrial /Nina B3

RX

29

Baud rate used for connection is : 125000. This is to match with the Sink Service

For N6 Indoor and Outdoor versions here is the schematic if needed: 

The gateway firmware level must be at least solidsense-V0.9-2019111100 (This can be verified by checking the Device page in Kura). If you are not in that revision or up please ask Solid Run support for assistance.

Warning: Flashing a Nordic chip with the Wirepas stack is erasing the MAC address of the chip. The chip can then be reprogrammed when needed but a specific process is to be applied (contact support).

All operations require to access the gateway via ssh. (SSH / FTP access to SolidSense gateway )

Flashing the Nordic chip with Wirepas stack

This paragraph is dedicated to customers having a Wirepas license to flash the Wirepas stack into the Nordic chips. The Wirepas subsystem is not activated on the gateway when the provisioning subsystem does not find a valid stack on at least one sink. By consequence, the flashing operation can directly start.

cd /opt/scripts # Copy locally the firmware hex file - this is an example wget '<Your URL for the Wirepas hex file>' -O /tmp/wp_fw.hex # flashing the FW to sink1 sudo /opt/scripts/flash_ublox --sink 1 --type wirepas /tmp/wp_fw.hex # flashing the FW to sink2 sudo /opt/scripts/flash_ublox --sink 2 --type wirepas /tmp/wp_fw.hex

 

Here is a example of a successful flash operation:

root@BS191400648:/opt/scripts# /opt/scripts/flash_ublox --sink 1 --type wirepas /tmp/wp_fw.hex Checking chip state Chip is running, halting... Chip is protected state! Programming flash of type <wirepas> with file <wp_fw.hex>. wrote 121312 bytes from file /tmp/wp_fw.hex in 21.538822s (5.500 KiB/s)

After flashing the simplest solution to enable Wirepas is to use the Configuring and testing the Wirepas gateway software | Prerequisite-and-installation .

Flashing the Wirepas sink for upgrade

The procedure is valid for performing a hard upgrade of the chip.

Then perform the following commands while in the /opt/scripts directory.

cd /opt/scripts # sudo chmod +x /opt/scripts/flash # only in case of execution error # If the Wirepas service is already installed the transport (Data) service needs to be stopped as well sudo systemctl stop wirepasTransport1 # sudo systemctl stop wirepasTransport2 (only if activated) # Stop the Wirepas sink service during the firmware upgrade sudo systemctl stop wirepasSink1 sudo systemctl stop wirepasSink2 # Copy locally the firmware hex file - this is an example wget '<Your URL for the Wirepas hex file>' -O /tmp/wp_fw.hex # flashing the FW to sink1 sudo /opt/scripts/flash_ublox --sink 1 --type wirepas /tmp/wp_fw.hex # flashing the FW to sink2 sudo /opt/scripts/flash_ublox --sink 2 --type wirepas /tmp/wp_fw.hex # restart the Wirepas sink services sudo systemctl start wirepasSink1 sudo systemctl start wirepasSink2 # checking if the services are running sudo systemctl status wirepasSink1 sudo systemctl status wirepasSink2

After that operations it is necessary to re-configure the sink with the right values and re-start the transport (data) service. This needs to be done via the web interface: Configuring and testing the Wirepas gateway software | Configuring-the-sink-service-with-Kura .

Once the sink(s) have been configured, then the transport service can be restarted either via the web interface, Or directly via  the systemctl command.

Related pages

SolidRun Ltd.