Hello all,
Cela fait maintenant 2 jours que je tente de faire fonctionner Satnogs avec RSPDuo sous Debian 11 avec Virtualbox hôte Windows 10 (n’ayant pas encore de Raspberry)
Je viens à l’instant de faire mon premier décode et tout fonctionne bien
Après de multiple installation, c’est pu affiner la procédure que je vais vous partager
PS : on peut largement améliorer le presque script en mettant des variables notamment, mais après 2 jours non stop…j’en ai un peu marre lol
Hurry go …
73’s de F4TNK Mélaine
#############################################################################
# Auteur : F4TNK Mélaine #
# Date : 14/09/2024 #
# File : Satnogs_install_Deb_Sdrplay.txt #
# Version : 1.0 #
# #
# Installation de Satnogs pour RSPDuo Sdrplay / API 3.15.2 #
# Debian 11.11 VirtualBox 7.x Hôte Windows 10 #
# #
#############################################################################
#Configuration Debian 11 VirtualBox sur hôte Windows 10
#https://www.virtualbox.org/
Télécharger et installer virtualbox 7.x et Oracle Virtualbox Extession Pack 7.x
#https://cdimage.debian.org/cdimage/archive/11.11.0/amd64/iso-cd/debian-11.11.0-amd64-netinst.iso
Télécharger et installer sur VirtualBox (mettre la moitié de CPU + de RAM disponible sur l'hote + si problème débit mettre carte réseau paravirtuel et accès par pont) l'iso de debian 11.11 en activant le serveur ssh lors de l'installation
Nom de la machine : debian
Domaine : vide
User : f4tnk
Dans dans la console virtualbox Oracle Virtualbox Extession Pack 7.x
Depuis la VM :
Dans le menu VirtualBox de la fenetre de la VM, choisir Peripérique --> Inserer l'image des additions invité
Allez sur l'explorateur et faire un run du CD qui sera en echec, mais ca permet de rendre disponible plus facilement /media/cdrom0 dans le terminal
------- BASH CMD --------------------
echo "Installation Add on Virtualbox pour copier coller, montage disque sur hôte et usb"
# Tout est exécuter en root pour plus de simplicité
su -l
sh /media/cdrom0/VBoxLinuxAdditions.run
reboot
echo "System base"
echo "-------"
# Tout est exécuter en root pour plus de simplicité
su -l
# Tous est installé dans le répertoire /root
pwd
# Autorise l'utilisateur f4tnk Debian (à modifier) à faire un sudo
echo "f4tnk ALL=(ALL:ALL) ALL" >> /etc/sudoers
# Mise à jour et installation des outils
apt-get update -y
apt-get upgrade -y
apt install vim -y
apt install git -y
apt install curl -y
echo "Installation ANSIBLE 2.12"
echo "-------------------------"
# Par default Debian 11 n'a pas Ansible 2.12 dans son repository, il faut donc adapter la source de l'apt
# Debian 11 correspond à la distribution Ubuntu Focal
UBUNTU_CODENAME=focal
# On trust car parfois le keyservr n'est pas disponible... peu de risque sur un PC Radio
echo "deb [trusted=yes] http://ppa.launchpad.net/ansible/ansible/ubuntu $UBUNTU_CODENAME main" | sudo tee /etc/apt/sources.list.d/ansible.list
# Mise à jour est installation de ansible 2.12 nécéssaire à satnogs-ansible
apt update && apt install ansible
apt install python-setuptools -y
echo "Install SoapySDRPlay"
echo "--------------------"
#https://groups.io/g/SDRPlayUsers/topic/simple_install_solution_for/83829243 et https://github.com/pothosware/SoapySDRPlay3/issues/82
#Sous windows dans les services désactiver et mettre le service en manuel le service API Sdrplay
#Dans virtualbox au niveau de la configuration de la VM mettre un filtre sur le device USB de Rspduo + Cocher le device USB Rspduo dans la config USB de la fenetre de la VM
# Installation de l'API Sdrplay sous linux
wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.15.2.run
chmod 755 ./SDRplay_RSP_API-Linux-3.15.2.run
./SDRplay_RSP_API-Linux-3.15.2.run
# Installationd de SoapySDRPlay
git clone https://github.com/pothosware/SoapySDRPlay.git SoapySDRPlay
cd /root/SoapySDRPlay
mkdir build
cd /root/SoapySDRPlay/build
cmake ..
make
make install
ldconfig
reboot
# Vérification de la prise en compte du RSPDuo
SoapySDRUtil --probe="driver=sdrplay"
SoapySDRUtil --find=sdrplay
echo "Install Satnogs"
echo "----------------"
# Le repository officiel pour Satnogs avec l'ensemble des outils + doc est sur https://gitlab.com/librespacefoundation/satnogs
cd /root
mkdir satnogs-client-ansible
git clone https://gitlab.com/librespacefoundation/satnogs/satnogs-ansible.git satnogs-client-ansible/
cd /root/satnogs-client-ansible
git checkout stable
cp -r production.dist production
# Important modifier la configuration de base en ajoutant le hostname de la machine, ici debian pour l'exemple
sed -i "s@ansible_host: '10.20.30.40'@ansible_host: 'debian'@g" /root/satnogs-client-ansible/production/inventory/hosts
# Important modifier la configuration de base en ajoutant l'utilisateur debian de la machine, ici f4tnk pour l'exemple
sed -i "s@ansible_user: 'pi'@ansible_user: 'f4tnk'@g" /root/satnogs-client-ansible/production/inventory/hosts
# Important modifier la configuration de base en ajoutant le mot de passe de l'utilisateur debian de la machine, ici !azertyAZERTY2024 pour l'exemple
# Si caractère spéciaux mettre un \ devant comme ici pour le !
sed -i "s@ansible_ssh_pass: 'raspberry'@ansible_ssh_pass: '\!azertyAZERTY2024'@g" /root/satnogs-client-ansible/production/inventory/hosts
# Modification de la configuration SSH pour satnogs-ansible
sed -i "s@#PermitRootLogin prohibit-password@PermitRootLogin yes@g" /etc/ssh/sshd_config
sed -i "s@#PasswordAuthentication yes@PasswordAuthentication yes@g" /etc/ssh/sshd_config
# Redémarrage du daemon ssh pour prise en compte des modifications
systemctl restart ssh
# Modification pour éviter le prompt yes de trust de certificat: attention mdofier debian par le hostnamde de la machine et f4tnk par le user debian de la session
mkdir /root/.ssh
ssh-keyscan debian >> /root/.ssh/known_hosts
ssh f4tnk@debian true
# Modification du répertoire temporaire ansible afin d'avoir les logs de satnogs et d'avoir des problèmes d'autorisation
echo "[defaults]" >> /etc/ansible/ansible.cfg
echo "remote_tmp = /tmp" >> /etc/ansible/ansible.cfg
echo "remote_tmp = /tmp" >> /root/satnogs-client-ansible/ansible.cfg
# Suppression de la source liste apt ansible, afin d'éviter une erreur lors de l'éxécution du playbook ansible
rm /etc/apt/sources.list.d/ansible.list
# Installation de Satnogs via ansible
ansible-playbook -i production/inventory/hosts -K site.yml
# Vérifier la configuration du service, il démarre automatiquement
cat /etc/systemd/system/satnogs-client.service
# Vérifier les logs de satnogs en complet ou en live (ligne commenté)
journalctl -u satnogs-client.service
#journalctl -f -u satnogs-client.service