Remote configuration tool for hardware terminals

Remote configuration tool for hardware terminals (Termtool)

The Termtool configuration tool is designed for legacy YSoft Hardware terminals (YSoft SafeQ Terminal Professional 3.x, YSoft SafeQ Terminal UltraLight and YSoft SafeQ Network Card Reader).

Purpose

  • Show information about detected terminals.

  • Set basic parameters of each terminal such as reader protocol, IO module, network settings, debug mode etc.

  • Forcing of normal firmware update.

  • Update of service firmware.

  • Download log from terminal for debugging purposes.

Prerequisites

  • Windows 2000 and higher

  • Linux kernel 2.4 or higher

  • Termtool.exe (WIN32) or Termtool (Linux) executable binaries

Limitations

Not all functions are supported on all previous releases of terminal firmwares.

Description

The program runs in a system console. It is not a GUI application, it is an application running in text mode.

How to obtain Termtool

Termtool is standard part of installation package. You can find it in the Complementary Solutions folder of the Complete Pack installation package.

Main program screen

When the program is run without any command line parameter the Termtool loads terminal list from fixed file (termlist.txt) and tries to detect all other accessible terminals. Then the following screen is shown:

YSoft terminal configuration utility ver. 0.9, PARTNERS release

List of available terminals:
----------------------------------------------------------------------------
  0) TP   10.1.6.245      SQPRC053535E94E  3.11.0(450)      TCP only
----------------------------------------------------------------------------

Additional detected terminals:
----------------------------------------------------------------------------
  1) TP   10.1.5.232      SQPR9493534CD6E  3.11.4(505)      TCP and bcast
  2) SPM  10.1.5.221      SQPRB213537842E  3.12.0(514)      TCP and bcast
  3) ULPC 10.1.5.217      SQULB47151A344E  1.2.0ul          TCP and bcast
  4) ULPC 10.1.5.253      SQULB47151A348E  1.2.0ul          TCP and bcast
----------------------------------------------------------------------------

Actions:
                99) Exit application
Terminal list:
               101) Refresh     102) Load       103) Save       104) Purge
Terminal     :
               111) Add by IP   112) Add by SN  113) Delete
Cfg. template:
               121) Apply to all terminals

SM PIN for further operations (TP only):        Currently: none
               131) Enter PIN L 1       132) Enter PIN L 2      133) Clear PIN

Enter number:

Screen shows information about terminals:

  • Terminal type

    • TP = YSoft SafeQ Terminal Professional

    • SPM = YSoft Payment Machine

    • TP-NCR = YSoft SafeQ Terminal Professional in Network Card Reader mode

    • ULPC = YSoft SafeQ Terminal UltraLight Print&Copy

    • ULPO = YSoft SafeQ Terminal UltraLight Print only

    • NCR = YSoft SafeQ Network Card Reader

  • Terminal IP address

  • Serial number

  • Firmware version

  • Terminal availability

    • TCP and bcast = Terminal is reachable by both TCP connection or by broadcast - terminals in same subnet with correct IP address setting

    • TCP only = Only TCP connection - terminals in different subnet, but correctly configured IP address (and netmask etc.)

    • bcast only = Only broadcast connection - like terminal in same subnet, but without correctly configured IP address

    • unreachable = Terminal is not on last known IP and is not reachable via broadcast (not in same subnet)

User may select concrete terminal number (0-98) to be configured or run one of these commands:

  • "99) Exit application" - completely exit application

  • "101) Refresh" - Redetect all terminals and refresh list

  • "102) Load" - Load terminal list from fixed file (termlist.txt) and rescan terminals status

  • "103) Save" - Save current terminal list to fixed file (termlist.txt)

  • "104) Purge" - Clear current terminal list and redetect all terminals

  • "111) Add by IP" - Add single terminal to list by entering its IP address

  • "112) Add by SN" - Add single terminal to list by entering its serial number

  • "113) Delete" - Delete single terminal in list

  • "121) Apply to all terminals" - Apply stored configuration template (termtempl.txt) to all terminals on list

  • "131) Enter PIN L 1" - Define service menu pin level 1 (site admins) for future operations on terminal professional that requires it

  • "132) Enter PIN L 2" - Define service menu pin level 2 (partners) for future operations on terminal professional that requires it

  • "133) Clear PIN" - Clear currently defined pin

Terminal configuration screen

According to terminal type, only some of following items may be displayed. Terminal configuration screen (after selecting terminal number from the main menu):

YSoft SafeQ Terminal Professional:

Terminal information:
Type          : Professional
Firmware ver. : 3.11.4(505)
Servicefw ver.: 2.2.3-12
Servicefw stat: OK

Hardware information:
HW version    : 3.5.3
Serial number : SQPR9493534CD6E
Manuf. date   : Tue Dec  1 11:52:42 2009

Network information:
Pri. MAC addr.: 00:0A:59:F4:4C:D6
Sec. MAC addr.: 00:0A:59:F4:4C:D7
Link-0 speed  : 0
Link-0 mode   : 0
Link-1 speed  : 0
Link-1 mode   : 0
Link-2 speed  : 0
Link-2 mode   : 0
Up-link speed : 0
Up-link mode  : 0

IP information:
DHCP          : Enabled
DHCP IP       : 10.1.5.232
DHCP Netmask  : 255.255.255.0
DHCP Gateway  : 10.1.5.100
DHCP DNS      : 10.1.0.100
Host name     : TEST0001

Server information:
Primary server: 10.1.5.121:4096
Server list   :
Locking       : Immediate
Cluster supp. : Enabled
Cluster mode  : Balanced

Advanced information:
Auth. type    : 8 = Card or PIN or Login
Mode          : Normal
Joblist mode  : Queue/printed
PIN dlg. text : Without characters count
P/C alert msg.: Enabled
Sum. after P/C: Pages and price
Menu timeout  : 60
Info timeout  : 20
Sound         : Enabled
Debug mode    : Log all

Card reader and IO module:
Reader type   : 48 = B-041 MultiReader LF + HF
Reader proto  : 90 = EM4000 compatible + HF UIN
IOmodule type : 1 =  N/A Generic iomodules
IOmodule mode : 9 = Autodetect smartcable

Language information:
Default lang. : 2 = English
Other langs.  : 11 = Japanese;14 = Chinese (Simplified);17 = Chinese (Traditional);21 = Arabic;25 = Korean;
Lang. selector: Globe always

----------------------------------------------------------------------------
Terminal:
             1) IP setup
             2) Server setup
             3) Advanced setup
             4) Card reader and IO module setup
             5) Languages setup
Actions:
            99) Exit without saving
           100) Save changes to terminal and exit (may need service menu pin)
Cfg. template:
           101) Load template   102) Save changes as template

Enter number:

YSoft SafeQ Terminal UltraLight:

Terminal information:
Type          : UltraLight Print&Copy
Firmware ver. : 1.2.0ul
Servicefw ver.: 1.7.0svcul
Servicefw stat: OK

Hardware information:
HW version    : 1.5.1
Serial number : SQULB47151A344E
Manuf. date   : Fri Nov 25 16:40:37 2011
HW features   : 00000000
Keyb. type    : 2

Network information:
MAC address   : 00:0A:59:F4:A3:44
Port 0 speed  : 0
Port 0 mode   : 0
Port 1 speed  : 0
Port 1 mode   : 0

IP information:
DHCP          : Enabled
DHCP IP       : 10.1.5.217
DHCP Netmask  : 255.255.255.0
DHCP Gateway  : 10.1.5.100
DHCP DNS      : 10.1.0.100 10.0.0.100 10.0.0.101
Host name     : Ulko_007
Domain        :

Server information:
Primary server: 10.1.5.121:4096
Server list   :
Locking       : Immediate

Advanced information:
Auth. type    : 3 = Card or PIN
Mode          : Normal
Sound         : Disabled
Debug mode    : Log all

Card reader and IO module:
Reader type   : 44 = B-087 MultiReader HF
Reader proto  : 105 = Card UIN
IOmodule type : 0 = Unknown
IOmodule mode : 0 = Unknown

----------------------------------------------------------------------------
Terminal:
             1) IP setup
             2) Server setup
             3) Advanced setup
             4) Card reader and IO module setup
Actions:
            99) Exit without saving
           100) Save changes to terminal and exit (may need service menu pin)
Cfg. template:
           101) Load template   102) Save changes as template

Enter number:

When some value is incorrect in relevant behavior or could not be obtained from terminal then "FAILED" or "unknown" is shown. When user selects terminal configuration change relevant information are repeated before entering new values.

Terminal "IP setup" allows to set DHCP support, terminal IP, netmask, gateway, dns, hostname.

Terminal "Server setup" allows to set server IP:port, cluster nodes IP, update server for network card reader, locking mode, cluster support and cluster mode.

Terminal "Advanced setup" allows to set authentication type, terminal mode, joblist type, pinbox text, timeouts, sound setting, debug setting and other interface related settings.

Terminal "Card reader and IO module setup" allows to set reader type and protocol, IO module type and its mode.

Terminal "Languages setup" allows to set default language, other selectable languages, and language selector type.

"YSoft SafeQ Payment Machine setup" allows to set money removal PIN and print receipt setting.

Action "99) Exit without saving" returns user to the previous menu. If any changes in settings are made they are discarded and original settings remain.

Action "100) save changes to terminal and exit (may need service menu pin)" returns user to the previous menu. If any configuration settings are changed, then changes are stored into terminal and applied. Some settings require service menu pin on terminal professional so user is asked to enter it.

Action "101) Load template" loads from fixed file (termtempl.txt) configurations changes. These changes are shown in listing.

Action "102) Save changes as template" stores all currently prepared changes on selected terminal to file (termtempl.txt) for future use as a configuration template.

Command line parameters

When the program is run with -h parameter, the following help screen is shown:

YSoft terminal configuration utility ver. 0.17, PARTNERS release
Usage: ./termtool -<parameter> <value> ...
Parameters:

-i input_file    (otherwise stdin)
-o output_file   (otherwise stdout)
-p pin           SM pin

-I ip_addr       select IP address of terminal to configure
-t id            select terminal # to configure (if not specified then first detected terminal will be used)
-s serno         select terminal with given serial number

-l    list terminals
-L    list terminals, but do NOT list unreachable ones
-n    do NOT search for new terminals (use only stored list)

-g    get configuration (data on stdout or output file)
-G1   get configuration via authorized access (SM pin level 1) (data on stdout or output file)
-G2   get configuration via authorized access (SM pin level 2) (data on stdout or output file)

-GR   get reader configuration checksum (TP only) (requires SM pin level 1) (data on stdout or output file)

-c    set configuration (data on stdin or input file)
-C1   set configuration via authorized access (SM pin level 1) (data on stdin or input file)
-C2   set configuration via authorized access (SM pin level 2) (data on stdin or input file)
-CU   set configuration via UDP access (data on stdin or input file)

-CR   set reader configuration of terminal professional (requires SM pin level 2) (data on stdin or input file)
-Cr   set reader configuration of terminal ultralight (data on stdin or input file)

-j    get terminal log (data on stdout or output file)
-J1   get SPM processing log - charges (data on stdout or output file)
-J2   get SPM processing log - items (data on stdout or output file)
-k    get lowlevel information (TP only) (data on stdout or output file)

-bs   TPv3 logo - set image (req. SM pin l 2)(image data on stdin or input file)
-bt   TPv3 logo - set text (req. SM pin l 2)(text data on stdin or input file)
-bc   TPv3 logo - clear logo setting (req. SM pin l 2)

-ms   SPM - set receipt template (req. SM pin l 2)(template data on stdin or input file)
-mc   SPM - clear receipt template (req. SM pin l 2)

-Axs  Feature Addon - IEEE802.1X - set configuration (req. SM pin l 1)(cfg on stdin or input file)
-Axc  Feature Addon - IEEE802.1X - clear configuration (req. SM pin l 1)

-uu   update standard firmware from server (Normal mode)
-ue   update standard firmware from server (Emergency mode)
-uU   update standard firmware from URL (Full update of TP only) (URL on stdin or input file)
-uP   update standard firmware from URL (Patch update of TP only) (URL on stdin or input file)
-us   update service firmware (update file on stdin or input file)
-ur   update service firmware from URL (TP only) (URL on stdin or input file)
-uS   update SPM data files (update file on stdin or input file)
-uf   update standard firmware of terminal professional (update file on stdin or input file)
-ug   update standard firmware of terminal ultralight (update file on stdin or input file)
-uA   update feature addon (TP v.3.5 only) (update file on stdin or input file)

-r    Perform terminal reboot

-h    this help screen
-v    verbose operation (on stderr)
-V    very verbose operation (on stderr)

NOTE: Some of the functions require a specific product or a certain minimum firmware version.
NOTE: Remote control works only with TP and when enabled in service menu.
NOTE: Remote control works only with -I and implies -n.

Terminal select

Terminal could be selected by

  • (-I) IP address - terminal must have properly configured network settings and be accessible via TCP connection to entered IP.

  • (-t) id - Select terminal on id offset in stored terminal list (termlist.txt)

  • (-s) serial number - terminal must be accessible via broadcast or already stored in list, then it could be selected by its serial number

Input/output

When command produces some output then it is shown to user (printed on stdout). It could be also redirected by system to file or written to file by program when user uses option (-o out_file)

When command requires additional data file then user may enter them on stdin, redirect output of other program to stdin or specify input file (-i input_file)

Linux examples:

echo "SOUND=0" | ./termtool -I 10.0.0.1 -c
./termtool -I 10.0.0.1 -c
SOUND=0
^D
./termtool -I 10.0.0.1 -c -i cfg_file.txt

Windows examples:

echo SOUND=0 | termtool.exe -I 10.0.0.1 -c
type con | termtool.exe -I 10.0.0.1 -c
SOUND=0
^Z
termtool.exe -I 10.0.0.1 -c -i cfg_file.txt

(-p) SM pin

Configuration of some values in YSoft SafeQ Terminal Professional or in YSoft Payment Machine requires service menu pin. So by this option user should specify pin value. Useful with -G1 -G2 -C1 -C2 -ms -mc.

List terminals

There is option to detect and list almost all terminals on same segment of network. Also program use stored list (termlist.txt) to add other terminals which should be outside network segment, but still accessible via IP address. Output listing have same format as stored list (termlist.txt) and should modified in following ways:

  • (-l) list all terminals, stored ones and newly detected

  • (-L) list all terminals (stored ones and newly detected), but do NOT list unreachable ones. Previous commands should be modified with (-n) option which force to do NOT search for new terminals (use only stored list) so stored list will be only updated with current values and optionally removed unreachable terminals.

(-g) (-G1) (-G2) get configuration

Downloads terminal configuration and shows it to user or store it to file (-o out_file). Options (-G1) (-G2) are only for terminal professional to authorize via service menu pin level 1 or 2 - optionally combine with parameter (-p pin).

Example on linux:

./termtool -I 10.0.0.1 -g -o CFG.TXT
./termtool -I 10.0.0.1 -G1 -p 0000 -o CFG.TXT

or on Windows:

termtool.exe -I 10.0.0.1 -g -o CFG.TXT
termtool.exe -I 10.0.0.1 -G1 -p 0000 -o CFG.TXT

(-c) (-C1) (-C2) (-CU) set configuration

Upload configuration entered on stdin or from input file (-i input_file) to terminal. Options (-C1) (-C2) are only for terminal professional to authorize config upload via service menu pin level 1 or 2 - optionally combine with parameter (-p pin). Parameter (-CU) force different way of configuration upload - via broadcasts - so terminal have to be in same network segment.

Configuration file should contain only fields which user needs to change! Storing of read only value is considered as error so final result of run will be also error.

Example on linux:

./termtool -I 10.0.0.1 -c -i CFG.TXT
./termtool -I 10.0.0.1 -C1 -p 0000 -i CFG.TXT

or on Windows:

termtool.exe -I 10.0.0.1 -c -i CFG.TXT
termtool.exe -I 10.0.0.1 -C1 -p 0000 -i CFG.TXT

(-CR) (-Cr) set card reader custom configuration

Upload reader configuration entered on stdin or from input file (-i input_file) to terminal. Option (-CR) is only for terminal professional to authorize config upload via service menu pin level 2 - optionally combine with parameter (-p pin). Option (-Cr) is only for terminal ultralight.

Reader configuration may be generated by YSoft Card Reader Tool.

Example on linux:

./termtool -I 10.0.0.1 -CR -p 0000 -i cust_cfg.bin

or on Windows:

termtool.exe -I 10.0.0.1 -CR -p 0000 -i cust_cfg.bin

(-j) get terminal log

Downloads terminal log and shows it to user or store it to file (-o out_file).

Please note that logging must be enabled before using this function

Example on linux:

./termtool -I 10.0.0.1 -j -o LOG.TXT

or on Windows:

termtool.exe -I 10.0.0.1 -j -o LOG.TXT

(-J1) (-J2) get YSoft Payment Machine processing logs

Downloads two different types of SPM logs and shows it to user or store it to file (-o out_file). These files also enclose when reporting problem with SPM via Service desk incident reporting.

Example on linux:

./termtool -I 10.0.0.1 -J1 -o SMP_LOG1.TXT
./termtool -I 10.0.0.1 -J2 -o SMP_LOG2.TXT

or on Windows:

termtool.exe -I 10.0.0.1 -J1 -o SPM_LOG1.TXT
termtool.exe -I 10.0.0.1 -J2 -o SPM_LOG2.TXT

(-k) get lowlevel information

YSoft SafeQ Terminal Professional only - Show information about boot loaders and service firmware or store them to file (-o out_file).

(-bs) (-bt) (-bc) YSoft Terminal professional - logo

Only for YSoft Terminal professional v 3.5 with color display. These commands requires service menu pin level 2 (combine with -p pin). By option (-bs) users shall upload new logo image (combine with -i input_file), set logo text (-bt) or clear currently stored logo configuration (-bc)

NOTE: Image have restricted format. Supported is only size 300x72 pixels, format 16-bit BMP(5:6:5), horizontally flipped.

Example on linux:

./termtool -I 10.0.0.1 -bs -i logo.bmp -p 0000
echo "Demo" | ./termtool -I 10.0.0.1 -bt -p 0000
./termtool -I 10.0.0.1 -bc -p 0000

or on Windows:

termtool.exe -I 10.0.0.1 -bs -i logo.bmp -p 0000
echo Demo | termtool.exe -I 10.0.0.1 -bt -p 0000
termtool.exe -I 10.0.0.1 -bc -p 0000

(-ms) (-mc) YSoft Payment Machine - receipt template

Only for YSoft Payment Machine equipped with optional printer. These commands requires service menu pin level 2 (combine with -p pin). By option (-ms) users shall upload new receipt template (combine with -i input_file) or clear currently stored one (-mc)

Example on linux:

./termtool -I 10.0.0.1 -ms -i receipt.xml -p 0000
./termtool -I 10.0.0.1 -mc -p 0000

or on Windows:

termtool.exe -I 10.0.0.1 -ms -i receipt.xml -p 0000
termtool.exe -I 10.0.0.1 -mc -p 0000

(-Axs) (-Axc) YSoft Terminal professional feature addon - IEEE802.1X configuration

Only for YSoft Terminal professional with installed feature addon. These commands requires service menu pin level 1 (combine with -p pin). By option (-Axs) users shall upload new configuration (combine with -i input_file) or clear currently stored one (-Axc)

Example on linux:

./termtool -I 10.0.0.1 -Axs -i ieee8021x.cfg -p 0000
./termtool -I 10.0.0.1 -Axc -p 0000

or on Windows:

termtool.exe -I 10.0.0.1 -Axs -i ieee8021x.cfg -p 0000
termtool.exe -I 10.0.0.1 -Axc -p 0000

(-uu) update standard firmware from server (normal mode)

Invoke terminal to reboot into service firmware and do full update of firmware from YSoft SafeQ server.

Example on linux:

./termtool -I 10.0.0.1 -uu

or on Windows:

termtool.exe -I 10.0.0.1 -uu

(-ue) update standard firmware from server (emergency mode)

Invoke terminal to reboot into service firmware and do emergency full update of firmware from YSoft SafeQ server.

Example on linux:

./termtool -I 10.0.0.1 -ue

or on Windows:

termtool.exe -I 10.0.0.1 -ue

(-uU) update standard firmware from URL (Full update)

Invoke terminal to reboot into service firmware and do full update of firmware from defined URL.

Example on linux:

echo "http://my_server:port/downloads/FULL-sq-3.12.0.fw" | ./termtool -I 10.0.0.1 -uU
./termtool -I 10.0.0.1 -uU -i download.url

or on Windows:

echo http://my_server:port/downloads/FULL-sq-3.12.0.fw | termtool.exe -I 10.0.0.1 -uU
termtool.exe -I 10.0.0.1 -uU -i download.url

(-uP) update standard firmware from URL (Patch update)

Invoke terminal to do patch update of firmware from defined URL.

Example on linux:

echo "http://my_server:port/downloads/sq-3.12.0.fw" | ./termtool -I 10.0.0.1 -uP
./termtool -I 10.0.0.1 -uP -i download.url

or on Windows:

echo http://my_server:port/downloads/sq-3.12.0.fw | termtool.exe -I 10.0.0.1 -uP
termtool.exe -I 10.0.0.1 -uP -i download.url

(-us) update service firmware

Sends service firmware update to terminal.

NOTE: This "server-less" style of service firmware update is supported from firmware 3.8.0 on YSoft SafeQ Terminal Professional and 1.1.0 on YSoft SafeQ Terminal Ultralight.

Example on linux:

./termtool -I 10.0.0.1 -us -i emergency-2.2.2-12.enc
./termtool -I 10.0.0.2 -us -i ultralight_service-1.7.fw

or on Windows:

termtool.exe -I 10.0.0.1 -us -i emergency-2.2.2-12.enc
termtool.exe -I 10.0.0.2 -us -i ultralight_service-1.7.fw

(-ur) update service firmware from URL

Invoke terminal to do service firmware update from defined URL.

Example on linux:

echo "http://my_server:port/downloads/emergency-2.2.2-12.enc" | ./termtool -I 10.0.0.1 -ur
./termtool -I 10.0.0.1 -ur -i download.url

or on Windows:

echo http://my_server:port/downloads/emergency-2.2.2-12.enc | termtool.exe -I 10.0.0.1 -ur
termtool.exe -I 10.0.0.1 -ur -i download.url

(-uS) update SPM data files

YSoft Payment Machine have possibility to update firmwares of banknote/coin acceptors. These firmwares are stored in SPM. To update these stored data use this command with the latest data file package.

Example on linux:

./termtool -I 10.0.0.1 -uS -i spm_data-2012-05-11.enc

or on Windows:

termtool.exe -I 10.0.0.1 -uS -i spm_data-2012-05-11.enc

(-uf) update standard firmware of YSoft SafeQ Terminal Professional

Sends main firmware update directly to YSoft SafeQ Terminal Professional.

For YSoft SafeQ Terminal UltraLight or YSoft SafeQ Network Card Reader see option (-ug)

Important note: This command may fail in some situations. In this case try to perform it again.

e.g.: Message "Failed to switch terminal to update mode" may mean that there is currently an active user/admin session.

This "server-less" style of firmware update is supported on terminals that already have service firmware 2.3.1-13 or newer, or that have standard firmware 3.8.0 or newer.

Warning: This command may automatically update terminal service firmware to minimal required version.

Example on linux:

./termtool -I 10.0.0.1 -uf -i FULL-sq-3.13.3.fw

or on Windows:

termtool.exe -I 10.0.0.1 -uf -i FULL-sq-3.13.3.fw

(-ug) update standard firmware of YSoft SafeQ Terminal UltraLight

Sends main firmware update directly to YSoft SafeQ Terminal UltraLight or YSoft SafeQ Network Card Reader.

For YSoft SafeQ Terminal Professional see option (-uf)

Important note: This command may fail in some situations. In this case try to perform it again.

e.g.: Message "Failed to switch terminal to update mode" may mean that there is currently an active user/admin session.

This "server-less" style of firmware update is supported on terminals that have standard firmware 1.1.5 or newer.

Warning: This command may automatically update terminal service firmware to minimal required version.

Example on linux:

./termtool -I 10.0.0.2 -ug -i ultralight-1.2.4.fw

or on Windows:

termtool.exe -I 10.0.0.2 -ug -i ultralight-1.2.4.fw

(-uA) update feature addon

YSoft Terminal Professional hardware version 3.4.x or 3.5.x have possibility to include additional firmware features. To update these additional firmware data use this command with the latest addon package.

Only for YSoft SafeQ Terminal Professional hardware version 3.4.x and greater.

Example on linux:

./termtool -I 10.0.0.1 -uA -i feature_addon-2017-07-03.enc

or on Windows:

termtool.exe -I 10.0.0.1 -uA -i feature_addon-2017-07-03.enc

(-r) Perform terminal reboot

Invoke terminal to reboot.

Example on linux:

./termtool -I 10.0.0.1 -r

or on Windows:

termtool.exe -I 10.0.0.1 -r

(-v) (-V) verbose operation (on stderr)

By specifying '-v' (debug) or '-V' (verbose debug) on command line an extended debug mode is enabled. This may provide developers with important information in case anything during Termtool operation fails.

Return value

When command line execution is successfully done program returns 0. In case of errors any non zero value is returned.

Files format

Terminals list (termlist.txt)

This file stores currently known terminals.

10.0.0.1 SQPR9173533BB0E 512 3.11.6(507)
10.0.1.200 SQPRC053535E94E 512 3.11.0(450)
10.0.0.2 SQPRB213537842E 768 3.12.0(490)
0.0.0.0 SQULB47151A344E 2 1.2.0ul
10.0.0.3 SQULB47151A348E 2 1.2.0ul

List contains these values separated by space:

  • IP address

  • Serial number

  • Number defining type of terminal

  • Firmware version

If you need to import terminal list you should replace termlist.txt with list where are only IP addresses, then call Termtool to list terminals. Termtool will try to contact all terminals and update information in output listing.

Configuration template (termtempl.txt)

# 24
DEFLANG=1
# 24
LANGUAGES=2;11;

File contains optional internal data in comments (line starting with '#') and configuration values which have to be changed. So format allows to get current configuration from terminal and copy relevant items to template file without any modifications.

Appendix A - Common use cases

Configure YSoft SafeQ server settings on one newly connected terminal

Terminal is configured to static IP of 192.168.0.100 by default so to assign IP address via DHCP, we need to configure terminal to use DHCP first, then configure server IP. Terminal will be connected directly to the same network subnet.

1) Interactively

Configuring Terminal to DHCP

  • Connect terminal to network and let it boot

  • Run Termtool

  • Termtool has to list all accessible terminals where newly connected one have to be listed

  • By comparing serial numbers search corresponding line and enter its number

  • Enter number 1 - to invoke "IP setup"

  • On prompt for entering 0 or 1, enter 1 (DHCP = Enabled).

  • On another prompt for entering Host name, enter Host name if you want to use it. Otherwise press enter to leave current values

Configuring Server IP

  • Enter number 2 - to invoke "Server setup"

  • On prompt for entering primary server enter new server settings (IP address and port in format: IP:PORT) - for example 10.0.0.1:4096

  • On other prompts for configuring other values simply press enter to leave current values

  • After return to menu enter number 100 - "Save changes to terminal and exit"

  • Now terminal will be configured

  • Enter number 99 - "Exit application" to leave utility

2) Via command line

Configuring Terminal to DHCP

  • Connect terminal to network and let it boot

  • Open command line window where your copy of Termtool is

  • Enter following command to list all terminals:

on Linux

./termtool -l 

on Windows:

termtool.exe -l 
  • Then Enter following command to configure a terminal for DHCP (replace IP address and serial number with yours):

on Linux

echo “DHCP=1” | ./termtool -s SQULC23151AB17E -CU

on Windows:

echo DHCP=1 | termtool -s SQULC23151AB17E -CU

Configuring Server IP

  • Enter following command on Linux (replace IP address and serial number with yours):

echo "SERVERIP=10.0.0.1:4096" | ./termtool -s SQULC23151AB17E -CU 
  • on Windows:

echo SERVERIP=10.0.0.1:4096 | termtool.exe -s SQULC23151AB17E -CU
  • NOTE: Configuration item "SERVERIP" stands for primary YSoft SafeQ server. Other configuration items could be found in documentation enclosed in remote configuration tool

  • Now terminal will be configured

Configure multiple items on many terminals connected to large network while we know their IP addresses

Terminals are properly configured in customer's network, but they are on many subnets. We have list of their IP addresses.

1) First prepare configuration template

  • Run Termtool

  • Select any suitable terminal or add one of required terminal by its IP address from list( 111) Add by IP ).

  • Enter all required changes of configuration by selecting appropriate items and entering values

  • After configure enter 102) "Save changes as template"

  • Enter number 99 - Exit without saving

  • Enter number 99 - "Exit application" to leave utility

All this could be also done manually by direct editing of termtempl.txt with correct configuration values (items documentation enclosed in remote configuration tool).

2) Modify termlist.txt See section "Files format" for details.

  • Terminal list file could contain only IPs - one per line so replace current termlist.txt file with your list of terminals IPs.

3) Apply to all terminals new settings

  • Run Termtool without detecting new terminals, so only list will be used

    termtool -n
  • Alternatively you could run Termtool normally, then tool detects also other terminals, then selects purge terminal list and loads list so you will have only terminals stored in list

  • When you configure some options that requires service menu pin on terminal professional then select option to enter it first. (Enter PIN L 1/2)

  • Enter number 121 - "Apply to all terminals" to apply configuration template

  • Now all terminals will be configured

  • Enter number 99 - "Exit application" to leave utility

Disable all downlink ports on few terminals connected to large network while we know their IP addresses

Terminals are properly configured in customer's network, but they are on many subnets. We have list of their IP addresses.

Ethernet ports could not be interactively configured in Termtool so you have to use remote configuration with correct configuration values. In enclosed documentation (Terminal Configuration Details_SQPR_fw3.12.0.xlsx) you could found that ethernet port settings are stored in values PORT_X_SPEED, where X stands for 0-3 and 3 means uplink. So we need to configure items PORT_0_SPEED, PORT_1_SPEED, PORT_2_SPEED and they are configurable via authorized access with service menu pin level 1. Best way how to get correct value of required item is to get it from terminal.

  • Manually configure one terminal to disable all downlink ports

  • use Termtool to download configuration to file:

    termtool -I 10.0.0.1 -g -o old_config.txt
  • edit stored config file to contain only required items (PORT_0_SPEED, PORT_1_SPEED, PORT_2_SPEED). So file will contain this content:

    PORT_0_SPEED=5
    PORT_1_SPEED=5
    PORT_2_SPEED=5
  • now for each terminal upload configuration change. Replace IP address with correct one and 0000 with service menu pin level 1.

    termtool -I 10.0.0.2 -C1 -p 0000 -i new_config.txt

Update service firmware on terminal

All terminals have service (emergency) firmware which could be updated.

NOTE: This style of service firmware update is supported from firmware 3.8.0 on YSoft SafeQ Terminal Professional and 1.1.0 on YSoft SafeQ Terminal Ultralight.

  • Obtain the newest service firmware file (files like YSoft SafeQ Terminal Ultralight/YSoft SafeQ Network Card Reader: ultralight_service-1.7.fw YSoft SafeQ Terminal Professional/YSoft Payment Machine: emergency-2.2.2-12.enc)

  • Terminal must have properly configured network settings so it have to be accessible via IP address. (for this example we will suppose that IP address for YSoft SafeQ Terminal Professional is 10.0.0.50 and 10.0.0.51 for YSoft SafeQ Terminal Ultralight)

  • Check current version of service firmware

    • For YSoft SafeQ Terminal Professional/YSoft Payment Machine (obtain low level information - service firmware and boot-loaders statuses)

    • For YSoft SafeQ Terminal Ultralight/YSoft SafeQ Network Card Reader you have to download whole configuration and search for the version on linux:

      ./termtool -I 10.0.0.50 -k
      ./termtool -I 10.0.0.51 -g

      on Windows:

      termtool.exe -I 10.0.0.50 -k
      termtool.exe -I 10.0.0.51 -g
  • Search for values of items SERVICE_STATUS and SERVICE_VER which contain information about current service firmware status and version.

  • Update service firmware by entering following command on linux:

    ./termtool -I 10.0.0.50 -us -i emergency-2.2.2-12.enc
    ./termtool -I 10.0.0.51 -us -i ultralight_service-1.7.fw

    on Windows:

    termtool.exe -I 10.0.0.50 -us -i emergency-2.2.2-12.enc
    termtool.exe -I 10.0.0.51 -us -i ultralight_service-1.7.fw
  • Wait for about 2 minutes

  • check if update was successful by getting current versions of service firmware

    ./termtool -I 10.0.0.50 -k
    ./termtool -I 10.0.0.51 -g

    on Windows:

    termtool.exe -I 10.0.0.50 -k
    termtool.exe -I 10.0.0.51 -g