Author Archives for Kevin Cloutier

















Name Version Release Date Size MD5
Tasker v3.3 Jul 30 2020 1 MB 5783b3bda071222b48775e5ffb9e4b3d
  • [+] adding duplicate instance check
  • [+] variables that start with :: shall be global
  • [+] add TCP Recv
  • [+] add TCP Close
  • [+] new execute script action
  • [+] uses new scripting engine
  • [!] fixed issue where dst timezone was not being logged
  • [+] adding action to prepend to file
  • [+] adding retry logic to external identifier objects. included creating external identifier parent class
  • [+] adding action to copy file
  • [+] adding action to move file
  • [+] add ascii tcp and serial servers for tasker control
  • [~] now preventing spaces in workspace names. current workspace files with spaces will be renamed with an UNDERSCORE

Go to the Tasker Application page for more information. The Tasker Knowledge-base has helpful information on how to use the features in Tasker.

Tasker 3.2 June 18, 2020

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

Go to the Tasker Application page for more information. The Tasker Knowledge-base has helpful information on how to use the features in Tasker.

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

Go to the Tasker Application page for more information. The Tasker Knowledge-base has helpful information on how to use the features in Tasker.

Tasker 3.0 RELEASED! April 20, 2020

It has been a while since Tasker was released. Tasker was a quick attempt at making a replacement for the Task Manager application that has been around for more than a decade, starting on the Series 3.

Ample time has now been taken to create a fully capable application that will be every bit as functional as Task Manager but offer the benefits of a rewrite, using configuration files and the latest web technology.

Some of the changes and new features are as follows:

  • Faster– The tasks are executed much faster and the triggers and schedule are monitored in real-time instead of once every 5 – 10 seconds.
  • Workspaces - Separate configuration logic into multiple workspaces. Then multiple workspaces can be loaded on the JNIOR at the same time.
  • Tasks are now separate from triggers. In Task Manager a Task was created and a Trigger was configured to get the Task to execute. In Tasker 3.0 Tasks are a separate entity that can be executed several different way including manual execution from the configuration page and being requested via an ASCII TCP connection.
  • Tasks can now send data via an Ethernet connection. To do this, a Device must be created so that the action can specify which device to send the data to. Multiple devices can be configured.
  • New Actions – We implemented actions that were previously available in Task Manager but are introducing many new actions like external module control, TCP communication and control structures.
  • Drag n Drop – Drag and Drop functionality makes it easier to design your Task logic.
  • Signals are now created to assign a specific property of a I/O point or sensor a name. The name can then be used in Tasks, Triggers or Loggers.
  • Loggers can be created to define the file name and schema or what data should be logged to that file. Each line in a Logger will be prepended with a timestamp followed by a comma. Loggers also allow you to define the number of files that should be kept with the given naming pattern. Name patterns can include date patterns. This will help you create a file per day for example.
  • Schedule – The schedule has additional options.
  • JSON Configuration files are used now instead of registry keys. Registry keys were limiting in size. The Series 3 could only store 255 characters in a registry key. It is much easier to upload configuration files to other JNIORs to replicate setups.
  • User Interface – The User Interface is now a native HTML application that uses the latest web technology. The latest web technology uses native HTML controls and Web-sockets to communicate with the JNIOR from your browser. This will allow accessibility over remote connections as long as port 80 is available. This is now consistent with the communication method used by the DCP. Task Manager had always used Java Applets. The Java Applets have not been able to launch in browsers for several years as they became frowned upon as security vulnerabilities.

This was just a short list of changes and new features. The documentation for Tasker should explain these topics as well as many others. If there is anything you don't understand please reach out to us for help. Additionally, if you have any suggestions or need the JNIOR to do something specific for you, please let us know.

For more information go to the Tasker Page

Name Version Release Date Size MD5
Slaving Service v2.0 Jul 23 2020 183 KB e6f139ce51cdf79c5c05845285cd7eb4
  • [+] Added the ability to control the inputs based on Local or Remote I/O
  • [+] Added a section to the web page for configuring the inputs

The following post talks about entering the processor bootloader.  Entering the bootloader could have unintended consequences should the wrong commands be entered.  Proceed at your own risk.

Note, this is for a series 3 JNIOR that went out of production in 2015. You can upgrade to Series 4 JNIORs easily in most cases.

Most JNIOR3 batteries should be dead and therefore removing power to reboot should restore the default accounts. If the battery is still doing its job you can force your way in using the following:

  1. Connect USB-to-Serial cable to COM/RS-232 port.
  2. Open Terminal program of your choice (Support Tool). Serial settings are 115200 baud, 8 data bits, 1 stop bit, and No Parity. No hardware buffer control. We are hoping that the DTR line (pin 4) is wired through the cable and is asserted by default.
  3. Access the JNIOR and prove to yourself that you cannot log in. Try jnior:jnior and admin:admin.
  4. With jumper (or screwdriver) short jumper next to COM port briefly (1/2 second).
  5. Immediately hit repeated (at least 3 or so) ENTER keystrokes. The bootloader banner should appear.
  6. Enter: B 02 <ENTER>
  7. Enter: F 00 0000 0100 <ENTER>
  8. Enter: E <ENTER>
  9. The JNIOR should reboot. Note the above switches to the Block for the Heap Memory (Bank 2); Clears the first 256 bytes of the Heap damaging its structure; And, then Exits restarting the system.
  10. Note in the dialog the indication “Blast HEAP”. This restores the original /etc/passwd file with the default credentials.
  11. Eventually log in using jnior:jnior

If shorting the jumper pins or inserting the jumper briefly does not reboot the JNIOR and accept your ENTER keystrokes, then DTR is not wired or asserted.

This test was done using Putty on an Ubuntu system with an old USB-to_Serial adapter.

Name Version Release Date Size MD5
Tasker v3.2 Jun 18 2020 958 KB 953712536000b330ad267047b7ee274d
  • + added 4-20ma modules
  • + added 10v modules
  • + added email send attachment option

Go to the Tasker Application page for more information. The Tasker Knowledge-base has helpful information on how to use the features in Tasker.

Tasker 3.1 May 1, 2020

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action - Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

Go to the Tasker Application page for more information. The Tasker Knowledge-base has helpful information on how to use the features in Tasker.

Tasker 3.0 RELEASED! April 20, 2020

It has been a while since Tasker was released. Tasker was a quick attempt at making a replacement for the Task Manager application that has been around for more than a decade, starting on the Series 3.

Ample time has now been taken to create a fully capable application that will be every bit as functional as Task Manager but offer the benefits of a rewrite, using configuration files and the latest web technology.

Some of the changes and new features are as follows:

  • Faster– The tasks are executed much faster and the triggers and schedule are monitored in real-time instead of once every 5 – 10 seconds.
  • Workspaces - Separate configuration logic into multiple workspaces. Then multiple workspaces can be loaded on the JNIOR at the same time.
  • Tasks are now separate from triggers. In Task Manager a Task was created and a Trigger was configured to get the Task to execute. In Tasker 3.0 Tasks are a separate entity that can be executed several different way including manual execution from the configuration page and being requested via an ASCII TCP connection.
  • Tasks can now send data via an Ethernet connection. To do this, a Device must be created so that the action can specify which device to send the data to. Multiple devices can be configured.
  • New Actions – We implemented actions that were previously available in Task Manager but are introducing many new actions like external module control, TCP communication and control structures.
  • Drag n Drop – Drag and Drop functionality makes it easier to design your Task logic.
  • Signals are now created to assign a specific property of a I/O point or sensor a name. The name can then be used in Tasks, Triggers or Loggers.
  • Loggers can be created to define the file name and schema or what data should be logged to that file. Each line in a Logger will be prepended with a timestamp followed by a comma. Loggers also allow you to define the number of files that should be kept with the given naming pattern. Name patterns can include date patterns. This will help you create a file per day for example.
  • Schedule – The schedule has additional options.
  • JSON Configuration files are used now instead of registry keys. Registry keys were limiting in size. The Series 3 could only store 255 characters in a registry key. It is much easier to upload configuration files to other JNIORs to replicate setups.
  • User Interface – The User Interface is now a native HTML application that uses the latest web technology. The latest web technology uses native HTML controls and Web-sockets to communicate with the JNIOR from your browser. This will allow accessibility over remote connections as long as port 80 is available. This is now consistent with the communication method used by the DCP. Task Manager had always used Java Applets. The Java Applets have not been able to launch in browsers for several years as they became frowned upon as security vulnerabilities.

This was just a short list of changes and new features. The documentation for Tasker should explain these topics as well as many others. If there is anything you don't understand please reach out to us for help. Additionally, if you have any suggestions or need the JNIOR to do something specific for you, please let us know.

For more information go to the Tasker Page

Extend the life of your logs. Use the Log Archiver to compress backups to an archive.

The archive that is used is determined based on the log name that is about to be archived. There are several known system logs that will be archived in a system.zip archive. Other log files use the beginning part of the file name to determine the archive name. tasker.log and tasker-tasks.log will go to the tasker.zip archive.

Each archive will grow to a maximum size. The archiver will try to remove an entry once the maximum size is reached. The entry to be removed is determined by trying to find the oldest entry for a file that has more than one copy. If the oldest entry is the only entry of its kind then it will not be removed.

Applications must use a .log.bak file naming convention for this application to archive the backup log files. JANOS uses this concept but the Java applications have been using a rolling file concept for quite some time. The logging concept in the applications will change as the applications are updated. This application will initially start archiving the system log files.

The maximum size is configurable. It is 128 KB by default. It can be change to a value between 32 KB and 512 KB. To configure this setting you will edit the AppData/LogArchiver/MaxArchiveSizeInKB registry key.

The Max Archive Size in KB registry key

The application must be set to run on boot. You will use the Applications section in the Configuration tab in the DCP to ensure that the Log Archiver application is set to run on boot.

Se the Log Archiver application to run on boot

Here is a good example of how the oldest entry is not always removed.

Screenshot showing the system.zip contents and the system.zip filesize

This is the honeypot unit. Its our publicly accessible unit that we use to map source locations for failed login attempts to the telnet port. Here you can see that the jniorboot-202004080118.log file is by far the oldest entry. It should have been removed many times but because it is the only jniorboot*.log, it is saved. The jniorsys-202005110533.log file also should have been removed but since it is the only jniorsys*.log, it hasn’t. The failed login attempts are quite numerous, thus filling up the access.log and causing it to be archived many times. The other thing we notice here is that we have 14 files in this archive and the archive size is only 120 KB!

Screenshot of honeypot.integpg.com

Tasker is an add-on application. This means that Tasker is not loaded on the JNIOR before we ship it. This may change in the future.

To load Tasker you will need to get the JNIOR Support Tool and the Tasker update project.

Once you have installed the JNIOR Support Tool, open it and go to the Update tab. Here we will open the Tasker update project that was downloaded. Do not unzip the update project file. You should see the following…

This image shows the Update project for Tasker version 3.1 from May 5th 2020
This image shows the Update project for Tasker version 3.1 from May 5th 2020

Click Publish and select the JNIOR or JNIORs that you wish the load the Tasker Application on to. The Update project will run until all of the selected JNIORs have been updated.

Once complete, you can go to the Tasker Web Application in your browser. Simply go to http://JNIOR_IP_ADDRESS/tasker.

Name Version Release Date Size MD5
Tasker v3.1 May 05 2020 942 KB 47e03374e8a8791ec0a922f38e62f174
  • Added If / Else Block Task Action
  • Added While Loop Task Action
  • Added SNMP Trap Task Action – Tutorial
  • Help pages are in progress
  • Upload and download workspaces
  • Delete a workspace (Workspace is backed up)

Go to the Tasker Application page for more information. The Tasker Knowledge-base has helpful information on how to use the features in Tasker.

Tasker 3.0 RELEASED! April 20, 2020

It has been a while since Tasker was released. Tasker was a quick attempt at making a replacement for the Task Manager application that has been around for more than a decade, starting on the Series 3.

Ample time has now been taken to create a fully capable application that will be every bit as functional as Task Manager but offer the benefits of a rewrite, using configuration files and the latest web technology.

Some of the changes and new features are as follows:

  • Faster– The tasks are executed much faster and the triggers and schedule are monitored in real-time instead of once every 5 – 10 seconds.
  • Workspaces - Separate configuration logic into multiple workspaces. Then multiple workspaces can be loaded on the JNIOR at the same time.
  • Tasks are now separate from triggers. In Task Manager a Task was created and a Trigger was configured to get the Task to execute. In Tasker 3.0 Tasks are a separate entity that can be executed several different way including manual execution from the configuration page and being requested via an ASCII TCP connection.
  • Tasks can now send data via an Ethernet connection. To do this, a Device must be created so that the action can specify which device to send the data to. Multiple devices can be configured.
  • New Actions – We implemented actions that were previously available in Task Manager but are introducing many new actions like external module control, TCP communication and control structures.
  • Drag n Drop – Drag and Drop functionality makes it easier to design your Task logic.
  • Signals are now created to assign a specific property of a I/O point or sensor a name. The name can then be used in Tasks, Triggers or Loggers.
  • Loggers can be created to define the file name and schema or what data should be logged to that file. Each line in a Logger will be prepended with a timestamp followed by a comma. Loggers also allow you to define the number of files that should be kept with the given naming pattern. Name patterns can include date patterns. This will help you create a file per day for example.
  • Schedule – The schedule has additional options.
  • JSON Configuration files are used now instead of registry keys. Registry keys were limiting in size. The Series 3 could only store 255 characters in a registry key. It is much easier to upload configuration files to other JNIORs to replicate setups.
  • User Interface – The User Interface is now a native HTML application that uses the latest web technology. The latest web technology uses native HTML controls and Web-sockets to communicate with the JNIOR from your browser. This will allow accessibility over remote connections as long as port 80 is available. This is now consistent with the communication method used by the DCP. Task Manager had always used Java Applets. The Java Applets have not been able to launch in browsers for several years as they became frowned upon as security vulnerabilities.

This was just a short list of changes and new features. The documentation for Tasker should explain these topics as well as many others. If there is anything you don't understand please reach out to us for help. Additionally, if you have any suggestions or need the JNIOR to do something specific for you, please let us know.

For more information go to the Tasker Page

Workspaces are files that contain configuration for Tasker. Tasks, Devices, Loggers, Signals, Triggers, and Schedules are all saved in a Workspace file.

Multiple Workspace files can be loaded on the JNIOR at the same time allowing you to load more complex logic. Using multiple Workspaces allows you to logically group the features together that rely on each other.

Tasker will not have any Workapces loaded when it is first loaded. You will be presented with a screen alerting you to that fact and telling you that you must create a new Workspace.

You can click the green button to Create a new Workspace or use the New option in the File menu.

Once a Workspace is created and saved the screen will appear differently the next time you visit Tasker. Here we have created two Workspaces to illustrate this.

You can now click on of the Workspace files or use the Open option in the File menu.

The above post was a brief explanation covering how to create and open Workspaces in Tasker. If you have any additional questions you can check out the Tasker Knowledgebase.

To get SNMP to run on boot we need to set the Run key in the JNIOR registry. You can do this manually or by checking the checkbox next the SNMP.

A reboot WILL be required after changing the selection here.

This feature is available in Tasker v3.1 and later.

Having the JNIOR send a SNMP Trap is great. The SNMP application offers built-in Traps when the digital inputs and relay outputs change. Tasker takes this further allowing you to send a SNMP Trap as a part of a Task. The value of the Trap can be custom and dynamic based on the message building rules of Tasker.

The first thing we need to do is make sure that SNMP is running. The feature covered in this post is available in SNMP v2.6 and greater. Once we know that SNMP is running we can Create or Open a Tasker Workspace.

To send a SNMP Trap we will need to add the SNMP Trap action to a Task. You can create a new Task for this action or add it to an already existing Task. The action will ask for the SNMP OID (Object Identifier), the message to send and the device to send the Trap to. The device to receive the Trap can be the built-in Trap Host that is defined in the SNMP application or a new one can be defined in the Devices Tab.

Upon selecting the SNMP Trap action you will be presented with the following

Here is what it will look like after entering some information

Without defining a SNMP Device, the Trap will be sent to the Trap Host that is defined in the SNMP application. You can optionally define a new Trap Host by clicking + Add Device in the Devices Tab.

You will be presented with a Dialog asking for a Device Name and the Device Type. Enter any name and select SNMP Device from the Device Type drop down.

Now you can enter the Trap Host information as shown here.

Now back in our Task Action we will see this Device as an option.

Save the Workspace in the File menu and your Custom Trap will be able to be sent!

Advanced Usage

You can send a dynamic message. A dynamic message is one that has different data based on our message building rules. Here we will send the current temperature.

A defined Signal could also be used here instead of temp[1].f and a Trigger could be used to cause the Trap to get sent as described in the using signals and triggers post.

To build dynamic messages you will use the text replacer syntax. Using {{ }} will allow the message engine to find the appropriate portion of the text and replace it with the value of the evaluated text that is contained within the {{ }} syntax.

Available Conditionals

Internal I/O

din[#].state din[#].counter din[#].usagemeter
rout[#].state rout[#].usagemeter

Temperature Sensor

temp[#].fahrenheit or temp[#].f for short
temp[#].celsius or temp[#].c for short

Environmental Sensor

env[#].fahrenheit or env[#].f for short
env[#].celsius or env[#].c for short
env[#].humidity

Registry

registry(key_name)or reg(key_name) for short. Just replace key_name with the registry key name.

Date

date.currentmillis where the value is the number of milliseconds since January 1st 1970. date.format(format_string) where the format_string is of the following format:

MM two digit month
dd two digit day
yy two digit year
yyyy four digit year
HH two digit 24 hour
hh two digit 12 hour
mm two digit minute
fff milliseconds
aa am / pm
zzz timezone string

for example. date.format(MM-dd-yyyy HH:mm:ss.fff)

Examples

It has been a while since Tasker was released. Tasker was a quick attempt at making a replacement for the Task Manager application that has been around for more than a decade, starting on the Series 3.

Ample time has now been taken to create a fully capable application that will be every bit as functional as Task Manager but offer the benefits of a rewrite, using configuration files and the latest web technology.

Some of the changes and new features are as follows:

  • Faster– The tasks are executed much faster and the triggers and schedule are monitored in real-time instead of once every 5 – 10 seconds.
  • Workspaces – Separate configuration logic into multiple workspaces. Then multiple workspaces can be loaded on the JNIOR at the same time.
  • Tasks are now separate from triggers. In Task Manager a Task was created and a Trigger was configured to get the Task to execute. In Tasker 3.0 Tasks are a separate entity that can be executed several different way including manual execution from the configuration page and being requested via an ASCII TCP connection.
  • Tasks can now send data via an Ethernet connection. To do this, a Device must be created so that the action can specify which device to send the data to. Multiple devices can be configured.
  • New Actions – We implemented actions that were previously available in Task Manager but are introducing many new actions like external module control, TCP communication and control structures.
  • Drag n Drop – Drag and Drop functionality makes it easier to design your Task logic.
  • Signals are now created to assign a specific property of a I/O point or sensor a name. The name can then be used in Tasks, Triggers or Loggers.
  • Loggers can be created to define the file name and schema or what data should be logged to that file. Each line in a Logger will be prepended with a timestamp followed by a comma. Loggers also allow you to define the number of files that should be kept with the given naming pattern. Name patterns can include date patterns. This will help you create a file per day for example.
  • Schedule – The schedule has additional options.
  • JSON Configuration files are used now instead of registry keys. Registry keys were limiting in size. The Series 3 could only store 255 characters in a registry key. It is much easier to upload configuration files to other JNIORs to replicate setups.
  • User Interface – The User Interface is now a native HTML application that uses the latest web technology. The latest web technology uses native HTML controls and Web-sockets to communicate with the JNIOR from your browser. This will allow accessibility over remote connections as long as port 80 is available. This is now consistent with the communication method used by the DCP. Task Manager had always used Java Applets. The Java Applets have not been able to launch in browsers for several years as they became frowned upon as security vulnerabilities.

This was just a short list of changes and new features. The documentation for Tasker should explain these topics as well as many others. If there is anything you don’t understand please reach out to us for help. Additionally, if you have any suggestions or need the JNIOR to do something specific for you, please let us know.

For more information go to the Tasker Page

Leaving any device set with a factory Username and Password is a big security risk. The JNIOR comes with two factory Administrator accounts. The usernames jnior and admin both have administrative privileges.

It is recommended that the users be modified on the JNIORs to secure them. This is vital for units that are on the open network and have public access. Public access does not mean that they are supposed to be open to the public but rather that they are accessible from anywhere.

List the Users

To see the current users and their privileges, you will use the users command. This command will show you the usernames, their assigned user id and the privileges that they possess.

Change the password for the current user

The simplest change that you can make to secure your unit is to change the password of one of the factory administrator accounts. To do this you will log in to the one you want to change and use the passwd command. You will be prompted for the current password and then twice for the new password. The password requirement is very relaxed but you are encouraged to create a strong password.

Create a new user

We need to create a new administrator account so that we can disable the factory users. Using the useradd command with the -a option will create a new user with administrator privileges. You will be prompted for the new password twice. The password requirement is very relaxed but you are encouraged to create a strong password. After the user is created you can execute the users command again to see the results.

Disable the Admin account

To disable an account you will use the usermod command. This command modifies the privileges for the given user. To disable the admin account you will type usermod +d admin. Then you can execute the users command again to see the result.

Change the current user

After creating the new user you will want to switch to it so that modifications can be made to the user account that was logged in while the new user was created. You will do this by closing the command line connection. This will log you out from the current user. Then reconnect using the new user and the new credentials. You can see what the current user account is by using the whoami command. Next, you can then modify the privileges of the user that was used to create the new account.

Things to watch out for

You MUST have at least one admin account on the JNIOR. If you try to do so, you will simply be told that you cannot remove that user.

You also cannot remove admin privileges from the user that you are logged in as while performing that operation. If you try to do that you will be told that you cannot alter the current account.

INTEG is saddened by the cancellation of CinemaCon this year. We will miss seeing all of our friends. We hope for the well being of everyone and the speedy recovery of all those affected. We will see you all next year.

To update JANOS, the JNIOR Series 4 Operating System, you will need to do two things.

  1. Get the UPD file on the JNIOR in the /temp directory.
  2. Execute the jupdate command. To force the update to happen immediately upon entering this command we will type jrupdate -fup /temp/janos_filename.upd

The easierst way to update the unit remotely is using the DCP The DCP is most likely to be available on a remote JNIOR because it uses a single port for all of the features. Without the DCP you might need port 23 for telnet, port 21 for FTP commands and many other ports for FTP data.

If the DCP is available follow the this procedure.

  1. Once the DCP is open, navigate to the Console tab.
  2. Login to the command console.
  3. Drag and drop the JANOS .upd file into the console window. This automatically stores the file in the /temp directory.
  1. Issue the jrupdate command. Like above, t o force the update to happen immediately upon entering this command we will type jrupdate -fup /temp/janos_filename.upd
Name Version Release Date Size MD5
JANOS - UPD v1.9 Feb 03 2020 877 KB 5845d6b3b26da7e1be32bdc164272aea
Series 4 All-In-One v1.9 May 01 2020 2 MB b79eb6be8c2873bb42fd66fa480c581a

Release Notes

We have released JANOS v1.9 which has several changes and bug fixes. Most notably with TCP packet generation. While it is not wrong to send data in multiple TCP packets, many devices incorrectly implement TCP clients and fail when this case arises. This version adjusted the release of socket data to reduce the chances that a message might be split across separate TCP packets. This had been a recent issue with some MODBUS client devices.

  • Added support for Reverse LLMNR allowing network scanners to label IP addresses with hostnames
  • Adjusted the release of socket data to reduce the chances that a message might be split across separate TCP packets
  • Corrected Sockets race condition that caused occasional reception delays and blocking
  • Fixed the incorrect signed display of large input counter values in JRMON and JMP Protocol
  • Adds a BEACON announcement in the event of an IP conflict
  • Improved NONCE management eliminating possible issues in the presence of port scanners
  • Eliminated chance of buffer overrun occurring in FTP transfer
  • Beacon REBOOT now works in all cases
  • Eliminated potential difficulty in obtaining network capture file

JANOS 1.8 (Released June 17 2019) June 17, 2019

Release Notes

We have released JANOS v1.8 which adds the JMP Protocol. The JANOS Management Protocol (JMP) is essentially the JSON message interface utilized by JANOS Websockets. The JMP Protocol has been exposed on its own TCP/IP port. This encloses the JSON messaging in a JSON array along with the JSON Object length making reception of the messages easy. The JMP Protocol will be used by the QSC Q-SYS JNIOR component.

  • Implements the JANOS Management Protocol JMP
  • Adds "Block" command to JSON interfaces
  • Web Server limits the effects of extremely slow connections.

  JANOS - UPD v1.8 [ Jun 17 2019, 874 KB, MD5: 11d1af6e80acfdcae637edb27e23a6f2 ]

  Series 4 All-In-One v1.8 [ Jun 27 2019, 2 MB, MD5: 2962d0d6fd2b9659e5e5956ed40549f9 ]

JANOS 1.7.1 (Released 3 December 2018) December 3, 2018

Release Notes

  • Watchdog no longer causes reboot from foreground execution
  • REGEX Alternation '|' has been corrected to properly work in Group
  • Corrected NULL Pointer write issue when a Group which employs alternation appears at the start of a REGEX expression
  • Resolved message pump memory issue relating to process termination
  • Expand the channel range for setOutputRelay() from 0-11 to 0-15
  • Corrected network capture filtering when an IP address is to be excluded
  • Supports networks using Jumbo Frames
  • Eliminated assertion associated with improper use of '%n' in System.out.printf.

  JANOS - UPD v1.7.1 [ Dec 03 2018, 870 KB, MD5: 70bc5f3d4ec311786fe304c4e447595b ]

  Series 4 All-In-One v1.7.1 [ Dec 03 2018, 2 MB, MD5: b88a8d86302d867835a50e8f699edcad ]

JANOS 1.7 (Released 26 July 2018) July 26, 2018

Release Notes

  • Added ability to load single CA Certificate to be supplied on TLS connection
  • Support TLS Client Certificate Verification on outgoing connections
  • Added legacy PKCS1 support for externally generated certificates
  • Corrected array issue with processing of deferred email transmissions
  • Corrected memory issue with TAB use on the Command Line

Sometimes an application wont run on a JNIOR Series 3 unit.  This issue may be due to “insufficient heap“.

This error message means that there was not enough contiguous space in “heap” or the SRAM memory for the application.  The application must find contiguous memory of at least the file size of the application.  Once the application finds that space it will stay in that same space until the application is updated.  The memory can become fragmented over time since the SRAM is used for application executables, application memory and the root file system.

Most likely this error condition will occur after updating to a new version of an application.  If the new application is larger than the old application it cannot occupy the same contiguous block in memory.  It must find a new contiguous block.  That space may not be available depending on the fragmentation of the memory. Even if there is a contiguous block of memory large enough when the file is updated, it still might give you an “insufficient heap” error. This might happen because until its run as an executable, the file doesn’t know it needs to be stored as contiguous space and fragment its memory anyways, which would then cause the error.

The fragmentation is caused by file blocks that have become scattered throughout memory over time.  To clear up the fragmentation we could delete a file at a time until a contiguous block has become available.  This would be a very slow approach.  You would not know which file gives you the best chance of finding a contiguous block.  Since the root of the file system contains mostly log files we can just clear the heap on a reboot.  In order to that we execute the reboot -a command.

What about my cinema devices and macros files?

The cinema files are automatically backed up to flash/cinema_backup.  This location is not affected by the reboot -a.  The cinema files will be restored next time cinema runs.

If you experience issues with your Dolby IMS2000 Cinema Server connecting to or executing commands on the JNIOR you may need to follow one of the procedures below. There are two issues that I have seen.

Dolby has resolved the issue for the IMS3000.

A Dolby may not even try to connect to a JNIOR when it should.

Make sure you have rebooted the Dolby IMS after adding the JNIOR as a device.

To determine if this is the issue:

  1. Go to the DCP for the JNIOR
  2. Click on the Console tab
  3. Click ‘Start Session’
  4. Log in when prompted
  5. enter the netstat command
  6. There should be a connection to 9200 with the Dolby Server IP Address for the Remote IP

The Dolby is connected but nothing happens on the JNIOR when the Dolby sends the command.

When Dolby tries to connect to the JNIOR it may not be able to log in to the JNIOR due to a bad password. The highlighted bytes below are corrupted.

The bytes should represent the password like this…

The previous images are screenshots for the WireShark application when analyzing a network capture. This capture is included in a JNIOR Support Tool Snapshot. I have been told by Dolby that this is likely due to the browser auto-fill.

To determine if this is the issue you should check the protocol.log on the JNIOR

To do that:

  1. Go to the DCP for the JNIOR
  2. Click on the Console tab
  3. Click ‘Start Session’
  4. Log in when prompted
  5. Enter the cat protocol.log command

If you see the failed login then do the following:

  1. Go to the JNIOR Device Configuration on the Dolby IMS
  2. Remove the JNIOR device
  3. Reboot the Dolby IMS
  4. Add the JNIOR as a device but DO NOT enter the password
  5. Reboot the Dolby IMS

You can now re-test the JNIOR connection to see if this is resolved.

If it is not resolved then make sure your browser is not using auto-fill for the site. The procedure differs per browser. Follow one of the links below for your browser.

If it is not resolved you can try to analyze the network capture or contact INTEG for additional support.

I hope this article helped you out. Please contact us to let us know!