When porting a D2000 application developed for Windows to Linux, you may encounter the following differences:

  • File names and paths are case-sensitive
  • Directory separator is "/" (slash)
  • File access rights (owner/group/others)

When patching D2000 binaries, the following steps should be performed

  • owner/group should be changed to the D2000 user and group under which the D2000 system was installed, e.g. 
    chown d2000:d2000 kernel
  • read/write/execute flags should be set so that at least the D2000 user can run them, e.g.
    chmod 755 archiv
  • D2000 Kernel process requires special capabilities to create multicast sockets: 
    setcap cap_net_raw=pe kernel
  • D2000 Kom process may require special capabilities to work with raw sockets, to bind to privileged ports and to work with GPIO:
    setcap cap_dac_override,cap_sys_rawio,cap_net_bind_service+ep kom


While debugging the performance of the D2000 Archive, a bottleneck was identified within the unixODBC component. Performance can be significantly improved by recompiling unixODBC with the "--enable-fastvalidate" option enabled, e.g:
configure --enable-fastvalidate --with-gnu-ld=yes --enable-threads=yes --enable-drivers=yes --enable-driverc=yes

Then you need to replace the original library (/usr/lib64/libodbc.so.2.0.0) with the new one and also replace the symbolic link /usr/lib64/libodbc.so.2.


When working with TCP connections, we recommend changing the value of the net.ipv4.tcp_syn_retries parameter from the default 6 to 3. This will cause a faster timeout when establishing a connection (the value 6 corresponds to up to 130 seconds, and the value 3 corresponds to 16 seconds).

This parameter can be set at runtime with the command

sysctl net.ipv4.tcp_syn_retries=3

or at the start - e.g. by creating a /etc/sysctl.d/80-d2000.conf file with the contents

# Ipesoft D2000 communication setting
# decrease tcp_syn_retries from default (6) to 3 to enable faster reconnect of redundant communications
net.ipv4.tcp_syn_retries = 3
Napíšte komentár