SEH myUTN-50a USB Deviceserver: Auto-Connect Workaround

Die SEH myUTN USB-Deviceserver sind eigentlich eine zuverlässige Sache. Bei einem Kunden allerdings streikt seit neuestem leider immer mal wieder der Auto-Connect.

Die Funktion “Auto-Connect” sorgt dafür, das ein ausgewählter USB-Port an einem Deviceserver automatisch an einem Computer zur Verfügung steht. Bei diesem Kunden hängt an Port 1 ein reinerSCT cyberJack-Kartenleser. Das gesamte Konstrukt funktionierte bislang ohne irgendwelche Überraschungen, aber seit März 2021 gab es bereits drei Mal den Fall, das der Kartenleser nicht automatisch verbunden wurde.

Umgesteckt oder irgendetwas geändert hat sich nichts. Das USB-Gerät wird angezeigt, nur eben der Connect fehlt. Klar kann man einfach im “UTN Manager” den Port bzw. das Gerät wieder verbinden, die Anwenderin ist allerdings gewohnt, das es einfach so läuft.

Eine Überprüfung der Verbindungen, der Software- und Firmware-Stände brachte nichts. Ab und an läuft es schlichtweg nicht. Als Workaround habe ich mir dann ausgedacht, mittels einer Aufgabe den Connect nach der Benutzeranmeldung nochmal durchführen zu lassen. An dieser Stelle kommt einem gelegen, das SEH eine entsprechende CLI anbietet und man sich leicht aus dem “UTN Manager” heraus zudem Verknüpfungen mit der nahezu komplett nutzbaren Befehlszeile anlegen lassen kann.

Die Verknüpfungen erzeugt man wie folgt:

  • Das betreffenden USB-Gerät mit der rechten Maustaste anklicken,
  • aus dem Kontextmenü den Punkt “UTN Aktion erstellen…” auswählen,
  • die Voreinstellung belassen,
  • ggf. den Namen der Aktion ändern,
  • zu guter Letzt auf “Speichern & Beenden” klicken.

Aus den Eigenschaften dieser Verknüpfungen lässt sich dann der Befehl entnehmen:

"C:\Program Files\SEH Computertechnik GmbH\SEH UTN Manager\screxe.exe" "C:/Program Files/SEH Computertechnik GmbH/SEH UTN Manager/utnm.exe" /c "activate 192.168.0.7 1"

Hier wird der Port 1 aktiviert. Das ist soweit schon sehr gut, allerdings erscheint eine Meldung am Ende des Vorgangs. Diese kann einfach durch das Anhängen von “/q” unterdrückt werden. Erfreulicherweise liefert der Befehl einen Rückgabewert, den man Auswerten oder Protokollieren kann. Ein simpler Dreizeiler als Batch-Skript sieht so aus:

@echo off

rem Aktiviert den ersten USB-Port am SEH myUTN-50a

"C:\Program Files\SEH Computertechnik GmbH\SEH UTN Manager\screxe.exe" "C:/Program Files/SEH Computertechnik GmbH/SEH UTN Manager/utnm.exe" /c "activate 192.168.0.7 1" /q
echo %date% - %time% - %errorlevel% >> SEH-Port.log

Dieses Skript als Aufgabe bei der Benutzeranmeldung ausgeführt protokolliert den (Miss-)Erfolg der Port-Aktivierung. Anbei ein Auszug aus dem Log:

01.04.2021 - 23:26:19,83 - 0 
02.04.2021 - 23:26:19,04 - 0 
03.04.2021 - 23:26:19,59 - 0 
04.04.2021 - 23:26:18,44 - 0 
05.04.2021 - 19:46:16,47 - 0 
06.04.2021 - 8:31:36,65 - 0 
06.04.2021 - 13:05:39,08 - 23

Null bedeutet erfolgreich, 23 heißt das der Port bereits aktiv ist. Soweit also alles im grünen Bereich. Anbei die Hilfe der “utnm.exe”:

C:\Program Files\SEH Computertechnik GmbH\SEH UTN Manager>utnm /?

NAME

utnm.exe - UTN connection management, i.e. (de)activation of USB ports and
  connected USB devices, for UTN and INU servers by SEH Computertechnik GmbH

SYNOPSIS

  utnm.exe
    [/c <"command string">] [/h] [/k ] [/mr] [/nw]
    [/p ] [/q] [/sp ] [/t ] [/v]

DESCRIPTION

utnm is used to manage UTN connections, i.e. the (de)activation of USB ports
and connected USB devices.
It is the command-line interface of the SEH UTN Manager, i.e. the minimal
version of this tool (usable without graphical user interface, fewer features).

You need a UTN or INU server from SEH Computertechnik GmbH to use utnm.
You can also use utnm in scripts to automate UTN connections.

NOTE:
      - Options in square brackets are optional.
      - Elements in <> are to be replaced with the appropriate values.
        Examples:  = IP address or host name of a UTN or INU server;
         = vendor ID of the USB device;  = product ID of
        the USB device; etc.
      - Options are not case-sensitive.
      - Only the ASCII format can be read.

OPTIONS

  /c | /command 
       Runs a command. The command is specified in greater detail by the
       command string. Command strings:

       "activate  "
         Activates the connection to a USB port and the connected USB device.

       "activate   "
         Activates the first free device with the defined vendor ID product and
         product ID, if several identical USB devices are connected to the UTN
         or INU server.

       "deactivate  "
         Deactivates the connection to a USB port and the connected USB device.

       "set autoconnect=true|false  "
         Enables/disables Auto-Connect for the USB port: If a USB device is
         connected to the USB port, the connection will be automatically
         activated.

       "set userportkey=''  "
         Stores a USB port key locally on the system in a system user account.
         This way, the USB port key is always automatically sent and must not
         be specified each time with the command
         /k  | /key  (see below).
         (To remove the USB port key use the command string
         set userportkey=  .)
         NOTE: The command only sets the USB port key permanently to make the
         USB device available. The USB port key configuration is done via the
         Control Center (the server's graphical user interface).

       "set autoconnectportkey=''  "
         Stores a USB port key locally system-wide for the Auto-Connect
         feature. This way, the USB port key is always automatically sent and
         must not be specified each timewith the command
         /k  | /key  (see below).
         (To remove the USB port key use the command string
         set autoconnectportkey=  .)
         NOTE: The command only sets the USB port key permanently to make the
         USB device available. The USB port key configuration is done via the
         Control Center (the server's graphical user interface).

       "find [-]"
         Searches for all UTN and INU servers in the network segment and shows
         the servers found with IP address, MAC address, model, and software
         version.
         You can also search specified IP address ranges.

       "getlist "
         Shows an overview of the USB devices connected to the defined UTN or
         INU server (including port number, vendor ID, product ID, manufacturer
         name, product name, device class, and status).

       "state  "
         Displays the status of the USB device connected to the USB port.

  /h | /help
       Shows this help page.

  /k | /key 
       Specifies a USB port key.
       NOTE: The command only enters the key to make the USB device available.
       Use the command /c "command string"
       respectively /command "command string" to permanently store a USB
       port key on the system so that it is sent automatically each time (see
       above).
       The USB port key configuration is done via the Control Center (the
       server's graphical user interface).

  /mr | /machine-readable
       Separates the output of the command string 'getlist' with tabulators and
       the output of 'find' with commas.

  /nw | /no-warnings
       Suppresses warning messages.

  /p | /port 
       Uses an alternative UTN port. Use this command if you have changed the
       UTN port number.

  /q | /quiet
       Suppresses the output.

  /sp | /ssl-port 
       Uses an alternative UTN port with SSL/TLS encryption. Use this command
       if you have changed the encrypted UTN port number.

  /t | /timeout 
       Specifies a timeout for the command strings 'activate' and 'deactivate'.

  /v | /version
       Shows version information about utnm.


RETURN VALUES / ERROR LEVELS

  0  Command was executed successfully.
 20  Activation failed.
 21  Deactivation failed.
 23  Is already activated.
 24  Is already deactivated or not available.
 25  Activation failed: another user has activated the USB port incl. device.
 26  Not found: No USB device connected to the USB port or port key is missing
     or wrong.
 29  Not found: No USB device with this VID and PID connected.
 30  Isochronous USB devices are not supported.
 31  UTN driver error. Contact SEH Computertechnik GmbH support.
 40  No network connection to the UTN or INU server.
 41  Encrypted connection to UTN or INU server cannot be established.
 42  No connection to UTN service.
 43  DNS resolution failed.
 44  Missing rights (administrative rights required).
 47  Feature not supported.
200  Error (with error code).

4 Kommentare

  1. L. Troll

    Hi Andy,

    super Beitrag – hat mir sehr geholfen!
    Bist du mit dem Fall zufällig vertraut, dass bei dem Befehl

    “C:/Program Files/SEH Computertechnik GmbH/SEH UTN Manager/utnm.exe” /c “activate ”

    die Hilfestellung wie mit Befehl

    “C:Program FilesSEH Computertechnik GmbHSEH UTN Manager>utnm /?”

    kommt? Ich erhalte also keinen Return-Code, sondern immer die Hilfe.
    Die Abfrage des Status mit /c “state….” funktioniert problemlos. Selber Befehl zur Aktivierung liefert die Hilfe-Ausgabe…

    Vielleicht hast du da zufällig Erfahrung 🙂

  2. Andy

    I.d.R. passiert das meiner Erfahrung nach immer dann, wenn mit der Syntax oder dem Befehl etwas nicht stimmt. Bei Copy&Paste von Befehlen aus Anleitungen heraus verstecken sich gerne mal Zeichen oder wird ein anderer Zeichensatz verwendet. Im Zweifelsfall alles mal sauber in einer neuen Datei eintippen. Ggf. Mal mit Notepad++ oder mal nach versteckten Zeichen schauen, Codierung, etc. schauen.

  3. Tom

    Hallo, ist es auch möglich über Powershell den UTN-Server zu steuern? Bzw. Ports zu de/aktivieren und zuzuweisen? Ich habe bis jetzt nämlich keine Möglichkeit gefunden die Funktionen zu steuern. Das einzige was ich schaffe ist den UTN Manager zu starten.

  4. Andy

    Am besten mal den Hersteller-Support fragen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

© 2024 Andy's Blog

Theme von Anders NorénHoch ↑