DIMENSION 4 boot process overview

LED

Boot Process Step

Failure Modes

 

 

 

     

 

 

 

 

 

 

 

1. Obtaining an IP address

 

(a) The sensor loads the firmware from non-volatile memory.  
(b) The firmware reads the sensor’s network configuration from nonvolatile memory, and decides whether to obtain its IP using DHCP or to use statically-assigned IP settings.  
(c) The firmware performs DHCP if required. DHCP Error llll
(d) The firmware sends ARP probes and announcements in accordance with RFC-5227. If the firmware detects an IP address conflict at any point (e.g. by receiving a conflicting ARP probe) then it will reboot. If a CNC is set for the sensor, it will stay in Pending validation state. IP address conflict llll

2. Firmware search for the Configuration Server

 

(a) The firmware reads the search order from non-volatile memory. If the search order has not been configured or has been marked as invalid then a default search order is used.
(b) For each search method, the firmware tries to contact the configuration server, performing needed DNS requests. If the firmware receives a valid response, it goes to the next step, marking the network configuration as valid. Configuration server timeout llll

3. Obtaining boot configuration and software files

 

(a) The firmware reads the boot configuration server’s address from the configuration server’s response.

No boot configuration server registered llll

(b) The firmware sends a request to the boot configuration server, which replies with the version of the software to run, and the address of a boot file server to obtain the software from. If the boot configuration server has the boot trace enabled, it will report Sensor <MAC> requested configuration... Currently the boot configuration server will always send its own address in response to the configuration request, because the boot configuration server also serves as the single boot file server for the system.

Boot configuration server timeout llll

Boot configuration invalid llll

(c)If the correct version of the software is already “flashed” into non- volatile memory, the firmware loads it.

 

(d) Otherwise the firmware requests the software from the boot file server. If the boot file server has the boot trace enabled, it will report messages of the form Sensor <MAC> requested … and then Sensor <MAC> completed request … if the download is successful.

Kernel download timeout llll

File system download timeout llll

 

4. Starting the software and software networking

 

 

(a) The firmware runs the software, telling it whether to use DHCP or the existing static IP information.

 

 

(b) The software performs DHCP if requested and if so it also sends ARP probes and ARP announcements in accordance with RFC-5227.
N.B. If the sensor is using static IP, then no ARP probes or announcements are needed because the IP settings have not changed.

 

 

5. Software configuration

 

 

(a) The software performs a search for the Configuration Server in the same way as the firmware does.  It should not time out because it is repeating the task that succeeded when run from firmware.

Configuration server timeout (no LED sequence)

 

(b) The software reads the address of the location system configuration server from the Core Server’s response, and then registers its MAC address, IP address and the location system parameters it needs to run.

Various errors listed in software fatal errors section

 

(c) The appropriate cellular location system configuration distribution server responds to the sensor with the required location system parameters, including the IP address of the cellular location sink service to send status and location information to.

 

 

6. Firmware/software/network configuration

 

 

(a) The software checks if various diagnostic parameters have been written to the sensor’s non-volatile memory. If not, then the sensor calculates these, writes them to the non-volatile memory and reboots.

 

 

(b) The software checks if there are any pending firmware upgrades. If so, the sensor requests its boot configuration from boot configuration server and verifies that the requested version of firmware is available. The sensor then downloads the firmware from the boot file server, writes it to the non-volatile memory and reboots.

 

 

(c) The sensor performs the same checks as above with the software.

 

 

(d) The software checks if there are any pending changes to the sensor’s network configuration. If so, the sensor writes the updated network configuration to the non-volatile memory and reboots.

 

 

7. Sensor hardware and timing initialization

 

 

(a) The software starts to send periodic status updates. At this stage its status appears as Initializing.

 

 

(b) The software initializes the rest of the hardware, and waits until it gets a stable timing signal, or until it is generating a stable timing signal if it is a timing source.

 

 

(c) The sensor’s status is now Running.  If the sensor_init trace is enabled, the sensor will report Initialisation complete

 

 

(d) The sensor starts to send measurements to the relevant effective master sensor for each tag, and it sends calculated locations back to the appropriate cellular location sink server. 

 

 

(e) If the sensor’s timing signal subsequently becomes unstable or disappears then its status will be set to No Timing Signal, and the LED will go back to the green-orange flashing state.

 

Firmware fatal errors

When you boot your sensor, the firmware stage of the boot sequence can produce a number of errors. When the firmware detects an error, it does not send any trace message, but it flashes its LED in an error sequence:

  1. The red LED is lit for about three seconds.
  2. There is a pause with the LEDs off.
  3. An error code of four LED colors is emitted, repeated six times with pauses in between.
  4. The sensor reboots.

The error codes are listed in the following table.

Status Code Error
DHCP error.

There was an error performing DHCP.

Configuration server timeout.

The sensor cannot find the Ubisense configuration server.

No boot configuration server registered.

There is no configuration parameter _ls_boot_cfg_server which is automatically added by the boot configuration server.

Boot configuration server timeout.

The sensor failed to retrieve its boot configuration from the boot configuration server.

Boot configuration invalid.

The sensor could not understand the response from the boot configuration server.

Kernel download timeout.

The sensor failed to retrieve the kernel from the boot server given in the boot configuration.

File system download timeout.

The sensor failed to retrieve the file system from the boot server given in the boot configuration.

IP conflict.

The sensor detected an IP address conflict and has rebooted.

Internal error #1
Internal error #2
Internal error #3
Internal error #4
Internal error #5
Internal error #6
Internal error #7
Internal error #8
Internal error #9
Internal error #10
Internal error #11
Internal error #12
Internal error #13
Internal error #14
Internal error #15
Internal error #16

Software fatal errors

The software can produce several fatal errors. These are indicated by sending a trace message using the standard Ubisense tracing support.  These trace messages all start with “<MAC>: fatal:” followed by a descriptive section explaining the nature of the error.

The following errors might be seen if sensors are booting whilst services are being restarted. If the error appears transiently and the sensor recovers after rebooting then there is no cause for concern.

A complete list of errors is given in DIMENSION4 trace messages.

Possible sensor errors

fatal: Config establish timeout. Sensor will now reboot.
fatal: Config registration request failed (server at config_server_address ) response: incompatible configuration request. Sensor will now reboot.
fatal: Config registration request failed (server at config_server_address ) response: MAC mac() is not known. Sensor will now reboot.
fatal: Config registration request failed (server at config_server_address ). Sensor will now reboot.
fatal: Failed software upgrade: downloaded kernel size mismatch, expected available_kernel_size but file is kernel_buffer.written_size() . Sensor will now reboot.
fatal: Failed to download file  filename  from boot_server_address for operation upgrade. Sensor will now reboot.
fatal: Failed to retrieve boot configuration from boot_config_address for operation upgrade. Sensor will now reboot.
fatal: Firmware version mismatch: intended version is desired_version , but server at boot_server_address reports available version is available_version . Sensor will now reboot.
fatal: No Location System Configuration Server registered. Sensor will now reboot.
fatal: Software version mismatch: intended version is desired_kernel / desired_fs , but server at boot_server_address reports available version is available_kernel_version / available_fs_version . Sensor will now reboot.
fatal: Unable to perform operation upgrade due to missing boot config server parameter in configuration. Sensor will now reboot.

For other trace messages, see DIMENSION4 trace messages.