The connection to the target device fails.
Requirements
The SSH server on the target device is running on a known port (for example, port 22).
The correct IP address of the target device is known. The target device can be pinged via the IP address.
Troubleshooting
Tip
Other problems such as a slow network or a network error can also cause the connection to be interrupted.
After connecting to the target device, the Deploy Tool reads some system parameters in order to determine which packages and functions are available. The following aspects of the target device are checked:
Userland architectures
The Deploy Tool detects the available loaders on the target device. The available loaders determine which binary files can be executed. To do this, the Deploy Tool executes the following command:
ls -la /lib*/ld-linux*
If the output contains any of the following values, then the respective architecture is considered available: x86-64, i386, x32, armhf, aarch64.
For version 4.14.0.0:
If none of these values are found, then the connection is disconnected.
For version 4.15.0.0 and higher:
If none of these values are found, then the Deploy Tool prints a log message which states that no Userland architecture has been detected. The following parameters are then checked. However, this should not cause a disconnection.
Device architecture
The Deploy Tool checks which CPU is available on the target device. To do this, the Deploy Tool executes the following commands:
lscpu | grep ^Architecture:
If the output contains any of the following values, then the respective architecture is used: x86_64, i686, aarch64, armv7l, armv6l.
If the output does not contain any of these values, then the command
cat /proc/cpuinfo | grep '^model name'
is executed.cat /proc/cpuinfo | grep '^model name'
If the output contains any of the following values, then the respective architecture is used: x86_64, i686, aarch64, armv7l, armv6l.
If the output does not contain any of these values, then a log message is printed.
Container engine
The Deploy Tool checks which container engines are available on the target device. To do this, the Deploy Tool executes the following commands:
which docker
If the exit code is 0, then Docker is recognized as an engine.
which podman
If the exit code is 0, then Podman is recognized as an engine.
Note
The simultaneous use of two container engines has not been tested and is not fully supported. As a result, this could lead to problems.
Container architecture
The Deploy Tool checks which architectures the container engine can execute. To do this, the Deploy Tool executes the following command, depending on the detected engine:
docker info
If the
Architecture:
output contains any of the following values, then the respective architecture is used: x86_64, aarch64, armv7l, armv6l.If none of these value are founds, then a log message is printed.
podman info
If the
arch:
output contains any of the following values, then the respective architecture is used: amd64, aarch64, armv7l, armv6l.If none of these value are founds, then a log message is printed.
Init process
The Deploy Tool checks which init processes are available on the target device. To do this, the Deploy Tool executes the following commands:
systemctl > /dev/null 2>&1 ; echo $?
If the exit code is 0 and the output contains 0, then
systemd
is recognized as an available init process.ls /etc/init.d > /dev/null 2>&1 ; echo $?
If the exit code is 0 and the output contains 0, then
initd
is recognized as an available init process.
Package managers
The Deploy Tool checks which package managers are available on the target device. To do this, the Deploy Tool executes the following commands:
which dpkg > /dev/null 2>&1; echo $?
If the exit code is 0 and the output contains 0, then
dpkg
is registered as an available package manager.which ipkg > /dev/null 2>&1; echo $?
If the exit code is 0 and the output contains 0, then
ipkg
is registered as an available package manager.which opkg > /dev/null 2>1; echo $?
If the exit code is 0 and the output contains 0, then
opkg
is registered as an available package manager.For version 4.15 and higher:
which rpm > /dev/null 2>1; echo $?
If the exit code is 0 and the output contains 0, then
rpm
is registered as an available package manager.
Note
If a product and your system support dpkg
and ipkg
or opkg
, then dpkg
is used.
Python
The Deploy Tool checks whether Python is available on your target device. To do this, the Deploy Tool executes the following command:
python3 -v
If the exit code is 0 and the version is greater-equal than 3.9, then Python is recognized as installed.