ELISSA Wiki

Remote work on the Hamilcar On-Board Computer

To update the software, configure parameters or fix bugs it is essential to work on the on-board computer of the Hamilcar freeflyers. Some tricks to make this easier are shown on this page.


Table of Content:


Other usefull pages: Hamilcar Freeflyers, Hamilcar OBS, Network IDs


Enable an Internet Connection

One way to use the Hamilcar freeflyers with the internet is the connection of a screen and working in the desktop environment with a wifi connection. A simpler solution is possible with the use of sshuttle. It is already installed on the following systems:

  • Red Five
  • Hamilcar
  • Hannibal
  • Pegasus

Installation of sshuttle

The experience showed that the best way to install sshuttle is the usage of pip. Use the following command:

pip3 install sshuttle

The other available options did not run on the Raspberry Pi of Red Five.

Installation without Internet on the Remote

If no internet connection is available on the remote machine, the follwing steps must be done for an installation:

  1. Download the sshuttle repository as a zip file
  2. Copy this zip file to the remote via ssh:
scp /home/<sansa-username>/Downloads <remote-username>@<remote-ip>:/path/to/remote/file
  1. Install the pip-package using the file:
pip install sshuttle --no-index --find-links file:///path/to/remote/file
  1. Restart the system.

Execute sshuttle

To use sshuttle to connect the freeflyer to the internet, a command must be executed from the freeflyer. This can happen via an ssh-connection from the Sansa computer (or any other computer in the elissa network). Connect to the freeflyer via:

ssh <ff-username>@<ff-ip-adress>

The following command must be executed to foreward the internet traffic via the Sansa computer:

sshuttle --dns --verbose --remote <sansa-username>@<sansa-ip-adress> --exclude <sansa-ip-adress> 0/0

If the command is not found after installation, it may be necessary to provide the path to the installation when executing with python. The given command differs from the default one provided in the documentation, as this did not work on Red Five. The solution was found following this thread.

Usage

Another terminal must be opend to use the enabled internet connection. Now commands like git pull can be executed while still being connected to the elissa network and without the need to connect a screen.