REX : Installation Satnogs avec RSPDuo Debian 11 avec Virtualbox hôte Windows 10

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) :hot_face:

Je viens à l’instant de faire mon premier décode et tout fonctionne bien :star_struck:

Après de multiple installation, c’est pu affiner la procédure que je vais vous partager :star_struck:

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

Good day Mélaine and welcome to the community.

For SDR support, please have a look at Software Defined Radio - SatNOGS Wiki

A remark up front, part of the sdrplay software is closed source and you need to install that closed source driver to get a sdrplay sdr working.

Jan PE0SAT

1 Like

Bondoir Jan,

Merci pour les précisions, j’ai effectivement utiliser ce lien pour terminer la configuration de RSPDuo. C’est bien documenté.

Actuellement j’ai quelques coupure du port USB pour le moments ; que je tente de résoudre par la config de virtualbox… passage de usb 3.0 vers usb 2.0.

J’ai par ailleurs installée les add on, satnogs-auto-scheduler, gr-satellite et maintenant je tente satgnos_gr-satellite, mais le wrapper est kill a la ligne 67 après le lancement réussi de gr-satellite par le paramètrage du pré-script dans la config de satgnogs…Je cherche :wink:

En tout cas ce projet est vraiment magnifique GG

J’aurais d’autres questionnements sur le switch d’antenne, mais ca fera l’objet d’un autre poste certainement. Je commence tout doucement.

73’s

La coupure du port USB est lié à l’utilisation dans la configuration VirtualBox de l’UB 3.0. Depuis que je suis passé à USB 2.0, il n’y a plus de problème.

Je suis face à un autre problème l’audio est hachurée avec le RSPDuo.

J’ai testé avec un dongle RTL SDR V3 d’origine et je n’ai plus de problème audible d’hachurage… mais si la démodulation semble correcte à l’oreille ; le décode n’est pas à la hauteur de mes premiers essaies avec le RSPDuo.

Je repart avec une sauvegarde initiale de la VM pour tenter de trouver le problème.

Je me demande toutefois, si ce n’est pas un problème de performance lié à la VM après l’ajout des pre et post scripts de gr-satellite.

A noter qu’après analyse du script bash le message sur le kill du process satnogs_gr-satellite ne constitue pas un problème. J’ai modifier le script pour qu’il soit plus verbeux.

A suivre…

I know from experience that if you use a virtual machine you can’t go higher than a 1.024e6 sample rate, any higher and samples will be dropped.

May I suggest to look at the docker satnogs client, then you will not run into the sample issues

1 Like

Hello Jan,

Merci pour vos conseils, j’apprécie :wink:

J’ai trouvé un post où vous expliquer effectivement cela et je le garde dans un coin de ma mémoire.

De mes derniers essaies, quand je passe en USB 3.0 satnogs affiche visiblement un dépassement de tampon avec OsO, si j’ai bien compris. En USB 2.0 je n’ai plus ce problème, mais le décode n’est toujours pas bon.

J’ai tenté le RTS-SDR V3 avec un sample rate de 1.024e6, mais le décode n’est toujours pas bon.

Il y a un truc qui ne va pas. Ca m’intrique lol… Je vais certainement retenter une installation complète pour lever le doute.

J’ai étudié la possibilité du docker via l’installation de base satnogs et via GitHub - kng/satnogs-client-docker: Run satnogs-client inside one or more docker containers… ca sera certainement la suite du coup… si je n’arrive pas à résoudre le problème en l’état.

Les problèmes font progresser :grinning:

73’s Jan de F4TNK

Hello all,

Après plusieurs tentative, j’ai décidé d’abandonner l’idée d’utiliser satnogs avec une machine virtuel, comme me l’a conseillé Jan.

Du coup, je suis passé sur un Dragon OS non virtualisé en dual boot avec windows 10 en utilisant satnogs-client-docker (GitHub - kng/satnogs-client-docker: Run satnogs-client inside one or more docker containers).

J’ouvre un autre post sur ce sujet.