# Apex OS Release Notes

# Apex 21.42.1 (2021-10-04) - Latest (opens new window)

Compatible SyrusJS version 1.34.0 or newer

  • Fixed the ssl issue which caused the Apex OS updates to fail
  • Enabled, the validation of the ssl certificate when downloading files for updates
  • Added, start-shell and send-message as new options in the syrus-apps-manager tool
  • Improved, the BIST modem test
  • Improved, the BIST rs232 test
  • Added, an option to set the data files structure when device starts for the first time
  • Changed, the state key value in the status response; now it is lowercase, it was done in apx-ethernet, apx-wifi, and apx-hotspot tools
  • Improved, the mechanism for restarting the SOC when a device is under provisioning. Microchip 1.0.12
  • Added, openssl to Apex OS
  • Added, disk cleaner
  • Changed, the size of the APEX partitions in order to have more space on the operating system. It is only done on devices provisioned with SD card or Syrprod
  • Changed, The UI and the syrus API to support the breaking changes in BT, WIFI, HOTSPOT and ETHERNET sections
  • Changed: apx-bt now accepts getopt --long option format arguments.
  • Changed: The format of what is printed within the apx-bt help message.
  • Implemented: Now can request a list of BLE connected and recently disconnected devices with the new action, apx-bt ble_status.
  • Changed: The redis channel from bluetooth/user_apps_console/MESSAGE to bluetooth/messages/user_apps_console.
  • Changed: The value of call-button to call.
  • Changed: The key of button-multiplier to action_multiplier.
  • Changed: The key audioroutedto to audio_routed
  • Added the mechanism to set apex clock when the OS is shutting down
  • Fixed the LAC issue in the json response returned by apx-mdm state
  • Implemented: syrus-ndm util_configure_ethernet now uses jsmn to properly identify if eth0 is enabled and if the correct ip is used.
  • Added, the Video Streaming mechanism
  • Improved, some video mechanisms.
  • Added, stream command to notify the core app for a start or stop the streaming.
  • Changed, 10 seconds were substracted in apx-video status and apx-video timeline from the "from" key value
  • Improved, notify and help in apx-video record command
  • Improved, the following apex tools in order them to receive flags; the help section was also changed and now every tool returns its version:
  • Improved, the status response returned by apx-hotspot status
  • Fixed, a bug in the initialization of video core application when the cameras array was empty in the config file
  • Fixed. the streaming state setting bug
  • Added, the initialization of disk_cleaner to monitor the video events folder space
  • Fixed, some details in the Bluetooth and video UI sections
  • Fixed: syrus-ndm util_configure_ethernet now properly handles when the ip field is empty from apx-ethernet status.
  • Fixed, dns and gateway were not properly read when returning apx-ethernet status
  • Fixed, the MENDER variable that specifies the available space in the root file system partition. It causes the root file system to have more available space

# Apex 21.40.1 (2021-10-04) - Latest (opens new window)

Compatible SyrusJS version 1.34.0 or newer

  • Due to an SSL incompatibility issue, the following release (21.40.1) was created. To update you must use the following command:
$ apx-os-update force https://syrus4.dctserver.com/apex/releases/apex-21.40.1
  • Fixed, apx-video tool was not adding cameras
  • Fixed, video application was crashing after removing cameras
  • Fixed, the performance issue when BT and Wifi were enabled at the same time
  • Decreased: the wl18xx interface clock from 50MHz to 5MHz
  • Improved, the way to restore the routing table when an interface becomes available
  • Improved, syrus-video diagnostic logs levels
  • Fixed, the compability of apx-ecu when it receives arguments
  • Removed, the validation of the ssl certificate when downloading the Apex latest version file
  • Removed, the validation of the ssl certificate when downloading a syrus cloud script
  • Removed, the validation of the ssl certificate when downloading the file that contains the latest version of a customer application
  • Added, the mechanism to check the wifi fallback when activated via apx-hotspot tool
  • Implemented: syrus-ndm now saves status related information in the Redis hash table video_current_state. The statuses saved are: DISCONNECTED, CONNECTED, and FAILURE_TO_CREATE_SOCKET
  • Implemented: syrus-ndm publishes a JSON containing the connection status, the ip from which the device connected from, and the port used to ndm/notification/mdsm7/update whenever mdsm7 connects or disconnects
  • Changed: In the JSON published when a syrus-ndm video clip is saved, the value of the key “state” was changed from ready to CLIP_READY
  • Changed: The name of the channel used to publish mdsm7 video clips related events is now ndm/notification/mdsm7/event
  • Improved, the nodejs start time, it was pre-compiled
  • Changed, the apx-wifi tool , now it accepts flags
  • Changed, the apx-wifi help information
  • Fixed, the error returning SSIDs with spaces at the end
  • Added, priority when adding a new wifi network
  • Improved, the apx-wifi status option, now it always includes the mac address
  • Changed, the apx-hotspot tool, now it accepts flags
  • Changed, the apx-hotspot help information
  • Added, the apx-hotspot option for starting a wifi fallback
  • Changed, the apx-ethernet tool, now it accepts flags
  • Changed, the apx-ethernet help information
  • Improved, the apx-ethernet status option, now it returns more information

# Apex 21.37.2 (2021-09-21) - Latest (opens new window)

Compatible SyrusJS version 1.34.0 or newer

  • Improved wifi and bluetooth performance when both modes are in use
  • Improved, the way to check internet connection with ppp interface, now it is only tested if the ppp interface is being used
  • Added, the way to check if video camera supports audio
  • Added, audio to the video clips
  • Added, the mechanism to notify that the BT speaker call button was pressed
  • Fixed, hostname was not set when IMEI was not available. It happens when apex emmc is flashed
  • Fixed, the initialization of always on flag for syrus-watcher
  • Added, the integration of dashcam
  • APX0038: Improved, the routine to turn the modem on
  • Fixed, empty list error on wifi state
  • Improved, the value reported for cpu usage, sometimes it reported values above 100%
  • Added, config level to the apx-logger
  • Fixed, the re initialization of the gstreamer pipeline when it ended abruptly
  • Changed, the video application to support the new data structure in video file names
  • Changed, the format of the ECU configuration file
  • Added, the first version of network device manager. It supports mdsm-7 device for video events
  • Added, the apx-ext-memory tool for formatting external storage devices
  • Changed, the folder name where video events are stored
  • Changed, the UI ecu monitor section in order it to use the ECU monitor component
  • Improved, the UI Ethernet section
  • Improved, The apex system logs

# Apex 21.28.1 (2021-07-14)

  • Removed, syrus-buffer-manager and syrus-event-manager
  • Added, driver for realtek USB-wifi dongle
  • Added, drivers for USB-Bluetooth dongles
  • Improved, file browser look and feel in the management tool
  • Added, the mechanism for reading ECU parameters in inverse order
  • Improved, the multi threading for gstreamer pipelines in syrus-video
  • Improved, the mechanism for taking clips in syrus-video
  • Fixed, the examples typed in the apx-watcher tool help

# Apex 21.25.1 (2021-06-30)

Compatible SyrusJS version 1.32.11 or newer

  • Changed, the default time for switching sim card when no connection, it changed from 8 to 4 hours
  • Added, the way to change the BT advertise name
  • Changed, the default state of BT app, now it starts doing advertising during 5 minutes
  • Added to syrus watcher the mechanism for supporting always on connection with syrus cloud
  • Added the option for configuring always on flag for syrus watcher application
  • Added, the mechanism for restarting the hotspot mode when no clients are connected
  • Added, apx-ecu decode option for j1939 diagnostic codes
  • Added, ecu definition files for movon and mobileye
  • Added, the first version of video application, it includes the history buffer, the creation of video clips and the UI section. This is a BETA version
  • Added, apx-video tool
  • Added, PSM profile used by syrus cloud
  • Added, serial profile used by syrus cloud
  • Changed, the range of ip addresses that the hotspot assignates in automatic way. Now it is from to If the user needs to work with static ip address, the user can use from to
  • Added, gstreamer version 1.18.4
  • Reduced, the ping time for fatigue sensor, it changed from 5 to 2 seconds
  • Improved, ecu monitor application, now it includes the way to interact with can accesories (movon, mobileye, etc) based on the configuration file
  • Added, file browser in the UI section
  • Added, the mechanism for switching the network interface when the device losses internet access
  • Added, tree to the apex OS
  • Added, the motd for the ssh welcome message
  • Changed, the look and feel for ssh sessions
  • Added, ll as alias for ls -lF
  • Improved, the serial modem state response for being used by apx-system full_state
  • Increased, the max size of the response returned to syrus cloud, it changed from 2000 to 4000 characters
  • Added, the instruction to remove the hash code for geofences files when they are removed
  • Added, the instruction to set redis as owner of /data/users/redis after the OS upgrade

# Apex 21.17.3 (2021-04-30)

  • Added, python3 and nodejs 12
  • MDT-001: The first commit of mdt application
  • Fixed, the state of the custom applications were not preserved between updates
  • Fixed, the format of the json returned by apx-about when an SD card was inserted and it had a folder called root
  • Added, mdns to the network configuration to support the network access using the hostname
  • Added, the md5 code for configuration files in the apx-system full-state option
  • Added, cronie, mdns, gsoap and x264 packages to the Apex OS
  • Added, redis monitor to the core instance in order syrus4g user can monitor the redis debug
  • Changed, the name and the path for ecumonitor configuration file
  • Fixed, a typo in the start/stop option for syrus-apps-manager
  • Added: A ping command that is to be used to maintain a keep alive connection between a BLE device and the Syrus 4 unit
  • Fixed: J1939 parameter parser now handles the case if there is no space between the value and the ‘:’ delimiter. Without this, ecumonitor would ignore the value and load nothing for the key for the parameter line
  • Changed: Ecumonitor no longer uses j1939_params file. Now it uses ecumonitor.conf file which is stored in the desktop for syrus4g user. /data/users/syrus4g/ecumonitor
  • Implemented: Constantly monitors ecumonitor.conf file and on any change done, it will calculate the MD5 hash of the file
  • Added, the ability for dispatching events depending on destination points in the event-generator and buffer-manager apps
  • Increased, the memory reserved for event-generator app
  • Fixed: The algorithm to compute the circular geofences was fixed. It was erroneously reporting the “inside” event.
  • Added: MD5 hash code calculation for the geofences files.
  • Fixed: Options “count”, “count namespace”, and “getall namespace” were returning the wrong number of geofences when there were namespaces with the same prefix (i.e. test, test3, test4)
  • Added: A maximum limit of 20kms for the radius of a circular geofence
  • Added: MD5 hash code for the geofences file that are manipulated through the apx-geofences tool
  • Increase the size of the namespace for tracking criteria. It was increased from 30 to 60 characters
  • Improved, the way to refresh data in the UI mobile section
  • Fixed, the json returned by apx-mdm state when the CID starts by 0
  • Changed: The name for the onewire white list file. Now they are ibutton.onewire.conf and temperature.onewire.conf respectively.
  • Implemented: Saves an MD5 hash of the onewire configuration files when any modification is experienced on any of these files.
  • Added, the option for sending data through the serial port
  • Increased, the memory reserved for watcher service. Now it is used for synchronizing syrus cloud profiles

# Apex 21.12.2 (2021-03-24)

  • Added, Bluetooth as destination point and device console
  • Changed, the exit code returned by syrus-apps-manager when the application is already installed. Now code 0 is returned
  • Added, the cloud state to the device shadow
  • Added, syrus-apps-manager option to set a hash code for applications states
  • Added, geofences evaluation to event generator
  • Added, the way to add a custom script at the end of the apex initialization script
  • Fixed, error strings were not returned to syrus cloud console
  • Removed, ffmpeg
  • Added, lftp
  • Added, wvdial

# Apex 21.10.4 (2021-03-15)

  • Fixed, UI ecu monitor section, some pgn values were not shown

# Apex 21.10.2 (2021-03-11)

Compatible SyrusJS version 1.31.7 or newer

  • FS-001: Added, all the options to support fatigue_sensor mode
  • Fixed, the run cloud script was not returning the exit code
  • Added, the first version of syrus-event-generator
  • Added, the fisrt version of buffer manager
  • Added, the instruction for validating the min apex version when installing an application
  • Changed the syrus-apps-manager start/stop options, now it enables and disables the service
  • Fixed, big geofences files were not uploaded by using the UI
  • Fixed, the tts tool could remain returning audio in progress
  • Fixed, the reboot option when it was sent from a remote source, the OS stayed rebooting all the time
  • Added, fatigue sensor to the serial section in the UI
  • Added, ibutton and temperature on the onewire section in the UI

# Apex 21.06.0 (2021-02-10)

  • Fixed, syrus-api was returning an error when no applications installed
  • Improved, the UI section to edit configuration files and check application logs
  • Improved, the port-forwarding tool, add and delete options were included
  • Improved, apx-system option to organize the data partition files, it also creates the /data folders structure. The option changed from set_owner to set_data_files
  • Fixed, apx-bt was failing to return the current state of the BT interface. It starts failing on apex-21.04
  • Added, nano and json-c to the apex OS
  • Added, the run-cloud-script tool used for syrus cloud to execute remote scripts

# Apex 21.05.0 (2021-02-05)

  • Changed, the json key for reporting battery warnings to syrus cloud
  • Install the UI as syrus4g user
  • Install the syrus-api as syrus4g user
  • Added, terminal section in the User interface
  • Fixed, the syrus-apps-manager list-instances option
  • Changed, redis version from 5 to 6
  • Changed, the way to authenticate the redis connection for core applications
  • Fixed, documentation about send_sms option in the apx-mdm tool
  • Added, a condition for allowing syrus4g user to use systemctl for custom apex apps
  • Added, an instruction for allowing syrus4g to use port-forwarding tool
  • Added, apx-cfg package for adding some configuration files to apex OS
  • Added, syrus-apps-manager package. It is replacing the old apx-apps tool
  • Added, an option in the apx-system tool for setting the /data owner for syrus4g files
  • Deprecated, apx-apps tool, now it is installed as syrus-apps-manager as part of the syrus-apps package
  • Add an script for forwarding ports
  • Removed, iptables --flush in order it doesn't clear the port forwarding rules previosly configured
  • Changed, net-notifier as apx-tool application
  • Added, an instruction for calling the script that organizes the /data partition owner for syrus4g files. It is called when the Apex OS is updated
  • Changed, the instruction for setting the custom apps symlinks when the Apex OS is updated
  • Removed, apx-app@.service template and net-notifier from apx-start package
  • Add a new package for installing configuration files

# Apex 21.03.0 (2021-01-24)

  • Implemented: A command to extract the status of the onewire core application. This command is status. Returns JSON with a value of 0 for normal operation and -1 for suspected error in the onewire bus.
  • Changed: The add function to properly disregard duplicate onewire devices so that they are not added to the white list.
  • Changed: Now the tool forces alias and device IDs to use lower case letters.
  • Implemented: A working remove functionality for the tool. This remove allows the tool to remove lines from the whitelist.txt regardless of their position also if the lines are terminated with CR+LF or just LF.
  • Changed: The way the reset function works within the tool. Tool now uses systemctl to restart the onewire core application instead of the core application calling systemctl inside itself.
  • Implemented: A command that returns the version of both the tool and the core application.
  • Changed: The order in which tasks for onewire state machine are done. This is done to avoid missing devices that are already connected to the onewire bus. This is because when loading onewire devices that are already connected when S4 restarts, not all of the connected devices appear in the list of w1_master_slaves. Resulting in missing devices that are connected, but not loaded into the onewire application. Set up for udev is now done before loading devices found in w1_master_slaves.
  • Implemented: The utility to call the apx-logger function to announce to SyrusCloud when a possible problem exists on the onewire bus.
  • Changed: When S4 restarts and a onewire device that was already connected to the onewire bus is detected again; the original connection epoch doesn’t get overwritten or lost.
  • Changed: Made it so that onewire information of the last connected device is saved differently so that the get_last function of the apx-onewire tool no longer depends on the onewire device existing in the white list.
  • Changed: Core application now correctly lets the tool restart the application.
  • Fixed: There was an issue that caused applications to get stuck in an infinite loop when the maximum number of onewire devices was reached.
  • Fixed: Application was not able to search its internal list when the maximum number of onewire devices was reached.
  • Added, netcat-openbsd for supporting unit sockets
  • Improve, README file in the apex yocto repository
  • Added, releases.md document in the apex yocto repository

# Apex 21.02.0 (2021-01-14)

  • Fixed, the apx-serial modem state response when modem mode is not used
  • Improved, the UI mobile section for phone book
  • Fixed, the execution of syrus-cloud messages when the message length was greater than 100 characters
  • Added, apx-mdm restart command to execute a software reset
  • Deprecated, apx-mdm modem_reset command
  • Changed, the name of the redis channel used to receive the comand for restarting the modem device
  • Added, the redis notifications for publishing changes in the modem state variables
  • Added, a routine for updating the NO_CONN_TIME value returned by apx-mdm state command
  • Changed, the redis config files for disabling replicaof command
  • Added, mobile package to the syrus API

# Apex 20.52.1 (2021-01-13)

  • Improved, the way to get i-button state when using apx-onewire ibutton get_all command

# Apex 20.51.4 (2020-12-18)

  • Fixed, security leak when using exec option in the syrus API
  • Added, support for syrus 4 nodejs 0.43.0
  • Added, cell id, local area code, keep alive and sim sw interval in the UI mobile section
  • Added, onewire temperature notifications every 0.5 degrees
  • Added, the mechanism for saving in redis the last state of the i-buttons connected
  • Fixed, apx-rssh start command was printing on console the service assigned
  • Improved, the mechanism to get the upgrade progress
  • Added, buffer state and buffer count to apx-serial modem state
  • Improved, apex-onewire documentation
  • Added, 81 family to i-buttons
  • Fixed, cmd-wrapper when receiving escaped quotation marks
  • Improved, apx-serial documentation

# Apex 20.51.2 (2020-12-15)

syrus-serial app

  • Changed, the way to pass the length of data to the serial write function
  • Added, the way to return a redis array response in the ut_redis_cmd function
  • Added, the function to receive redis notifications
  • Added, the instructions to attend redis notifications
  • Added, the way to restart the task when mode changes
  • Added, the mechanism for reading the modem buffer and sending events to the modem device syrus-onewire app
  • Added, the first commit for onewire application syrus-mdm app
  • Fixed, the apn auto provisioning for wireless sim cards
  • Added, the options for sending messages and clear buffer
  • Added, the mechanism for restricting access to SMS
  • Changed, the format for receiving SMS
  • Improved, the json responses for apx-mdm tool
  • Added, state to the help option in the apx-mdm tool
  • Improved, send_sms option Apex OS
  • Removed, kernel drivers for bk27xxx
  • Added, kernel drivers for one wire temperature sensors
  • Added, the first commit for syrus-serial app

# Apex 20.49.3 (2020-12-07)

  • Fixed, apx-bt modem_audio option, it was not returning the "audio not routed" error
  • Fixed, cell id notification
  • Added, voice call notifications
  • Improved, the command for starting calls
  • Removed, the logger called log

# Apex 20.49.2 (2020-12-06)

  • Added, the routines for attending the following redis messages in the syrus-mdm app:
    • SEND_SMS
    • END_CALL
  • Added, local area code to modem_information hash
  • Added, cell id to modem_information hash
  • Added, the routines for attending SMS and voice calls URCs
  • Improved, the initialization routine for the syrus-mdm app
  • Added, the mechanism to answer, star and end voice calls
  • Fixed, sometimes shadow file were not correctly set
  • Changed UVLO PMIC threshold from 3.3 to 2.73 volts
  • Added, apex tools 1.1.6
  • Fixed, the battery object in the json returned by apx-system
  • Fixed, the error when command length is overpassed
  • Improved,the routines for electrical issues when starting the apex OS. It was released on uchip 1.0.11T
  • Fixed, redis-core-cli, it was not allowing values with spaces
  • Removed, reboot as command for syrus4g user
  • FIxed, the structure of the json object returned by apx-ecu tool
  • Added, position to apx-gps tool
  • Improved, the apx-logger use
  • Improved, the routines for starting the apex OS
  • Added, gsm flag to restrict the use of sms
  • Added, a redis publish to call and sms validation flags
  • Added, the way to mask wireless APN
  • Added, the way to auto configure APN for wireless sim-cards
  • Added, the way to delete geofence namespaces
  • Improved, apx-logger, now it is a one instance script
  • Increased, the AT command default and max timeout
  • Increased, the watchdog time in order to support AT commands with long delay
  • Removed, NoNewPrivileges in order to use the cmd-wrapper in syrus-watcher app service
  • Added, an option for sending at commands
  • Fixed, the global epoch was not being correctly set in the shadow file

# Apex 20.48.1 (2020-11-26)

  • Increased, apx-tools version
  • Changed, the redis variable for ethernet power flag
  • Added, the initialization for ethernet routing
  • Changed, the instruction for turning on the red led when apex starts
  • Added, apx-ethernet route option for sharing internet connection
  • Changed, the redis variable for saving ethernet power flag
  • Improved, the apx-hotspot state response
  • Added, a restriction to avoid turning on/off the red led
  • Reduced, the watchdog time from 10 to 3 minutes in the uchip code
  • Improved, ecu logs
  • Added, an option for deleting geo namespaces
  • Added, last will and testament message in the syrus-watcher app
  • Added, diagnostic messages for connection state
  • Added, an instruction to open the mqtt connection when syrus-watcher application starts
  • Added, system warnings
  • Changed, diagnostic messages for apex updating process
  • Added, update as syrus-logger level
  • Improved, some instructions were reduced

# Apex 20.47.4 (2020-11-19)

  • Changed, README file
  • Changed, configuration files
  • Fixed, system reset button in the UI
  • Improved, ecu log UI
  • Fixed, redis core migrate app, it was not migrating the psm configuration

# Apex 20.47.3 (2020-11-17)

  • Fixed, syrus interface was throwing OOM when electrical reset due to the use of apx-logger

# Apex 20.47.2 (2020-11-17)

  • Fixed, the case where start script changed the system name without IMEI
  • Improved, upgrade messages sent to the syrus-cloud

# Apex 20.47.1 (2020-11-17)

  • Fixed, apx-tts was cancelling the audio output when it was called twice at the same time
  • Improved, json responses for syrus-bt
  • Fixed, json responses for syrus-ecu
  • Fixed, json responses
  • Improved, apex upgrade diagnostic messages
  • Improved, syrus-watcher json parser
  • Added, username and password for mqtt connection

# Apex 20.46.2 (2020-11-14)

  • Fixed, apx-mdm help typo
  • Added, UI 0.13.1
  • Added, all the changes for supporting the new redis instance
  • Added, the way to disable syrus-watcher task
  • Added, apx-watcher tool for configuring the connection time with syrus cloud
  • Changed, the name of the hash set used for syrus-watcher buffer
  • Added, apex-modem state to the apex API
  • Added, the redis-core instance
  • Added, the session counter to apx-about message
  • Added, the option for creating application symlinks in apx-apps tool
  • Added, restart option on apx-system tool for restarting syrus units
  • Added, the custom applications object to full_system state
  • Added, the application for migrating redis to redis-core instance
  • Changed, the initialization order when device is upgraded, mender commit is the latest instruction
  • Added, dstat and ti-bt-tools
  • Changed, the name of the package for adding TI bluetooth tools
  • Added, state to apx-modem tool
  • Added, the task for monitoring the system resources
  • Added, the APEX OS session counter

# Apex 20.45.2 (2020-11-09)

  • Changed, mender-reboot by mender-watcher
  • Added, network link for syrus-cloud diagnostic messages
  • Improved, apx-apps documentation
  • Fixed, an issue when creating instances
  • Added, the way to report the update progress
  • Added, the state option to apx-os-update tool
  • Added, the way to restart syrus services
  • Added, the way to notify the apex OS update progress
  • Changed, the name of mender-reboot by mender-watcher
  • Fixed, tracking notifications when the tracking name was greater than 20
  • Added, a mechanism for erasing mqtt queue files when service is breaking down

# Apex 20.45.1 (2020-11-06)

  • Added, the instruction for creating the /data/installed folder
  • Changed, the apx-apps tool for supporting multiple application instances
  • Added, another instance for redis
  • Added, apps-manager for supporting multiple application instances
  • Fixed, some typos in the apx-apps tool help
  • Added, the new UI view for application instances
  • Fixed, an unexpected reset when power saving mode is activated by under voltage
  • Changed, the apx commands for managing the sim card
  • Added, the mechanism for turning off the OS when the battery voltage is critically low - Added, the number of retries to turn on the SOC by the uchip to the syruscloud diagnostic message
  • Improved, the main task for avoiding possible blocks when using the 2 CAN interfaces
  • Improved, the notifications associated with BT actions
  • Improved, the apex-bt info_all, now it only includes information about the last devices scanned
  • Added, apx-bt history that returns information about all devices discovered
  • Fixed, the instruction for sending commands as syrus4g user
  • Changed, the way to set in background the rssh connect, now a new service is started
  • Added, progress percentage to apx-os-update
  • Changed, the way to set in background the mender process, now a new service is started
  • Changed, the apex command for managing the sim card

# Apex 20.44.3 (2020-10-30)

  • Added, uchip version to full system state
  • Added, a bash script for wrapping system commands, it is used by the applications that receive external commands as syrus-watcher
  • Improved, the responses returned by bluetooth application
  • Fixed, geofences manager was not supporting big files
  • Fixed, apx-io response when redis hash is not complete
  • UI 0.10.6
  • Improved, UI bluetooth section
  • Fixed, duplicated information panel in geofences UI
  • Added, the way to receive no apex commands via MQTT
  • Added, the network link to diagnostic messages

# Apex 20.44.2 (2020-10-27)

  • Fixed, apx-rssh was not opening the connection due to the system name changed

# Apex 20.44.01 (2020-10-27)

  • Fixed, some json key-value pairs were transmitted with a not valid format to the syrus-cloud
  • Added, the full state epoch to the diagnostic message
  • Increased, the buffer limit for supporting up to 100 messages
  • Fixed, a versioning issue
  • Added, an instruction for saving the full state epoch
  • Added, UI geofences section
  • Improved, some english texts in the UI
  • Improved, the state machine behavior when the modem does not respond to AT commands
  • Changed, the apx-io tool now returns json
  • Fixed, psm configuration did not receive IN6 and SO4
  • Added, geofences manager
  • Fixed, geofences tool was not returning the radius for circular geofences
  • Fixed a bug where CAN interface would restart after too many CAN bus errors. This needed to fixed as it CAN would become unusable after too many restarts
  • SOURCE_ADDRESS and SOURCE_INTERFACE are added to j1939_params file parser
  • CONFIGURE command now correctly works.
  • No longer will publish empty strings with redis or attempt to hmset empty arguments when there is no valid data.
  • Implementation of j1939 protocol using secondary CAN.
  • Fixed, apx-ecu typos in help message.
  • Added a missing fclose() in log function.
  • Added, log option for ecu tool
  • Added, the option for turning on/off the bluetooth module
  • Added, the systemd watchdog mechanism
  • Added, the geofences module
  • Changed, the way to read inputs, outputs and analogs, the apx-io now returns json
  • Changed, the default trigger for system leds
  • Added, lz4 library
  • Added, the instruction for disabling the su command for non-root users
  • Added, uchip 1.0.8T - Improved, the routine for turning on the SOC
  • Improved, the system clock backup when SOC is in low power mode
  • Added, Apex tools 1.1.0
  • Disabled, the apx-wl-pwr off option, the wl1835 is not a removable module
  • Fixed, sometimes the apx-user tool did not validate the user due to an issue with the shadow file
  • Added, one buffer event for text to speech
  • Fixed, some json key-value pairs were transmitted with a not valid format
  • Added, an option for setting the system name
  • Added, a new error message is returned when the rssh port is not assigned
  • Fixed, apx-hotspot stop returned an error when interface was already down
  • Added, the mechanism for logging when the device changes its network link
  • Removed, the instruction for turning on the wl1835 module depending on BT_MODE variable
  • Added, the instruction for updating uchip
  • Added, the instruction for changing the system name
  • Added, a mechanism for validating the json response before being transmitted
  • Added, an instruction for restarting the periodic connection reference time
  • Added, a mechanism for closing the MQTT connection by demand
  • Changed, the MQTT clean session flag for buffering messages in the MQTT server

# Apex 20.41-rc.1 (2020-10-05)

  • Changed, the initialization of PCM in bluetooth application, now it gives priority to SOC audio
  • Improved, the bluetooth connection with the BT speaker when SOC is electrically restarted
  • Added, the AT commands for SMS initialization
  • Added, the mechanism for sending and reading SMS
  • Added, the function for parsing AT commands
  • Changed, the MQTT client persistence type from NONE to DEFAULT

# SyrusJS Release Notes

# v1.34.0 Latest (opens new window)

Changes that bump up the Apex version

Compatible apx core versions

Applications              (apps): 0.0.2
Bluetooth                   (bt): 1.1.8
Counters              (counters): 1.0.6
ECU                        (ecu): 2.0.3
Geofences            (geofences): 1.0.2
GNSS                       (gps): 1.3.1
Inertial Measurement Unit  (imu): 1.1.1
Interface            (interface): 1.0.8
Modem                      (mdm): 1.3.5-r0.1
Net Devices Manager        (ndm): 0.0.8
Onewire                (onewire): 1.0.2
Serial                  (serial): 0.2.2
Video                    (video): 0.3.18
Watcher                (watcher): 0.2.5


  • Updated codebase to use new ECU.d structure, fixes an error with taip value for ecu_distance, tag ;OD
  • Support for mdsm7 fatigue signals (prefix with @fatigue_sensor. or @mdsm7.fatigue_sensor.)

# either signal will work
define event fatigue_distraction fieldset=defeault ack=seq group=fatigue label=distract trigger=@mdsm7.fatigue_sensor.distraction
define event fatigue_distraction fieldset=defeault ack=seq group=fatigue label=distract trigger=@fatigue_sensor.distraction


  • BT destination point support define destination bluetooth_d taip bluetooth://_:_ ack=disabled
  • BT call button signals @bluetooth.button.call_2x @bluetooth.button.signal
  • BT destination points retry indefinitely until apx-bt returns successful, and messages are acknowledged where applicable

Signal, variable and value improvementsset [variable|value] [name] [value] infers type (true, false, number, string) ​ set variable new_var "lorem" or set variable new_var lorem

{{$variables.new_var}} = 'lorem'

set variable new_var "lorem ipsum"

{{$variables.new_var}} = 'lorem ipsum'

set value $gnss.latitude == 25.123456 (works for any non internal signal (non @ signals)) ​ fire signal signal_name does not require @ as prefix ​ Changes

  • ;IB | ;IS: iButton Syrus 3 compatibility fix
  • ;EA: tag temperature field no separator
  • ;AW: tag sends empty value for analog input values instead of *, changed reported position of differential input1/2 in taip ;AW tag to position 9
  • >SSL... | >SXAEC::...: do not requiere an ;ID or ;SI when sent remotely to the device
  • >QSSIP#< fixed response
>SSLget events<
>SXAEC::apx-gps state<


  • http destinations respect url schema
  • long commands can be split into multiple lines
define counters globals speed_threshold=100kph
define fieldset default
define action ac_start_ign_on trigger=sg_ign_on
	set tracking_resolution move 3min 35deg
define action ac_start_ign_off trigger=sg_ign_off
	set tracking_resolution stop 12hr
  • actions can have multiple commands (requires indentation)
define action ac_my_action trigger=ignitionOn
	set variable driver "john smith"
	set output2 on
	create video --name={{$gnss.timestamp}}_cornering_left --time_win=-30,+10

# v1.32.11


  • Improved ack support for TAIP/tcp, supported modes are imei(default), disabled and seq
  • ECU Errors, SPI, FMI, OC, SM and MIL supported
  • ECU events supports signals, see the respective pgn in the SDK ECU.d
  • ECU distance taip tag added missing multiplier
  • ECU added taip_multiplier to engine pressure values reported as kPa to convert to PSI
  • MOVON and Mobileye support, loaded from internal json files.
  • Fixed, queues are loaded in proper order
  • Improved callbacks for TCP

# v1.31.7

Fatigue Sensor support


  • @fatigue_sensor.fatigue_remind
  • @fatigue_sensor.fatigue_warning
  • @fatigue_sensor.fatigue_alarm
  • @fatigue_sensor.distraction
  • @fatigue_sensor.no_portrait
  • @fatigue_sensor.photo
define event fatigue_remind fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.fatigue_remind label=remind trigger=@fatigue_sensor.fatigue_remind
define event fatigue_warning fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.fatigue_warning label=warning trigger=@fatigue_sensor.fatigue_warning
define event fatigue_alarm fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.fatigue_alarm label=alarm trigger=@fatigue_sensor.fatigue_alarm
define event fatigue_distraction fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.distraction label=distract trigger=@fatigue_sensor.distraction
define event fatigue_no_driver fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.no_portrait label=no_driver trigger=@fatigue_sensor.no_portrait
define event fatigue_photo_captured fieldset=defeault ack=seq group=fatigue photo=fatigue_sensor.photo label=photo trigger=@fatigue_sensor.photo

MDT support

  • @mdt.message signal is required on the trigger to use the message, it's recommended that you do not mix this with other signals

define event mdt group=mdt fieldset=default code=0 trigger=@mdt.message
  • TAIP: STX is now reserved for MDT, use SSL for sending syruslang commands


  • false|true|Number are parsed as their respective types, not as strings (eg repeated=false)
  • min_duration improvements
  • improved signal propagation

# v1.30.1

TPMS support

Signals supported

  • @tpms.alarm_ok
  • @tpms.sensor_mute
  • @tpms.sensor_defective
  • @tpms.tire_leak
  • @tpms.temperature_warning
  • @tpms.over_inflation_critical
  • @tpms.over_inflation_warning
  • @tpms.under_inflation_warning
  • @tpms.under_inflation_critical
Last Updated: 10/25/2021, 12:40:34 PM