Tag Archive: troubleshooting

While we are always available one-on-one to answer any questions and/or discuss how JNIOR can help your company, we wanted to answer some of the more frequently asked questions.

Contact INTEG Process Group for additional assistance with your Technical Questions and General Questions.

General Questions

Where is the JNIOR manufactured?

The JNIORs and Expansion Modules are made in the USA. We purchase the PCBs from a company a company in the US. The components are sourced globally. The PCB and components go through surface mount assembly here in the office. Programming and testing is also performed in our office.

What does “JNIOR” stand for?

JNIOR (pronounced “junior”) is a Network I/O Resource utilizing the Java™ platform.

What are the JNIOR Certifications?

TUV Safety Mark (IEC, EN 60950), CE Mark, FCC Class B, CB Scheme Available, RoHS Compliant. A copy of the TUV Certification PDF can be obtained from the All Downloads page.

How much does the JNIOR weigh?

11 ounces (312 grams).

What is the warranty on JNIOR?

2 years. Here is the JNIOR Warranty

How do I submit an RMA?

If you want to return your JNIOR via an RMA, make sure you contact INTEG support first. They will try and review your JNIOR and if it is defective will help you with the RMA process. They can be contacted at support@integpg.com or through our chat on our website.

How does the JNIOR internal time clock keep current?

The JNIOR has NTP (Network Time Protocol) capability.  You can enter an IP address (or URL) and the JNIOR will sync its time when it boots up with that computer. It will continue to sync it every 4 hours.

Do JNIOR Expansion Modules need power?

No. The modules draw their power via the Sensor Port on the JNIOR.

How many Expansion Modules can be connected to one JNIOR?

Multiple plug-and-play expansion modules can be daisy-chained to the JNIOR via the Sensor Port.  The exact number of modules that can be connected is a function of the mix of expansion modules being used.  Each module draws differing amounts of current. Please contact INTEG with your proposed mix of expansion modules.

What programming language do I use to program the JNIOR?

The applications on the JNIOR are developed using Java, but we have standard applications included with each JNIOR that meet a variety of needs so 99% of our customers do not actually do any programming on the JNIOR! But if you want to add your own software, we would be glad to help you get started.

What is the recommended power for the JNIOR?

We recommend 12 Volts DC at 1 Amp.  Although the JNIOR can handle 12 – 24 VDC or AC for the JNIOR power supply. The JNIOR digital inputs and relay outputs handle 0 – 60 volts DC or AC. 

Support Questions

How do you take a Snapshot?

To take a snapshot, you open the support tool and go to the snapshot tab. There you’ll click “take snapshot” and select the JNIOR you want to take a snapshot of.

How do you control external modules with a macro?

To control an external module with a macro command, you’ll create a macro in the support tool and send it to the analog presets program using cinema.

How do you close or pulse an output when the JNIOR boots?

In order to close an output on boot, you can open the support tool and go to the configuration page. On the configuration page in the outputs section, you can set the initial action of any channel to 0 which will close that output on boot. If any positive number is set in the initial action, that output will pulse for that many milliseconds on boot.

How do you invert an input?

Inputs can be digitally inverted on JNIORs to help test when they are triggered. Inverting an input can be done via the JNIOR Web Page, or by setting the ‘Inversion’ registry key through the command line.

How do you view the Environmental Monitoring Module data?

To view data from an environmental monitoring module in a graph, you use the Grapher and Tasker applications. You configure Grapher to read data from logs that will be created by Tasker. You then configure Tasker to log the data from the environmental monitoring module.

Can the JNIOR use the MQTT protocol?

The JNIOR can use the MQTT protocol. You can use the MQTT application to send information through the JNIOR message pump. You configure the MQTT application to a public broker and then send messages from another application on the message pump.

Why can’t the JNIOR connect to a MODBUS server?

The JNIOR can connect to a MODBUS server, but you need the MODBUS application. This application is separate from the Operating System and needs to be activated or else you can’t connect to a MODBUS server. You can do this by going to the application section of the configuration tab in the JNIOR’s WebUI, and clicking the checkbox next to the MODBUS server application.

How do I reboot my JNIOR?

One way you can reboot a JNIOR is simply by pulling the power and plugging it back in. You can also go to the command line from the support tool or JNIOR web page and type “reboot” and then type “y”. This will initiate a reboot as well.

How do I reset my JNIOR back to its factory default?

WARNING: Doing this wipes all data on your JNIOR, be sure this is what you want to do before executing a factory reset. To do a factory reset, its similar to a normal reboot from the command line, but the full command is “reboot -eraseall” followed by “y”. This will NOT work for the Series 3 JNIOR. There is a post explaining how to factory reset a Series 3 JNIOR.

How do I transition from a Series 3 to a Series 4 JNIOR?

Series 4 JNIORS were made to be a drop in replacement for Series 3 JNIORs. While some applications are only usable on Series 3 JNIORs, typically Series 4 JNIORs have an application that provides the same functionality and can be switched to. While different setups may require different steps to upgrade, you can always reach out to JNIOR support for help performing said upgrade.

How do I look at the connections on my JNIOR?

In the command line of the JNIOR, if you type “netstat” a list of connections on the JNIOR will be displayed. A post about the netstat command is in the knowledge base.

How do I use the JNIOR’s WebUI?

The JNIOR’s WebUI (Previously called the DCP) allows you to access and control tons of setting on your JNIOR. It can be accessed by right clicking your JNIOR in the support tool and opening its web page or by typing its IP into a web browser’s URL.

How do I update a JNIOR with an application?

To put an application on the JNIOR, you’ll need to download the application from our website, then open it (Don’t Unzip) in the update tab of the Support Tool. You’ll select ‘publish’ and the JNIOR to update the application to, and once it completes your JNIOR should have that application on it. There is an example post on updating Cinema to a JNIOR as well.

How do I access a JNIOR application that has a webpage?

There are two ways to usually access an application on a JNIOR. One way is by opening the JNIOR’s WebUI and under the configuration tab, in the application section, clicking its pop-out link. If the application doesn’t have a pop-out link, it you can also be accessed by opening a web browser, and typing in the URL your JNIOR’s IP Address followed by /”application name”.

How do I set the time on my JNIOR?

To set the JNIOR’s date and time, you’ll want to access either command line from the support tool or JNIOR web page and login in. You can then enter “date” followed by the date and time you want on the JNIOR formatted as “MMDDYYYYHHMMSS”.

How do I take a backup of my JNIOR?

To take a backup of the JNIOR, you’ll need the support tool. In the Snapshot tab of the support tool, you can select the Take Backup button which can will copy the configurations and files from a JNIOR and create a backup of it that can be transferred to other JNIORs to clone the configuration or to revert to an older configuration if a mistake is made.

Why won’t my JNIOR’s web page load, or show in the support tool?

When the JNIOR is loaded on the network they have DHCP enabled, which checks the network the JNIOR is on and assigns it an IP available. If your network doesn’t support DHCP then your JNIOR will default to the address 10.0.0.201. If another device on the network has 10.0.0.201, then the JNIOR will forgo the IP address and set itself to 0.0.0.0 to avoid an IP conflict. Even if no other unit has the same IP as your JNIOR, this issue can also be caused from your JNIOR’s IP address not being compatible with your computers IP address. To fix this, you need to change the IP address of the JNIOR, which a post explains here.

Whats the difference between Tasker and Task Manager?

Tasker is a new application that was made to replace the Task Manager application. Task Manager was made for Series 3 JNIORs, and aren’t able to use Tasker. Tasker on the other hand was made for Series 4 JNIORs, which has improved functionality and is easier to configure. For more information, click here.

I have a system that declares the JNIOR as a device and connects on port 9200. Why is it not connecting?

When this happens its typically when a connection is initially being made to the JNIOR during setup. Give your system connecting to the JNIOR a reboot and the connection should establish itself. You can check which ports the JNIOR is listening on using the netstat command.

I’m sending a command to the JNIOR via a TCP/Serial connection, but why isn’t the JNIOR doing anything?

Something that commands need to include when being sent to the JNIOR is the termination string. For example, if your connecting to the JNIOR using Cinema the default termination string is \r\n. So when you send the JNIOR a command in Cinema, make sure the command ends with \r\n. To check what termination string you need for your connection, based off the application your using on the JNIOR, you can check in the application registry keys in the JNIOR registry of a JNIOR’s web page. (appdata/application name). If its a TCP connection, you may want to also check and make sure the JNIOR is listening on the port you are sending to. You can check which ports the JNIOR is listening on using the netstat command.

If your question wasn’t answered here, check out our knowledge base to see if it’s answered there.

Sometimes you need to find out what the IP Address of the JNIOR is that is sitting on your network.  Sometimes someone else set it up and are no longer working with you or maybe you programmed it but years have passed and you haven’t needed to access the JNIOR because it is performing its job and no attention has been needed.

There are a couple of different ways to find out the IP Address.

By far the easiest way to find the JNIOR IP Address is the use the JNIOR Support Tool.  The JNIOR Support Tool only works on Windows systems.  http://jnior.com/category/news/support-tool/ will have links to the latest, as well as previous, versions of the JNIOR Support Tool.  Once loaded and started you will be presented with the Beacon tab.  The Beacon tab will show all the JNIORs that are present on your LOCAL network that have reported.  When the Support Tool launches a broadcast is sent out asking for all the JNIORs to report their information.  Some network configurations can either help or hinder this operation.  In most cases it works as intended.  Here is a picture of the Beacon screen.  If you have more than one JNIOR shown you can use the Serial Number of the JNIOR to identify which row corresponds to your unit or you can use the identify feature to pulsate the amber LED next to the power indicator.  To perform that function you can right click on a row and select either Query | Identify or Configure | Identify from the menu.

The other way to determine the IP Address of a unit is to directly connect a serial cable to the RS-232 port.  Computers do not come with serial ports anymore so a USB to Serial adapter will be needed.  You can find them at Amazon.  Once the cable is connected, select your favorite terminal application or use the Command Line application included with the Support Tool.  The serial settings must be 115200, 8, 1, none for the baud rate, data bits, stop bits and parity respectively.  Now that the connection is set up you can press enter and the login prompt will be presented.  The default credentials are username: jnior and password : jnior.  You can now enter ipconfig to see the current network setup.

 

 

 

 

 

 

 

 

Lastly, for those who know Morse code, you can unplug the network cable and the status LED will flash Morse code representing the value of the last octet.  You must know the first 3 octets of your network.

    0 --- --- --- --- ---
    1 - --- --- --- ---
    2 - - --- --- ---
    3 - - - --- ---
    4 - - - - ---
    5 - - - - -
    6 --- - - - -
    7 --- --- - - -
    8 --- --- --- - -
    9 --- --- --- --- -

Many times the best way to send diagnostic information to INTEG is to send us a Snapshot. A Snapshot is a zip file containing all of the files from the JNIOR.

When a Snapshot is taken the Support Tool will make a telnet connection, run a few diagnostic commands and then download all of the files. The diagnostic commands that are executed will be logged to the snapshot.log file.

There are two commands that will generate files that are not normally in the file system.

The first in the iolog command. The iolog command will generate a jniorio.log file. This file shows the past 512 digital input transitions as well as the past 512 relay output transitions. Up to 16 relay outputs will be shown in the log. The relays on the expansion modules will be logged as well.

The second command is the netstat -c command. This command generates a network capture file in the temp directory. The network capture file can be loaded in a desktop application called wireshark. This file will grow up to 512Kb. The duration of time covered by the file depends on the amount of traffic that the JNIOR handles. Optionally filters can be applied to the capture buffer to limit the types of traffic that are logged.

To take a snapshot follow these steps:

  1. Open the Support Tool. Go to the Snapshot tab.
  1. Click on ‘Take Snapshot’.
  1. Answer ‘Yes’ to the Snapshot confirmation dialog
  1. Select the JNIOR you want to take a Snapshot from and click ‘Ok’.
  1. Once your snapshot is compete find it on the left. It should be made visible once it is complete. Right click on the Snapshot file and select ‘Show in folder’. You could also expand the zip archive in the tree view or double click it to open in your loaded Archive application.

The JNIOR captures network traffic continuously. A large queue is established at boot and a record of network packets is kept. Once the queue fills the oldest packets are dropped. Depending on your network usage that queue might contain the past hour of traffic or much more.

The NETSTAT -C command generates a network capture file /temp/network.pcapng on demand containing the content of the capture queue. For example:

HoneyPot /> netstat -c
LAN connection active (100 Mbps)
 generating capture file...
 /temp/network.pcapng created
 collected 4791 packets from the previous 16 minutes
HoneyPot />

You can download this file to your personal computer. If you have Wireshark installed you will likely be able to double-click this PCAPNG file and it will open right up for viewing and analysis.

By the way you can download Wireshark for free from https://www.wireshark.org/.

Notice that in my example only the past 16 minutes were captured. First of all the capture begins at boot. So if your JNIOR has only been up for 16 minutes that is all that you will get. This, I think, was the case here.

It is important also to note that when you access the DCP you are also using the network. That means that all of the packets involved with your browser access will also be captured. If you leave the DCP up to monitor the status of your JNIOR all of that traffic takes up space in the capture buffer. If you are interested in analyzing the JNIOR interaction with another device that DCP traffic will limit the amount of information you can capture relative to that other device.

One solution is to not use the network to monitor the JNIOR by using the RS-232 (COM) port. But for that you have to be physically at the JNIOR and have the ability to use a serial connection. A better solution is to use capture filtering.

With the JNIOR you can both filter the packets that are to be retained in the capture buffer and filter the packets that you extract into the /temp/network.pcapng file. For example I will set this JNIOR up to ignore HTTP (Port 80) traffic and capture everything else. I can then use the DCP without loading the capture buffer with packets that we are not interested in.

HoneyPot /> netstat -f !80
LAN connection active (100 Mbps)
 capture filter set
HoneyPot />

This tells JANOS to only accept packets into the capture buffer that DO NOT reference port 80. This takes effect immediately (provided there isn’t a syntax error). The next /temp/network.pcapng file that I generate will no longer contain HTTP communications and therefore nothing to do with the DCP. There will be many more packets from a longer period of time all pertaining to other communications that might help with my debugging.

The NETSTAT -F command basically sets the IpConfig/CaptureFilter Registry key. If you mouseover that key in the Registry tab of the DCP and hit F1 you will see the documentation for filtering and the syntax for these filters. These details are in the Registry Key Assignmentsdocumentation. The current version of that documented is distributed as part of the DCP. It will be present on every Series 4 JNIOR that is up to date.

Network Filtering

The content of a network capture or the network clients allowed to interact with the JNIOR can be controlled through dynamic filtering. These filters can be quite simple or, if needed, much more sophisticated.

The IpConfig/CaptureFilter Registry key may optionally define a filter which is applied to incoming packet data prior to capture. There is limited storage for captured information and by filtering you can extend the capture period and the amount of pertinent information collected.

A filter may also be used in generating the network.pcap capture file from the capture buffer. Here the filter allows you to extract only pertinent information and otherwise keep file sizes at a manageable level.

The IpConfig/Allow Registry key may optionally define a filter which is applied to incoming connections. In this case the referenced IP addresses refer to the incoming source IP addresses, those of clients. Referenced port numbers refer only to destination ports, those available on the JNIOR.

IP Address Filters

To filter packets referencing a specific IP address you need only include the IP address in the format “nnn.nnn.nnn.nnn” in the filter string. Any packet that references this IP address either as the source or the destination address will be selected for inclusion. All other packets will be excluded unless covered by some other part of the filter.

To exclude packets referencing a certain IP address you can prefix a ‘!’ exclamation point to the address like this “!nnn.nnn.nnn.nnn”. All packets that do reference the IP address as either a source or destination address will NOT be selected for inclusion. This can also be written as “NOT nnn.nnn.nnn.nnn”.

Note that an IP address is identified by its format, four decimal values between 0 and 255 separated by the ‘.’ period.

The domain syntax allows a range of IP addresses associated with a netmask to be specified. The format is “nnn.nnn.nnn.nnn/mm” where ‘mm’ specifies the number of high order bits in the netmask. For example, “10.0.0.0/24” specifies any IP address in the domain that contains IP addresses 10.0.0.1 through 10.0.0.255 and uses a netmask of “255.255.255.0”. This would be useful in selecting only local traffic for instance.

MAC Address Filters

Although less often required you can filter on a specific MAC address. The MAC address is included in the filter string in the format “hh:hh:hh:hh:hh:hh”. The format is six hexadecimal values (0-9a-f or 0-9A-F) separated by the ‘:’ colon. For instance most INTEG Series 4 JNIORs have MAC address formatted as “9C:8D:1A:hh:hh:hh” where the lower three bytes are assigned in some sequence.

As with IP addressing, packets with MAC addresses may be excluded by writing the filter as “!hh:hh:hh:hh:hh:hh” or “NOT hh:hh:hh:hh:hh:hh”. Again a MAC address is identified by its format.

TCP/UDP Port Filters

A port is specified in the filter string as a decimal value between 1 and 65535 inclusive. No punctuation is used. The capture filter does not distinguish between a TCP or UDP port number. A port may be excluded using the negation “!nnn” or “NOT nnn”.

There are standard ports assigned for various functions. The capture filter knows some of them by name. Some may be reconfigured through the Registry. As a convenience the port may be specified using its protocol name. The capture will be filtered on the port as configured at the time the filter is compiled (at boot or upon NETSTAT command). JANOS recognizes these port names where the default values are shown in parentheses: SMTP (25), NTP (123), JNIOR (9200), FTP (21), HTTP (80), HTTPS (443), TELNET (23), and BEACON (4444). These ports may be excluded using the same negation syntax as previously shown

Boolean Constants

The capture filter will also recognize the terms TRUE and FALSE. True indicates that the packet is to be included and False otherwise.

Logical Operations

To filter on a single IP address, MAC address or port (or to exclude a single item) the filter need only specify the address or port in the associated format. The following would select the communications involved in an email transfer. If this is used as an incoming filter, only email transactions would be captured. If this is used with NETSTAT –C in generating the PCAPNG file, the file would only include email communications.

            NETSTAT –C SMTP
            netstat –c 25

Note that filters (and also commands) are not case-sensitive. Either form above will create a PCAPNG file with just email communications. This assumes that you have not reconfigured the SMTP port. If you have set Email/Port to another port (587 for instance) then the first line will extract your email communications and the second will not. Although the second filter might show an application trying to use the incorrect port.

Filters often need to be slightly more complex in order to include the collection of communications needed. The syntax allows you to specify any number of addresses or ports in any combination using AND, OR and XOR logic. As an alternative you may use the notation ‘&&” and ‘||’ for AND or OR respectively.

As an example perhaps you want to filter only email communications with the SERVER.

            netstat –c 10.0.0.4 && smtp

If you want to also include BEACON communications you might write the filter as:

            netstat –c 10.0.0.4 AND smtp OR beacon

But here you might question the order of precedence of the logical operations. The capture filters do not support an order of precedence but perform the operations from left to right. So this would be calculated as follows:

            netstat –c (10.0.0.4 && SMTP) || BEACON

And this would have done what we had said. If there is some question you can use the parentheses in the filter as shown. The following will create the same subset of packets but would not if we were to exclude the parentheses:

            netstat –c BEACON || (10.0.0.4 && SMTP)

A parentheses grouping can be negated as you would expect. The following will create a capture of all activity EXCEPT email communications with the SERVER.

            netstat –c !(10.0.0.4 && smtp)

Finally if we had wanted to mask these email communications from the overall capture buffer we can install this filter using the command:

           netstat –f !(10.0.0.4 && smtp)

This would result in the following Registry setting and would filter out matching communications until such time as the filter is removed.

            IpConfig/CaptureFilter = !(10.0.0.4 && smtp)

The JNIOR will only capture packets that are addressed to it. That would include broadcasts.

Ok. Well perhaps it is undocumented (and you didn’t hear it from me) but you can set the IpConfig/Promiscuous Registry Key to true. The JNIOR then will capture (subject to any filtering) all traffic including packets not addressed to the JNIOR. But for this to be of any use you will need to be using a Network Hub instead of a Network Switch. There is a difference. The latter “switch” will only pass packets to the JNIOR that are addressed to it in addition to any broadcasts. If you are interested in other traffic you need to use the “hub” which passes all traffic to all connected devices.

The Series 4 JNIOR with a hub then can be a valuable network debugging tool useful in sniffing traffic between two other devices (connected via hubs). It would allow you to remotely use the features of Wireshark.

The JNIOR can create a network capture! This network capture can be loaded in a sniffer application such as Wireshark for protocol analysis. To do this simply follow a few steps.

  1. Create a telnet connection to the unit. DO NOT USE THE DCP AS THIS CREATES A LOT OF EXTRA TRAFFIC THAT WILL FILL UP THE BUFFER.
  2. Execute the netstat -r command. This step is optional. If you are going to conduct a test procedure then you might want to execute this command so that only the traffic that occurs during your test will be captured.
  3. Conduct your test
  4. Use the telnet connection to execute the netstat -c command. This will create the capture file with the network buffer content.
  5. Use the DCP and the folders tab to pull the resulting network.ngpcap file. It is in the temp directory. It will be removed when the unit reboots!