Quickstart: test a reader
Prepare a unique installation directory on a trusted computer, install it on one xSpan, and verify the connection.
1. Prerequisites
- An xSpan R660 matching the qualified environment, with authorized SSH or OEM factory provisioning access.
- The evaluation ZIP, a separately supplied enrollment key file and a StreamZet operator account.
- Python 3 on the provisioning computer; correct reader time, DNS and outbound TCP 443. Python is not required on the reader.
2. Extract and verify
shasum -a 256 -c streamzet-xspan-evaluation-0.2.1-20260922.zip.sha256
unzip streamzet-xspan-evaluation-0.2.1-20260922.zip -d xspan-evaluation
cd xspan-evaluation
shasum -a 256 -c SHA256SUMSOn Linux, sha256sum -c can replace shasum. Obtain the checksum file together with the ZIP.
3. Provision one device
umask 077
mkdir -p ./provisioning
python3 device/prepare-device.py \
--registration-key /secure/JCI-production-key.txt \
--output ./provisioning/reader-001 \
--name 'xSpan R660 001'The new directory contains the engine, CA bundle, lifecycle scripts, enrollment key and a unique 64-byte entropy seed. The tool refuses an existing output directory. First startup creates state/identity containing the device UUID and secret.
4. Transfer and start
Use verified SSH or approved factory provisioning. This example assumes /mnt/spp/streamzet-jci does not already exist on the test reader. Adapt the installation location to the OEM’s persistent-storage policy.
# On the provisioning computer
scp -pr ./provisioning/reader-001 root@READER_HOST:/mnt/spp/streamzet-jci
# In the reader's authorized shell
cd /mnt/spp/streamzet-jci
chmod 700 . state streamzet-embedded start.sh stop.sh
chmod 600 registration.key cacert.pem device-name state/entropy.seed
./start.sh5. Verify the connection
- Sign in to StreamZet and confirm that the named reader appears online in Devices.
- Open the terminal and run the read-only commands below. The output should match the actual reader.
- In Fleet → Linux → sh · xSpan / embedded, select only this test reader and run the same command. Check its result and exit code.
printf 'STREAMZET_TEST_OK\n'
uname -m
uptimeThe agent checks the Fleet queue approximately every 30 seconds. Enrollment is asynchronous; successful process startup does not by itself confirm online status.