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.1/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.1/synnax-driver-v0.60.1-linuxMove it into a folder on your PATH, and make it executable:
sudo mv synnax-driver-v0.60.1-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.1/synnax-driver-v0.60.1-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.1/synnax-driver-v0.60.1-macosMove it into a folder on your PATH, and make it executable:
sudo mv synnax-driver-v0.60.1-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.1Step 2Log in to the Core
You need the username and password of a user who can create racks. 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:The command then creates a rack for the Driver and an API key for that rack. It saves
only the API key, never the password, and the Driver logs in as its rack with the key.
When the output shows API key saved successfully!, the Driver is logged in.
An upgraded Driver that saved a username and password does this at its first start, and
keeps its rack. If that user cannot create racks, the Driver logs the warning
Failed to enroll Driver, and keeps logging in with the password. To fix it, run
login as a user that can create racks, or create an API key for the rack in the
Console and set it as api_key in the
configuration.
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.