Install a standalone Driver
Install the Synnax Driver on a computer other than the Core, log it in to the Core, and start it.
Each Core includes the Driver, which connects the devices on the Core’s computer. To connect devices on a different computer, install a standalone Driver on that computer. It connects to one Core over the network.
Step 1Install the Driver
NI Linux Real-Time
Linux
Windows
macOS
Before you install:
- Set the data acquisition modules of the controller to the NI-DAQmx real-time programming mode in NI MAX. See the NI CompactRIO user manual.
- Turn on SSH on the controller. You can turn it off after you install the Driver.
Open an SSH connection to the controller and log in as admin. On NI Linux Real-Time,
admin is root, so the commands on this page need no sudo there. Run:
curl -LO https://github.com/synnaxlabs/synnax/releases/download/driver/v0.60.0/install-driver-nilinuxrt.sh && chmod +x install-driver-nilinuxrt.sh && ./install-driver-nilinuxrt.shThe script installs the Driver as a service and starts it. The service also starts each time the controller starts. The Driver runs as root.
The Driver needs a recent glibc. See Requirements for the supported Linux versions.
Download the Driver:
curl -LO https://github.com/synnaxlabs/synnax/releases/download/driver/v0.60.0/synnax-driver-v0.60.0-linuxMove it into a folder on your PATH, and make it executable:
sudo mv synnax-driver-v0.60.0-linux /usr/local/bin/synnax-driversudo chmod +x /usr/local/bin/synnax-driverInstall the systemd service:
sudo synnax-driver installThe install command creates a synnax system user, the empty environment file
/etc/synnax/driver.env, and the synnax-driver service. It does not start the
service. It gives the service real-time permission and writes the udev rule
/etc/udev/rules.d/99-synnax-driver-latency.rules, so Arc automations can run with
precise timing.
For EtherCAT,
it gives the service raw Ethernet access and writes the udev rule
/etc/udev/rules.d/99-synnax-driver-ethercat.rules. After you upgrade the Driver, run
sudo synnax-driver install again.
Download the Driver:
Invoke-WebRequest -Uri "https://github.com/synnaxlabs/synnax/releases/download/driver/v0.60.0/synnax-driver-v0.60.0-windows.exe" -OutFile "synnax-driver.exe"Move synnax-driver.exe to a permanent folder, such as C:\Program Files\Synnax\. Then
add that folder to the Path system environment variable, so that each terminal can run
synnax-driver. Then open a new terminal.
Download the Driver:
curl -LO https://github.com/synnaxlabs/synnax/releases/download/driver/v0.60.0/synnax-driver-v0.60.0-macosMove it into a folder on your PATH, and make it executable:
sudo mv synnax-driver-v0.60.0-macos /usr/local/bin/synnax-driversudo chmod +x /usr/local/bin/synnax-driverCheck the installation:
synnax-driver versionThe output ends with the version:
Synnax Driver v0.60.0Step 2Log in to the Core
Create a user for the Driver with the Host role.
Then run login. On Linux, run it with sudo. On NI Linux Real-Time, run it as admin
with no sudo:
sudo synnax-driver loginThe command asks for the address of the Core, and checks that it can reach the Core. Then it asks for the username and the password:
Host [localhost]: 10.0.0.45
Port [9090]:
Secure (Y/N) [N]:
Username: driver
Password:When the output shows credentials saved successfully!, the Driver is logged in.
The Driver saves the password as plain text in its state file, and each user of the computer can read the file. Give the Driver a user with only the Host role, not an administrator.
Log in to a Core that uses TLS
Answer Y to Secure when the Core uses TLS, and give the host name of the
certificate, not an IP address. A certificate from a public authority, such as Let’s
Encrypt, needs no more setup.
For a certificate from your own authority, or from a Core that runs with --auto-cert:
- Linux, NI Linux Real-Time, and Windows -> add the CA certificate to the trust store of the operating system. See Install certificates.
- macOS -> the Driver does not read the macOS keychain. See the macOS tab of
Install the certificate.
Set
GRPC_DEFAULT_SSL_ROOTS_FILE_PATHin the shell that runsloginandstart.
On Linux and NI Linux Real-Time, you can instead set the same variable in
/etc/synnax/driver.env, before you run login. See
Environment file. The
Driver then trusts only the certificates in that file.
Step 3Start the Driver
NI Linux Real-Time
Linux
Windows
macOS
The Driver started before you logged in, so restart it:
synnax-driver restartSet the service to start when the computer starts, then start it:
sudo systemctl enable synnax-driver
sudo synnax-driver startThe Driver has no service on Windows. Run it in a terminal, and keep the terminal open:
synnax-driver start --standaloneThe Driver has no service on macOS. Run it in a terminal, and keep the terminal open:
synnax-driver start --standaloneStep 4Check the Driver
NI Linux Real-Time
Linux
Windows
macOS
Check the service:
synnax-driver statusA running Driver prints:
Synnax Driver is running (PID: 28191)Check the service:
synnax-driver statusThe terminal that runs the Driver shows its logs.
The terminal that runs the Driver shows its logs.
The Driver shows in the devices toolbar under the host name of its computer. To connect devices to it, see Devices.