Note: Tested with Raspberry OS Bullseye. You may use the Debian | Ubuntu guide when using Ubuntu for Raspberry.
Please keep in mind that your raspberry may not have enough CPU power to run FreeDATA effectively. Running the TNC headless should work fine. Connecting to the headless TNC via network from FreeDATA GUI is recommended.
Add user to dialout group to access serial devices without root
sudo adduser $USER dialout logout / login
sudo apt install git build-essential cmake npm curl -sL https://deb.nodesource.com/setup_16.x | sudo bash - sudo apt install nodejs sudo npm install -g n sudo n stable sudo npm install -g npm sudo apt install python3 portaudio19-dev python3-pyaudio python3-pip python3-colorama
git clone https://github.com/DJ2LS/FreeDATA.git cd FreeDATA pip3 install -r requirements.txt cd gui npm i cd ..
To make sure you are using the latest version of codec2, just download and compile it.
cd modem/lib (FreeDATA/modem/lib) git clone https://github.com/drowe67/codec2.git cd codec2 mkdir build_linux cd build_linux cmake .. make -j4
If you want to install codec2 system-wide, please run
sudo make install
Older versions of Ubuntu, like Ubuntu 20.04 LTS or Suse sometimes deliver outdated versions of Hamlib with their repositories. If you need a newer version, because of your radio for example, you can install the latest version from source. You may check the installed hamlib version by typing:
apt list python3-libhamlib2
Please uninstall older hamlib version before installing from source with
sudo apt remove python3-libhamlib2!
sudo apt install libusb-1.0-0 swig cd ~/Downloads wget https://github.com/Hamlib/Hamlib/releases/download/4.4/hamlib-4.4.tar.gz tar xvf hamlib-4.4.tar.gz cd hamlib-4.4 ./configure --with-python-binding PYTHON=$(which python3) make sudo make install sudo ldconfig
if you are running into unexpected errors, please try upgrading the python packages via pip, first. Please keep in mind that this can take some time due to limited CPU power of your raspberry pi!
pip3 install --ignore-installed pip pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U
Error Message: The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that /home/pi/FreeDATA/gui/node_modules/electron/dist/chrome-sandbox is owned by root and has mode 4755.
/home/pi/FreeDATA/gui/node_modules/electron/dist/electron exited with signal SIGTRAP
Please run the following commands:
sudo chown root node_modules/electron/dist/chrome-sandbox sudo chmod 4755 node_modules/electron/dist/chrome-sandbox
The raspberry pi image contains an outdated version of nodejs. Sometimes the installation via nodesource package does not work. As an alternative, building nodejs from source helps. Please following the tutorial on nodejs Github page https://github.com/nodejs/node/blob/master/BUILDING.md#building-nodejs-on-supported-platforms
or follow these steps:
./configure make -j4 sudo make install