Firmware for the Sinara 8462 Fast-Servo
Networking Ports
Usage | Port Number |
---|---|
ssh | 3030 |
linien-server | 18862 |
Building
Reproducible build with Nix
- Run
nix build .#packages.armv7l-linux.fast-servo-sd-image
to build the sd card image. - Run
nix build .#packages.armv7l-linux.fast-servo-gui
to build the GUI. - Run
nix develop
to build a dev shell having access the GUI.
Flashing
- Plug in your SD card to your computer and run
lsblk
to locate SD card. - If there are any partitions on the SD card, run
umount <mount point>
all the related mount points. - Run
sudo dd if=<path to the SD Card Image> of=/dev/<SD Card Device Name in lsblk> bs=4M status=progress oflag=sync
. - Eject the SD Card before removal.
Configuration
You can modify the followings by altering the files directly on the SD card. You can do that by inserting the SD card to a computer in Linux Operating system.
- Network Settings
- File Location: /etc/ip_setup
- Description: It contains the network setup script that is run once during initialization. You can add any network related to scripts to this file.
- SSH Public Key
- File Location: /etc/ssh/authorized_keys.d/root
- Description: SSH Public key authentication file.
You should append the ssh public key of your PC here with hostname removed.
- Instructions:
- Run
ssh-keygen
. - Type a filename for key to be saved. Let's say
foo
. - Type
Return(Enter)
twice when it asks for your passphrase. Fast-servo's ssh authentication is passwordless. - Open the generated public key file
foo.pub
. - Append the public key to the file
/etc/ssh/authorized_keys.d/root
with@hostname
removed(if any). For example, if sample ssh public key isssh-ed25519 xxx...xxx username@hostname
, you should appendssh-ed25519 xxx...xxx username
to that file.
- Run
Usage
- Make sure the onboard DIP Switch is in the following positions.
- EN: OFF
- MODE: ON
- Install the SD Card, power up the board via the power jack or PoE and plug in the RJ45 Ethernet cable.
- It can take a minutes or two for first boot. If it does not boot up, try to flash the SD Card again. The following table describes PL initialization status with the status of the front panel LEDs L0, L1, L2, L3.
L0 | L1 | L2 | L3 | Meaning |
---|---|---|---|---|
On | On | On | On | Si5340 Clock Generator fails to initialize |
On | On | X | X | LTC2195 Adc fails to initialize |
X | X | On | On | AD9117-2 Dac fails to initialize |
Off | Off | Off | Off | Fast-Servo PL initialization is successful |
Note: X = Don't Care
For debugging, you can hook up a USB-to-UART adapter and power cycle to the board to check the boot log. Or if able, ssh into the board and run python -m pyfastservo.initialize
to check its log.
4. By default, linien-server starts up automatically if PL Init is successful. In case linien-server crashes, it will restart itself. Logs are stored in /root/linien-server-log
.
ssh access is not required for linien client if linien-server is started. If not, then linien client will ssh into the fast-servo device to start the linien-server service.
Here are some commands for interacting with the linien-server service once you ssh <fast servo ip address> -p 3030
into fast-servo.
Description | Command |
---|---|
Start the linien-server service | linien-server start |
Stop the linien-server service | linien-server stop |
Check if the linien-server service is running | linien-server status |
Set the linien-server service to start at bootup | linien-server enable |
Set the linien-server service not to start at bootup | linien-server disable |
- In the dev shell, run
linien
to launch the GUI. Add new device. Fill in the hostname/ip address of the device and leave the other fields with default value unchanged. - Select the newly added device and click connect in the GUI to connect and start the GUI.
- To save the parameters to be loaded at start up, you would need to shutdown the linien-server service by clicking the corresponding button on the GUI, will ssh into the fast-servo and stop the linien-server service. Removing the power input on Fast-Servo will not save any parameter. Alternatively, you can save and load settings to/from a file on your PC via the GUI.
Filesystem Modes
By default, the SD card is mounted in read-only mode with RAM overlay to prevent data corruption when power is unexpectedly removed.
To change the filesystem mode:
- Set read-only mode:
fs-mode ro
- Set read-write mode:
fs-mode rw
The system will automatically reboot after changing modes.