Getting Started
Install, environment and licence on this machine
Everything below was exercised on MARTINI-GAMING. It is what a new person needs to know
before the first vsiBuild.
Where VSI is
Innexis VSI 2026.2 (build 11 June 2026) is installed at
D:\InnexisVSI\innexis_home\vsi_2026.2. The vendor manuals are in its docs folder as
PDFs (see reference/vendor-manuals-map). The bundled toolchain is mingw64 11.2.0 under
common\mingw64, and the bundled SystemC is 2.3.4. Python components are compiled against
the system CPython 3.13, not the bundled 2.7, so setuptools must be installed there.
Environment, every new shell
Source the environment script from PowerShell, then put the mingw64 bin folder on PATH:
. D:\InnexisVSI\innexis_home\vsi_2026.2\env_vsi.ps1
$env:PATH = "D:\InnexisVSI\innexis_home\vsi_2026.2\common\mingw64\mingw64-11.2.0\bin;" + $env:PATH
The script prints the values it set. The two that matter are INNEXIS_VSI_HOME and
SALT_LICENSE_SERVER, which must read 29000@MARTINI-GAMING. Those come from
env_vsi.win.txt in the install folder; the shipped file held placeholders and was edited
on 2026-08-20 (the original is kept as env_vsi.win.txt.shipped-original).
Licence: what VSI reads and what it needs
VSI licenses through SALT, Siemens' newer licensing client, against the Siemens License
Server on this machine (port 29000, vendor daemon saltd). The SALT client reads only
increments issued for the saltd vendor daemon in the dual-signed AUTH form. Increments
issued for the older mgcld daemon are invisible to it even though other Siemens products
on the same server use them happily. That single fact cost three days in September 2026.
Features and their status on this server:
| feature | needed by | served by saltd since |
|---|---|---|
| vsibuild | vsiBuild | 2026-09-05 |
| velpave360app, s2sSystemBus, InxIVN, inxaevsiinteg, inxvirtplatform | build and runtime | 2026-09-07 (to 30 December 2026) |
| VeloceStratoOS | the fabric server at simulation start | 2026-09-08 (to 2031) |
Check what the server serves and which daemon serves it:
"C:\Program Files\Siemens\Install\bin\LMUTIL.EXE" lmstat -c 29000@MARTINI-GAMING -i
A feature listed with vendor mgcld only is not usable by VSI. The server log,
C:\ProgramData\Siemens\License Server\saltd.log, is the oracle: OUT means served,
UNSUPPORTED ... PORT_AT_HOST_PLUS means the SALT client asked and was refused, silence
means nothing asked.
Installing an additional licence file
Never run the Siemens License Server installer to add a file: it replaces saltd.lic, the
whole Siemens estate. Never restart the server to fix a licence: saltd takes 10 to 12
minutes to come up and every Siemens product on the machine fails to license meanwhile.
Instead, keep only the INCREMENT FEATURE saltd ... lines of the issued file, give them
this header, and save it as its own .lic in
C:\ProgramData\Siemens\License Server\ActiveLicenses:
SERVER MARTINI-GAMING 3C7C3F24FA73 29000
VENDOR saltd saltd PORT=29001
Then reread:
"C:\Program Files\Siemens\Install\bin\LMUTIL.EXE" lmreread -c 29000@MARTINI-GAMING
lmreread prints a -139 timeout that is a false red; read the server log instead.
Installing a vendor file with both mgcld and saltd increments in it makes saltd log
CVD License file has been Tampered and refuse every increment, and a SUPERSEDE line in
it can disable the working vsibuild as well. Split the file.
Two machine settings that a twin needs
- Fabric ports. The fabric server listens on fixed TCP ports 50101 plus the component
index. That block sat inside the Windows dynamic port range, so an unrelated outbound
connection could hold one of them and the twin would stall at client connect with no
licence request and no trace. Fixed machine-wide on 2026-09-08 with the dynamic range
moved to 50200 and an administered exclusion of 50101 to 50200. Verify with
netsh int ipv4 show excludedportrange protocol=tcp(the range shows an asterisk). - Firewall. Windows raises an approval popup for every new FabricServer binary, and every
twin builds its own copy, so an unattended run hangs on the popup. The fix applied here
was
Set-NetFirewallProfile -All -NotifyOnListen Falseplus one loopback rule for TCP 50101 to 50200.
Path length for Python components
The Python gateway extension nests a build folder under the twin, and past about 260
characters the link step fails with a message naming a missing .def file rather than the
path length. Generate twins that hold Python components to a short root such as D:\wfpy
(the --workspace option of the generators). Twins with only C++ components are unaffected.
Source: innexis-vsi/README.md, LICENCE-REQUEST.md, memory innexis-vsi-install (EXERCISED 2026-09-05 to 2026-09-08); InnexisVsiInstallationGuide.pdf (VENDOR) · retrieved Tue Sep 08 2026 00:00:00 GMT+0000 (Coordinated Universal Time)