-

Uit Projectgroep .540
Ga naar: navigatie, zoeken


Inhoud

Info

Hier staat de copy uit mijn hand aantekeningen, met blz nummers schrift. Kijken mag, vragen mag...maar niets veranderen

Pagina van f4vsj, notities config, utilities enz.

This is a copy of my personal notes, I assembled over the time i'm discovering SVXlink on a linux Orange PI; Raspberry Pi For sure it's NOT complete, maybe not updated, maybe with errors...

have a look; maybe you find some hickups,bugs or errors Use the info and if you want more details, just give me a call on the RRF or email: f4vsj@florhans.bzh

Admin rrf

Dev/App/Local Storage/rrf...8080

admin en CALL

Admin refl

r Re: reflector admin Hello

il n'a suivi mais pas dans la doc dans /home/Admin/listing reseaux Reflector
mais dans les fait oui.
donc pour le configurer :
### Admin ###
echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.admin
echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.admin
echo "PORT=5302" >>/etc/spotnik/svxlink.admin
faire un restart.admin ou utilisé le restart.reg . les entrée dans le Logic.tcl et éventuellement la modif dans le GUI

--

  1. !/bin/bash
  1. DTMF 130 RRF #
  2. Stop svxlink

if pgrep -x svxlink >/dev/null then

   pkill -TERM svxlink
   pkill -f timersalon

fi

  1. Save network

echo "admin" > /etc/spotnik/network


  1. creation du svxlink.admin

rm -f /etc/spotnik/svxlink.admin sleep 1 cat /etc/spotnik/svxlink.cfg >/etc/spotnik/svxlink.admin

  1. coipe du host pour le reflector

echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.admin echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.admin echo "PORT=5302" >>/etc/spotnik/svxlink.admin

sleep 1

  1. Clear logs

> /tmp/svxlink.log

  1. Launch svxlink

svxlink --daemon --logfile=/tmp/svxlink.log --pidfile=/var/run/svxlink.pid --runasuser=root --config=/etc/spotnik/svxlink.admin sleep 1

  1. Enable propagation monitor module

echo "10#" > /tmp/dtmf_uhf echo "10#" > /tmp/dtmf_vhf


pensez a désactivé le raptor avant , c'est un salon inconnu pour lui . 73" JP / F5NLG


Le 26/04/2020 à 12:35, Jean-Francois - F1EVM a écrit : Hello,

Tu parlais récemment du salon Admin :

J'ai voulu reconfigurer, mais je m'aperçois qu'il n'a pas dû suivre les évolutions en même temps que les autres salons.

dans le rc.local :

  1. salon satellite

svxreflector1 --daemon --config=/etc/svxlink/svxreflectorSat.conf --logfile=/tmp/svxreflectorSat.log


et dans le fichier /home/ADMIN/listing reseaux Reflector :

      1. Admin ###

echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.admin echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.admin echo "PORT=5300" >>/etc/spotnik/svxlink.admin


Je pense qu'il faut remettre ça au goût du jour. Ça devait être fait avec la version précédente du reflector.

Et je pense qu'il va être de plus en plus intéressant qu'on puisse avoir cette option pour s'isoler. Surtout qu'avec le Raptor on est vite repéré !! ;)

73s JF -- Jean-Philippe Piers F5NLG "7 rue du guic" 22810 Belle isle en terre skype: jppiers Gsm: 06.99.38.48.44


Admin 540.conf

RRF2

cd /etc/svxlink
nano pg540.conf

SQL_TIMEOUT=6000

Admin call restriction log

PG540 on RRF2

/tmp/pg540.log
/root/errorsRegex/errorsRegex.log

view last

tail -Fn +1 errorRegex.logs

19 Aug 2023 86.92.255.228
 1 van joop 
14 sept 2023 86.94.11.32
 (BE) HB9CVG-M H
 (NH) PE1MWL-540 V
 (NH) PE1MWL-VHF V
 (NH) PE1MWL-V V 

trace ip adress:

https://www.ipaddress.com/

Armbian Monitor

armbianmonitor -m (temperature)

interresantes:

https://newini.wordpress.com/2017/08/13/control-orange-pi-zero/

Alsamixer (11)

sudo alsactl store

Alsamixer settings OPI (45)

F5 
linout 55
linout 55
Adc input 0
Adc input 0
Audio ad MM adda drc OFF
Audio ad MM adda loop OFF
Audio li MM linein in OFF
Audio li 00 lineout
Lineout (45) 55 boost stage output mixer
Mic 1 14 boost amp gain ctrl
Mic 1 14 boost amp gain ctrl
Mic 1 G 0 boost stage output mixer
Mic 1 G 0 boost stage output mixer
Mic 2 0 boost stage output mixer
Mic 2 0 boost stage output mixer
Mic 2 G 0 boost output mixer CTRL
Mic 2 G 0 boost output mixer CTRL
Audio CA main mic and capture mode

F6
MDMI Audio format  PLM

Alsamixer settings RASPI2 (33)

* speakers 100<>100 in taky 00
* mic 14 00 from talky
* capture LR 15
* autogain MM

antenne spotnik 70cm

whip 164 mm: 434.550 1/4 lambda

orig:

29 spires 4mm phi: 12.56*29=364mm

Audio-sh OPI (47)

amixer -c 0 cset numid=6    78%
                 numid=4    12%

Balena Etcher

Boot of OPI

1 Action Command File More info
2 Power on OPI After power-up, the A10/A20 boots from an integrated, non-replaceable 32 KiB ROM chip (Boot ROM or BROM). This could be considered the primary program-loader.
3 1. FEL Mode See:http://linux-sunxi.org/BROM
4 2. eGON.PRM
5 boot loader on SD-Card (MBR) boot
6 grub /boot/grub
7 load kernel Initrd.img*-4.19-05-amd64
8 initramfs Abbreviated from “initial RAM file system”
9 read /etc/rc0.d
10 starts applications
11 i.e. lighttpd is the webserver etc/rc0.d/@K01lighttpd
12 And here it gets interresting
13 Execute rc.local /etc/rc.local
14 1. Starts restart /etc/spotnik/restart
15 Restart reads last used network ID /etc/spotnik/network Which is pg540
16 and launch restart.540 /etc/spotnik/restart.540 Switch to the requested network/reflector
17 1. Connect to reflector Host,Key,Port=... /etc/spotnik/restart.540
18 2. clear all logfiles > /tmp/svxlink.log
19 3. launch svxlink svxlink
20 1. writes logfile to --logfile=/tmp/svxlink.log /etc/spotnik/restart.540
23 from here you can read the logfile or via pg540 program:
24 2. you can read config in viewsvx /etc/spotnik/*viewsvx Line 03. See the Spotnik logfile,
25 4. read the config for svxlink -config=/etc/spotnik/svxlink.540 /etc/spotnik/svxlink.540
26 insert Call,Location etc /etc/spotnik/svxlink.540
27 2. Starts GUI make start /opt/spotnik/gui
28 Waits 10 secondes to publish website Sleep 10
29 5. Say connected to …
30 6. say the IP address sayip /usr/share/svxlink/event.d/logic.tcl Line 416


/var/run/dmesg.boot
journalctl
journalctl -u <service-name> -b
journalctl --list-boots

Boot-repair install

Install boot-repair on Debian from Ubuntu PPA

This post is mainly so I remember how this worked myself, but I maybe it’ll be useful for others as well. boot-repair is a tool that helps you get your GRUB settings right post installation. I need it to get dual installations right.

Ready-made script (installs requirements, adds PPA and installs boot-repair itself):

apt-get install software-properties-common python-software-properties -y
add-apt-repository ppa:yannubuntu/boot-repair
# sed -i 's/wheezy/trusty/g' /etc/apt/sources.list.d/yannubuntu-boot-repair-wheezy.list
sed -i 's/jessie/trusty/g' /etc/apt/sources.list.d/yannubuntu-boot-repair-jessie.list
apt-get update;
apt-get install -y boot-repair;
boot-repair

Notes: Copy code into a new file, e.g., via vim boot-repair-insta.sh (use your favorite editor obviously; nano, mousepad, gedit are options you can try ad-hoc. If you’re stuck here, you may want to reconsider dual booting however; sorry) Execute via sudo ./boot-repair-insta.sh Adjust debian and ubuntu versions before using (jessie / wheezy / trusty here)

Sources:

http://www.webupd8.org/2014/10/how-to-add-launchpad-ppas-in-debian-via.html

https://help.ubuntu.com/community/Boot-Repair

Call

call in [Simplexlogic]
        [LocationInfo]
        [ReflectorLogic]

Create image for OPI

All details


Prepare the image first:

On main computer

1) Download the latest image

On the ftp server
@ 19feb2021:
spotnik-3.1.1_opi from 06dec2020
or
spotnik-4.1_opi from 31dec2020

2) Etcher: Create sd-card

Balena etcher 1.5.100

3) Gparted: expand partition to max

V0.32.0

partition resize: to max


OF AUTO AT BOOT

4) Boot on Orange Pi

5) Angry Ipscanner: Get IP adress

p.ex. 192.168.1.42

6) in SSH terminal

 Armbian-config:
 * cpu 240-816 ondemand
 * update upgrade
 * locales
 - disable FR
 - en_US.UTF-8
 * Keyboard optional
 * Hostname
 -right hostname
 * mirror
 -automated
 * exit armbian-config
 * uname -a
 - Linux spotnikv31 4.19.62-sunxi #5.92 SMP Wed Jul 31 22:07:23 CEST 2019 armv7l GNU/Linux

7) In webgui

 * call
 * country/dep
 * Hotspot

8) in SSH Terminal

 configure internal reflector
 mc:
 * /etc enable Reflector on in rc.local
 * /usr/bin add view_ref in spotmenu
 * /etc/spotnik create view_ref /tmp/svxreflector.log
 * /etc/spotnik config reflector in svxlink.conf/cfg
 * reboot: enables reflector
mc:
 * check spotmenu, view_ref
 * config restart.reg: ref
 * config svxreflector.conf: port auth_key
 * activate restart.reg
 * check view_ref
 * login to reflector with 2nd system
 * check view_ref on first system
 * add pg540 in spot menu

9) MOTD

* /etc/update-motd.d
* *10:
* TERM=linux toilet -f standard -F gay Spotnik 3.1.1 name what you want
* *50:
* printf '
> Spotnik v3.1 Buster <
type "spot" to enter config menu
reboot/check

10) wav errors

error in sxvlink logfile:
*** WARNING: Could not find audio clip "Hz" in context "Core"
Sound files : /usr/share/svxlink/sounds 
copy hz.wav to Hz.wav
also time.wav missing, the time is

11) check 60+11

rename /usr/share/svxlink/events.d/local/Locale.tcl to Locale.tcl.fr
copy /usr/share/svxlink/events.d/locale.tcl to Locale.tcl.en #capital L!!)
copy /usr/share/svxlink/events.d/locale.tcl # this is the EN
to /usr/share/svxlink/events.d/local/Locale.tcl # (Capital L!!)
result 71

12) Spotmenu

add pg540 and 540 dtmf
change naming to ..network
change check svxlink logfile


.

13) svxconf etc adapt

* timersalon.old
* RRFRaptor.old
* Rx1: Distorsion detected! Please lower the input volume! peakmeter=0
* version: 3.1.1.en by f4vsj
* restart all # timersalon
* say ip
* pg540 refl: (old)
# compte du host pour le reflector
echo "HOST=137.74.192.234" >>/etc/spotnik/svxlink.540
echo "AUTH_KEY=pg540@Network" >>/etc/spotnik/svxlink.540
echo "PORT=31540" >>/etc/spotnik/svxlink.540

echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.540 echo "AUTH_KEY=pg540@Network" >>/etc/spotnik/svxlink.540 echo "PORT=31540" >>/etc/spotnik/svxlink.540

13)DTMF

* 104 --> 540

14)WEBGUI

Navigation.js:

<a className="navbar-brand">
<img src="../static/spotnik.svg" height="30" /> PG540 Spotnik

Index:

Traduction networks


layout:

tilte pg540 Spotnik
logo sputnikblue

Navigation:

Spotnik V3.1.1

configuration

countrie list
airport list : https://en.wikipedia.org/wiki/ICAO_airport_code
added M MOBILE

15) Logic.tcl

usr/share/svxlink/events.d/local/Logic.tcl

 # 104 Regional àceer
   if {$cmd == "540"} {
   puts "Executing external command"
   playMsg "Core" "online"
   exec nohup /etc/spotnik/restart.540 &
   return 1
 proc sayIP {} {
  set result [exec /etc/spotnik/getIP]
  puts "$result"
  regexp "(\[0-9]{1,3})\.(\[0-9]{1,3})\.(\[0-9]{1,3})\.(\[0-9]{1,3})" $result all first second third f...
  playSilence 100
  playNumber $first
  playSilence 100
  playMsg "default" "decimal"
  playSilence 100
  playNumber $second
  playSilence 100
  playMsg "default" "decimal"
  playSilence 100
  playNumber $third
  playSilence 100
  playMsg "default" "decimal"
  playSilence 100
  playNumber $fourth
  playSilence 500;

16) V3.11 beta bugs and redo

date:2802

spot menu:

add 540 dtmf 
spotmenu translate

crontab:

meteo 7.50 etc 50 07,...

webgui:

dtmg 540 not working?


blokjes iets groter
index.js r188 150 to 180 px, OK DONE


naam projectgroep .540 network, OK DONE

Add files:

dwagent.sh in root? or

gps/aprs:

add soft: gpsd and gpsmon
add script(s) in /opt/gps/scripts

add soft:

dcfldd (sudo apt-get install -y dcfldd)


Meteo:

*** WARNING: Could not find audio clip "-0" in context "Default"



DTMF 540!ma

pense bete

APRS !!

NPM ??

  ╭───────────────────────────────────────────────────────────────╮
  │                                                               │
  │     New major version of npm available! 6.14.11 -> 7.5.4      │
  │   Changelog: https://github.com/npm/cli/releases/tag/v7.5.4   │
  │               Run npm install -g npm to update!               │
  │                                                               │
  ╰───────────────────────────────────────────────────────────────╯

CREATE IMLAGE NOW

root@thnikpad:/home/jp/Bureau# dcfldd if=/dev/mmcblk0 of=spotnik-3.0_buster_opi.img
245760 blocks (7680Mb) written.
245760+0 records in
245760+0 records out
root@thnikpad:/home/jp/Bureau# chown jp.jp spotnik-3.0_buster_opi.img
root@thnikpad:/home/jp/Bureau# modprobe loop
root@thnikpad:/home/jp/Bureau# losetup -f
/dev/loop0
root@thnikpad:/home/jp/Bureau# losetup /dev/loop0 spotnik-3.0_buster_opi.img
root@thnikpad:/home/jp/Bureau# partprobe /dev/loop0
root@thnikpad:/home/jp/Bureau# gparted /dev/loop0
Unit tmp.mount does not exist, proceeding anyway.
###### ici je réduit au maximum la taille de la dernière partition et je rajoute 200-300mb de libre pour que ça puisse booter !
======================
libparted : 3.2
======================
root@thnikpad:/home/jp/Bureau# losetup -d /dev/loop0
root@thnikpad:/home/jp/Bureau# fdisk -l spotnik-3.0_buster_opi.img
Disk spotnik-3.0_buster_opi.img: 7,5 GiB, 8053063680 bytes, 15728640 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x449f96d0 
Device                      Boot Start     End Sectors Size Id Type
spotnik-3.0_buster_opi.img1       8192 4098047 4089856   2G 83 Linux
#### je copie / colle la 2eme valeur du fdisk et je rajoute +1 secteur
root@thnikpad:/home/jp/Bureau# truncate --size=$[(4098047+1)*512] spotnik-3.0_buster_opi.img
root@thnikpad:/home/jp/Bureau# ls -l spotnik-3.0_buster_opi.img 
#### je vérifie la taille obtenue +- 2Go
-rw-r--r-- 1 jp jp 2098200576 août  22 14:10 spotnik-3.0_buster_opi.img
7zip image...

1. To create an .7z archive file, use "a" option. The supported archive formats for creation are 7z, XZ, GZIP, TAR, ZIP and BZIP2. If the given archive file exists already, it will “add” the files to an existing archive, instead of overwriting it.

$ 7z a hyper.7z hyper_1.4.2_i386.deb

2. To extract an .7z archive file, use "e" option, which will extract the archive in the present working directory.

$ 7z e hyper.7z

3. To select an archive format, use -t (format name) option, which will allows you to select the archive format such as zip, gzip, bzip2 or tar (the default is 7z):

$ 7z a -tzip hyper.zip hyper_1.4.2_i386.deb

4. To see a list of files in an archive, use "l" (list) function, which will displays the type of archive format, method used, files in the archive among other information as shown.

$ 7z l hyper.7z

5. To test the integrity of an archive file, use "t" (test) function as shown.

$ 7z t hyper.7z

10. To set a password to an archive file, use -p {password_here} flag as shown.

$ 7za a -p{password_here} tecmint_secrets.tar.7z

https://www.tecmint.com/7zip-command-examples-in-linux/

Crontab

Bonjour

Au cas où,

en faisant lancer la commande reboot par le compte root en ajoutant dans le fichier /etc/crontab la ligne suivante :

0 5 * * 1 root reboot

puis en redémarrant le service cron


Le tout pourrait être fait en lançant la ligne de commandes suivante :

echo -e "\n0 5 * * 1 root reboot" >> /etc/crontab && service cron restart


- - - - -

    1. reboot every night at 03h00; restart.540
0 3 * * * root reboot
3 3 * * * root /etc/spotnik/restart.540




crontab -e
# op 18, reflector
0 4 * * * pkill svxreflector
1 4 * * * rm -f /tmp/svxreflector.log
2 4 * * * svxreflector --daemon --logfile=/tmp/svxreflector.log --config=/etc/sp
mc /etc/crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
#
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#
# m h dom mon dow user<>command
17 *<-->* * *<->root    cd / && run-parts --report /etc/cron.hourly
25 6<-->* * *<->root<-->test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6<-->* * 7<->root<-->test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6<-->1 * *<->root<-->test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
# watchdog pour SVXLINK
#0,5,10,15,20,25,30,35,40,45,50,55 * * * *<----> root /etc/svxlink/watchdog.sh
# ici on restart le websdr toutes les heures .
#6 0-23 * * *<->root /opt/restart.sh
# friday 21.00 local BZH qso:
0 21 * * fri root /etc/spotnik/restart.urg


See :crontab guru

see: crontab_generator

CP210x to ttyUSB0 (34)

screen /dev/ttyusb0 115200
exit: ctrl+a and \
sudo chmod 666 /dev/ttyUSB0

CSS stylesheet

Box

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Model

overflow

https://developer.mozilla.org/en-US/docs/Web/CSS/overflow

padding

https://developer.mozilla.org/en_US/docs/Web/CSS/padding

width

https://developer.mozilla.org/en_US/docs/Web/CSS/width

DASHBOARD DL (25)

config.php -->
--> /etc/logfile.log

DDRescue CLI (21)

sudo ddrescue -D --force xx.img /dev/sdx(b)

-d i-direct direct access to INfile

-D o-direct direct access to OUTfile

--force force owerwrite outfile when OUT= device or path

 !!! ddrescue (source)---> (dest) (logfile)!!!

ook (44)

ddrescue  -D --force xx.img /dev/sdx (b)
ddrescue -D --force /dev/sdx xx.img

of

drescue -D --force /dev/mmcblk0 xx.img en  !!!niet mmcblk0p1!!!!

see gparted for naming

Decimal Dash

in /usr/share/svxlink/event.d/local/logic.tcl

417 sayip 
dash-->decimal

DHCP Server on raspi B

dnsmasq ok
192.168.2-254

DTMF Codes (13)

/usr/share/svxlink/event.d/local/logic.tcl
450 93  ip
465 939 on/off
471 94
481 95
492 96 rrf
501 97 fon
510 98 tec
518 99 urg --> 112?
529 100 sstv
534 101 codec2
542 102 el
540 540
104 stop rrf
104 start rrf
106 free
417 dash --> decimal point in ipaddress

DMR ID

f4vsj 2080441


dwagent

/usr/share/dwagent/native/uninstall

Tu peux faire un copié/collé pour éviter les erreurs de frappe. attention de ne pas mettre d'espace, chaque caractère a son importance.

Attention ! Il n'y a pas de point devant. On commence directement par /usr/........

Si cette commande ne fonctionne pas tu peux essayer à la place celle-ci :

dwaguninstall



Bonsoir

pour ceux qui veulent installé dwservice :

dwservice qui est installé dans les distrib spotnik est obsolète et ne marche plus il faut le désinstallé et le re téléchargé pour l'installer , sinon ça ne fonctionne pas ... ./usr/share/dwagent/native/uninstall

wget https://www.dwservice.net/download/dwagent_generic.sh

chmod +x dwagent_generic.sh



https://superuser.com/questions/1683293/how-do-i-uninstall-dwagent-from-a-linux-machine

et suivre les étapes .

73" Jean-Philippe / F5NLG


https://github.com/Oros42/dwlive https://www.tecmint.com/list-all-running-services-under-systemd-in-linux/


systemctl stop [servicename] systemctl disable [servicename] rm /etc/systemd/system/[servicename] rm /etc/systemd/system/[servicename] # and symlinks that might be related rm /usr/lib/systemd/system/[servicename] rm /usr/lib/systemd/system/[servicename] # and symlinks that might be related systemctl daemon-reload systemctl reset-failed It is possible that the systemd service 'wraps' the old style scripts in /etc/init.d, so you may want to clean that up too, but that is not where systemd services live.


Be aware that there are multiple locations where Systemd unit files are stored, notably /usr/lib/systemd/system and also /etc/systemd/system/. For reference see: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… –

I had also to remove /etc/init.d/[servicename] before running systemctl reset-failed

Etcher

Evdev --> Plantronics

Ftp pg540 dir (46)

users: F4VSJ RP8

      PE2JKO H@@rlem2018

GPS Coordinates NL

https://www.gps-coordinaten.nl


info

A symbol in the AX.25 Information field is a combination of a one-character
Symbol Table Identifier and a one-character Symbol Code.
For example, in the Position Report:
Document Version 1.0.1: 29 August 2000
APRS Protocol Reference — APRS Protocol Version 1.091
Chapter 20: APRS Symbols
@092345z4903.50N/07201.75W>088/036...
!!! the forward slash / is the Symbol Table Identifier and the > character is the
Symbol Code (in this case representing a “car” icon) from the selected table.

GUI Spotnik

/opt/spotnik/gui

*make stop
<change webpages>
*make
*make start

add network in gui

in index.js
add <option>...


keypad.js (pb OPI)

overflow auto-->scroll ok
max-height calc (100%-289px)OK

5P0N1K-->PG540

27 config.callsign NOK


Bonjour à tous,

Je viens de déposer dans le FTP, dans le patch V4.0 rc2, les fichiers pour la mise à jour de la page de configuration du GUI.

Avec cette version, les fichiers propres au numérique sont en principe modifiés en conséquence. Il n'est donc plus besoin d'exécuter config_initial.

/opt/Gestion_Menu/config-gui.sh
/opt/spotnik/gui/lib/config.js
/opt/spotnik/gui/pages/configuration.js

Après copie des fichiers, comme d'habitude :

cd /opt/spotnik/gui
make stop
rm package-lock.json
make
make start

Merci d'avance pour vos remarques.

73s Jean-François F1EVM

Gparted Ubuntu (20)

in terminal first:
xhost -si:localuser:root

GRUB reinstall

https://howtoubuntu.org/how-to-repair-restore-reinstall-grub-2-with-a-ubuntu-live-cd


How to Repair, Restore, or Reinstall Grub 2 with a Ubuntu Live CD or USB Grub 2 typically gets overridden when you install Windows or another Operating System. To make Ubuntu control the boot process, you need Reinstall (Repair/Restore) Grub using a Ubuntu Live CD.


Warning Using the sudo command, especially from a Live CD can do serious damage to your system. Read all instructions and confirm you understand before executing any commands. When pasting into the Terminal, use Ctrl+Shift+V, NOT Ctrl+V.


Terminal Commands Mount the partition your Ubuntu Installation is on. If you are not sure which it is, launch GParted (included in the Live CD) and find out. It is usually a EXT4 Partition. Replace the XY with the drive letter, and partition number, for example: sudo mount /dev/sda1 /mnt.

sudo mount /dev/sdXY /mnt

Now bind the directories that grub needs access to to detect other operating systems, like so.

sudo mount --bind /dev /mnt/dev &&
sudo mount --bind /dev/pts /mnt/dev/pts &&
sudo mount --bind /proc /mnt/proc &&
sudo mount --bind /sys /mnt/sys

Now we jump into that using chroot.

sudo chroot /mnt

Now install, check, and update grub.

This time you only need to add the drive letter (usually a) to replace X, for example: grub-install /dev/sda, grub-install –recheck /dev/sda.

grub-install /dev/sdX
grub-install --recheck /dev/sdX
update-grub

Now grub is back, all that is left is to exit the chrooted system and unmount everything.

exit &&

sudo umount /mnt/sys &&
sudo umount /mnt/proc &&
sudo umount /mnt/dev/pts &&
sudo umount /mnt/dev &&
sudo umount /mnt

Shut down and turn your computer back on, and you will be met with the default Grub2 screen.

You may want to update grub or re-install burg however you like it.

Congratulations, you have just Repaired/Restored/Reinstalled Grub

GUI PG540 (15)

config
*call
*squelch
*location
*metar
/opt/spotnik/gui
make stop
change webpages
make
make start
make restart

keypad: overflow auto->scroll

maxheight calc (100%-289px)

refresh haeder.js add

Hobbyscoop (32)

Peter Meyboom peter@pa3MNL
Mischa van Souten PA1OKZ@gmail.com

H3consumption

/usr/bin
h3consumption -p (list)
h3consumption -m 700 (720MHz)
4 cores
temp check and view :
see armbianmonitor -m (60 degrees)

Install svxlink from scratch

cat /etc/svxlink/svxlink.cfg
cat /etc/spotnik/svxlink.cfg
ldconfig
cd /usr/src
mc
wget https://github.com/sm0svx/svxlink/archive/19.09.1.tar.gz
mc
cd svxlink-19.09.1/
cd src
ls
mkdir build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DUSE_OSS=NO -DUSE_QT=NO -RELEASE_CFLAGS=-g -O2 -mfloat- 
abi=softfp -mfpu=vfp -mcpu=native .. 
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DSYSCONF_INSTALL_DIR=/etc -DLOCAL_STATE_DIR=/var -DUSE_OSS=NO -DUSE_QT=NO -RELEASE_CFLAGS=-g -O2 -mfloat- 
abi=softfp -mfpu=vfp -mcpu=native ..
make -j4
mc
make install
cd /tmp
mc
cd /usr/src/svxlink-19.09.1/src/build/
checkinstall
apt install checkinstall
checkinstall
a pt remove checkinstall 
cd /etc/svxlink
mc
spot
reboot 
cd /etc/svxlink
mc
pkill svxlink
cd /opt/spotnik/gui
make stop
mc
cd /opt/spotnik/gui/
ls
cat README.md 
git pull https://github.com/spotnik-ham/gui.git
make stop
make
make start
cd /etc/spotnik
mc
apt update
apt upgrade 
apt autoremove 
apt autoclean
apt clean
apt clean cache 
df -h
mc
spot
./restart.default
spot 
./spot
rm *.1
rm *.gz
make
mx
mc
apt update && apt upgrade 
apt clean
df -h
cd /etc/apt
mc
pkill svxlink
cd /etc
mc
git clone https://github.com/spotnik-ham/etc.git spotnik
cd /opt/spotnik
mc
git clone https://github.com/spotnik-ham/gui.git
mc
curl -sL https://deb.nodesource.com/setup_13.x | bash -
c url -sL https://deb.nodesource.com/setup_12.x | bash -
apt install nodejs && npm install npm@latest -g
cd
wget ftp://ftp.f5nlg.ovh/DEV/fr_FR.tar.gz
wget ftp://rrf.f5nlg.ovh/DEV/fr_FR_RRF.tar.gz
mc
reboot
mc
spot
df -h
cd /op
cd /opt
pip3 install requests
git clone https://github.com/armel/RRFRaptor.git
mc
cd RRFRaptor/
cat Logic.tcl 
cd /etc/spotnik
git config --global user.email "jp@piers.tv"
git config --global user.name "f5nlg"
git push
cd /etc
cd spotnik
ls
mc
git add .
git commit -m "version 3.1"
git push
cd /root
mc
cd /etc/spotnik
git push
cat /root/.ssh/id_rsa.pub
git config --global user.email "jp@piers.tv"
git config --global user.name "f5nlg"
git add .
git commit -m "version 3.1"
git push
git config --global user.name f5nlg
git push
./restart.default
./restart.rrf
OB
OA
./install_MAJ3.1.sh
./copie.sh
./copie.sh
cd /opt
ls
ps afx
cd /MAJ_3.1/
mc
sync
man cp
mc
cd /root
mc
./copie.sh 
mc
ps afx
mc
cp
CP
Cp
cp --help
man cp
ls
mc
ls
mc
cat /etc/crontab
mc
cat inst
cd /
cat install_MAJ3.1.sh 
mc
cat install_MAJ3.1.sh 
mc
cat install_MAJ3.1.sh 
cat /etc/crontab
mcedit /etc/crontab
./config_spot
./spot2
./config_spot
./spot2
spot2 
./spot2
./spot_config
./spot2
./spot_config
./spot
./10-armbian-header
. /30-armbian-sysinfo
./35-armbian-tips
./40-armbian-updates
. /41-armbian-config
 ./50-spotnik
c d /opt/RRFRaptor/
ls
exit
mc
spot
mc
mc
spot
./spot1
./spot_config
./spot
cd /MAJ_3.1/
ls
mc
spot
mc
halt
spot
cd /usr/bin
mcedit spot
spot
cp -rf spot /MAJ_3.1/usr/bin/ 
cd /etc/spotnik
mcedit restart.rrf
spot
./install_MAJ3.1.sh
make stop
make start
make stop
make 
chmod +x install_MAJ3.1.sh
./install_MAJ3.1.sh
ls
mc
wget ftp://rrf.f5nlg.ovh/MAJ/install_MAJ3.1.sh
mc
ifconfig
ps afx
cd /opt/spotnik/gui
ls
mc
cd /root
node
mc
wget ftp://rrf.f5nlg.ovh/MAJ/install_MAJ3.1.sh
mc
reboot
cd /tmp
mc
spot
mc
df -h
u name -a
armbian-config
df -h
mc
ps afx
df -h
halt
df -h
mc
df -h
halt
cd /root
wget ftp://rrf.f5nlg.ovh/MAJ/Cor_Wifi_3.1.sh
chmod +x Cor_Wifi_3.1.sh 
./Cor_Wifi_3.1.sh 
ps afx
mc
cd /opt/
ls
cd RRFRaptor/
git reset --hard
git pull
sudo pip3 install requests
mc
reboot
halt
rm *.gz
rm *.1
rm *.gz
pkill svxlink
cd /opt/spotnik/gui
make stop
cd /usr/share/dwagent/native
./uninstall
apt update && apt upgrade
 grep ^rc)  && sudo dpkg -P $(dpkg -l | awk '/^rc/{print $2}') || echo "Aucun résidu trouvé."
apt autoclean
apt clean
apt autoremove
apt install localepurge
df -h
sync
apt remove libx11-dev
apt remove x11proto-core-dev x11proto-dev x11proto-scrnsaver-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
a pt remove libfontconfig1-dev libfreetype6-dev libice-dev libpng-dev libpthread-stubs0-dev libsm-dev libxau-dev libxcb1-dev libxdmcp-dev
apt remove tcl-dev tcl8.6-dev tk uuid-dev
apt autoremove
apt install tcl
df -h 
sync
df -h
apt clean
apt clean-cache
apt cache clean
apt clean cache 
df -h
apt remove x11proto-core-dev x11proto-dev x11proto-scrnsaver-dev x11proto-xext-dev xorg-sgml-doctools xtrans-dev
mc
df -h
ls
cd /root
wget https://www.dwservice.net/download/dwagent_generic.sh
chmod +x dwagent_generic.sh
./dwagent_generic.sh
df -h
mc
dpkg --list 'linux-image*'
deborphan
apt install deborphan
deborphan -a
apt remove tmux pciutils libspeex-dev libssl-dev
apt autoremove 
df -h
apt install libspeex1
apt remove libpython3-dev
apt autoremove 
apt install libpython3.7
apt remove man-db
apt autoremove 
df -h
reboot 
./10-armbian-header
cd /etc/update-motd.d/
mc
df -h
systemctl enable resize2fs
mc
ps afx
halt
passwd
sudo apt-get update
dpkg --list 'linux-image*'
cd /etc/update-motd.d/
mc
apt autoremove 
history
exit
history -w 

tot, hier

Iphone connect (47)

172.120.10.5 old iphone 4s

IP indicator

Indicator-ip op Ubuntu balk bovenin:
Alt-F2
indicator-ip

J

k,mlkjùdmsfglkmdlfgk

K

Links

shriniking https://softwarebakery.com//shrinking-images-on-linux

Lighttpd webserver (27)

apt-get install lighttpd

Install PHP:

apt-get install php-gci
sudo lighttpd-enable-mod fastcgi
sudo lighttpd-enable-mod fastcgi-php

Timestamp svxconf

TIMESTAMP_FORMAT %d.%m.%y %H.%M.%S


svxlog: /tmp/svxlink.log

reflog: /etc/svxreflector.log

Locale (5)

see:

https://wiki.debian.org/ChangeLanguage
env | grep LANG
export LANG=en_US.UTF-8
dpkg-reconfigure locales
en_US.utf8 uitzoeken



etc/default/locale
lang=en_US

Locale numbers (5) (75!)

fr: 60+11
en: 71

Locationinfo (5)

[locationinfo]
APRS server list= rotate.aprsnet:14580
Stat server= aprs.echolink.org:5190

F4VSJ location Korneg:

lon= 03.06.04W
lat=48.11.10N

Portacabin Zantvoort:

52.22.54 N
04.32.38 E

Logic.tcl (13)

/usr/share/svxlink
sayip line 417: dash->decimal

Mac adress change

/etc/modprobe.d
xradio_wlan.conf
edit and change


ModuleMetarInfo (7)

nov 2023 upgrade with

curl -s http://rrf.f5nlg.ovh:8080/RRFDepot/MAJ/updateMetarInfo.sh | bash

modified nov 23:

[ModuleMetarInfo]
 NAME=MetarInfo
ID=5
TIMEOUT=120
TYPE=XML
SERVER=https://aviationweather.gov
LINK="/cgi-bin/data/dataserver.php? 
requestType=retrieve&dataSource=metars&hoursBeforeNow=3&format=xml&mostRecent=true&stationString="
STARTDEFAULT=LFRH
AIRPORTS=LFRH


server=tgftp.nws.noaa.gov
link=data/observations/metar/stations
type=txt
ressal=1
airports LFRB Brest
         LFRO
         LFRQ
         LFRM
         LFRT
         LFRN Rennes
         LFRV
         EHAM Amsterdam
         EHKD Den Helder
         EHHV Hilversum
         EHRD Rotterdam
         EHTX Texel
         EHVB Leiden MIL
         EHLE Lelystad

Make webpage

make stop
rm -f package-lock.json
make
make start
script evm in makefile
make build
V??

Modprobe (9)

etc/modprobe.d
create alsa-base.conf
# set index
* options snd_usb_audio index 0
* options snd_bcn2835 index 1
# reorder
* options snd slots = snd_usb_audio,snd_bcn2835

Morse letter K (19)

logic.tcl
/usr/share/svxlink/evendt.d
line 202
cw::play:"K" bovenste

== Networks == to update naming!


RRF rrf.f5nlg.ovh 5300 Mag1!
FON fon.f1tzo.com 5300 FON-F1T
TEC rrf.f5nlg.ovh 5301 Mag1!
URG rrf.f5nlg.ovh 5302 Mag1!
Codec2 fon.f1tzo.com 5302 FON-F1T
SSTV fon.f1tzo.com 5301 FON-F1T
PG540 PG540.ddns.net NL540 Mag1!
EMNL  PG540.ddns.net NL112 Mag1!


FRN 
RROI
CYCLO
POLARIS
Admin rrf2.f5nlg.ovh 5302 Mag1!
Grand Ouest srvr.f1evm.ovh 5300 Mag!


31/01/2021 hlo

node.js and npm

mail de evm: 11.09.2019

Moi je suis les instructions du site officiel de nodejs.org :

  1. Using Debian, as root

curl -sL https://deb.nodesource.com/setup_12.x | bash - apt-get install -y nodejs

Voir le détail ici : https://github.com/nodesource/distributions#installation-instructions

Il est aussi possible d'installer plusieurs versions de nodejs et de sélectionner celle que l'on veut utiliser. Pour cela il faut installer et utiliser nvm : https://github.com/nvm-sh/nvm


73s JF


Node comes with npm pre-installed, but the manager is updated more frequently than Node.

Run

npm -v 

to see which version you have, then to install the newest npm update.

npm install npm@latest -g 

to install the newest npm update. Run

npm -v 

again if you want to make sure npm updated correctly.

To update Node, you’ll need npm’s handy n module. Run this code to clear npm’s cache, install n, and install the latest stable version of Node:


sudo npm cache clean -f
sudo npm install -g n
sudo n stable

To install the latest release, use

n latest

Alternatively, you can run

n #.#.# 

to get a specific Node version.


- - - - I'd suggest to try install it from source by:

curl https://www.npmjs.com/install.sh | sudo sh

This worked, using debian 10.5 Spotnik CV3 before make , rm -f package-lock.json !! / OK

No-ip (38)

Download DUC

cd /usr/local/src
tar xvf noip-duc-linux.tar.gz
cd noip-2.1.9
make
make install
launch /usr/local/bin/noip2
--> delay 1
conf=/usr/local/etc no-ip2.conf
pidof noip2

noip2 -S see IP


Nohup

nohup 2>&1 application &.

This will send all output to a file called nohup.out. It will also capture SIGHUPs. So you can close the shell and it will keep running. If you wish tyo see what is happening then you can follow the output with

tail -f nohop.out.
cp video.avi copie_video.avi &

NMAP

see: https://www.cyberciti.biz/security/nmap-command-examples-tutorials/

  1. 9: Scan a network and find out which servers and devices are up and running

This is known as host discovery or ping scan:

nmap -sP 192.168.1.0/24

14#: Show host interfaces and routes

nmap --iflist

  1. 12: Only show open (or possibly open) ports

nmap --open 192.168.1.1

Orange PI Mods (29)

MOTD: in /etc/update_motd.d


port 443 GUI

config.js
/opt/spotnik/gui/(.next/dist)copy

Process title:

/opt/spotnik/gui/server.js
process title_.....

Textcolor BIG:

TEM_Linux toilet -f standart -F gay SPOTNIK
apt-get install -toilet
apt-get install -figlet


OVH

pg540 echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.540 #new 11 mars 2021

echo "HOST=137.74.192.234" >>/etc/spotnik/svxlink.540 #old


rrf2 backup Pour le RRF2 : 51.210.177.28

Si cela peut aider : Le serveur Debian vierge ici : rrf2bis.f1tzo.com ou 185.4.78.122 le temps que le DNS se propage C'est du Intel x64, sur VMware, avec accès réseau suffisant ;-)

Il accepte les ssh en root sur le port .... 4242 le password est "rrf42cloud" .... pour le moment !

Dite moi si c'est utile ou pas

paw hotspot

sept 2022 lxkw:lo4 soyuz:lo4 zqp-rd40:lo4 vsj-540:lo4

PDFTK Ubuntu (35)

1.pdf 2.pdf cat output x.pdf

Plantronics CM320M (83)

buttons

xinput --list

--Plantronics ID=8

showkey opi pc: 114-115

evtest

xmodmap -pke (pipe) less

xev

evemu-describe evemu-record xinput watch-props 13

evdev (not installed opilite)

/dev/input/by-id/usb...

on orabnge pi zero

apt install xinput niet nodig...

evtest ---

root@spotnikv50:~# evtest No device specified, trying to scan all of /dev/input/event*

Available devices:

/dev/input/event0: Plantronics Plantronics C320-M

Select the device event number [0-0]: 0


Input driver version is 1.0.1

Input device ID: bus 0x3 vendor 0x47f product 0xc025 version 0x111

Input device name: "Plantronics Plantronics C320-M"

Supported events:

 Event type 0 (EV_SYN)
 Event type 1 (EV_KEY)
 Event code 114 (KEY_VOLUMEDOWN)
 Event code 115 (KEY_VOLUMEUP)
 Event type 4 (EV_MSC)
 Event code 4 (MSC_SCAN)


Properties:

Testing ... (interrupt to exit)

0

Properties:


Testing ... (interrupt to exit)

Event: time 1638200773.046568, type 4 (EV_MSC), code 4 (MSC_SCAN), value ffa000b1
Event: time 1638200773.046568, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1



root@spotnikv50:/dev/input/by-id# ls

usb-Plantronics_Plantronics_C320-M_A1B633E15E13E1449CF5AED6C3EF179F-event-if03



svxlink.cfg:

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:1
AUDIO_CHANNEL=0
SQL_DET=EVDEV
SQL_START_DELAY=0
SQL_DELAY=2
SQL_HANGTIME=150
SQL_EXTENDED_HANGTIME=100
SQL_EXTENDED_HANGTIME_THRESH=13
SQL_TIMEOUT=600
EVDEV_DEVNAME=/dev/input/by-id/usb-Plantronics_Plantronics_C320-M_A1B633E15E13E$
EVDEV_OPEN=1,115,0
EVDEV_CLOSE=1,115,0
DEEMPHASIS=0
SQL_TAIL_ELIM=0
PREAMP=0
PEAK_METER=0
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=40
1750_MUTING=1
CTCSS_FQ=71.9

svxlink;cfg orig:

[Rx1]
TYPE=Local
AUDIO_DEV=alsa:plughw:0
AUDIO_CHANNEL=0
SQL_DET=GPIO
SQL_START_DELAY=500
SQL_DELAY=100
SQL_HANGTIME=40
SQL_EXTENDED_HANGTIME=1000
SQL_EXTENDED_HANGTIME_THRESH=13
SQL_TIMEOUT=600
VOX_FILTER_DEPTH=300
VOX_THRESH=1000
CTCSS_MODE=2
CTCSS_FQ=71.9
CTCSS_SNR_OFFSET=0
CTCSS_OPEN_THRESH=15
CTCSS_CLOSE_THRESH=9
CTCSS_BPF_LOW=60
CTCSS_BPF_HIGH=260
GPIO_PATH=/sys/class/gpio
GPIO_SQL_PIN=gpio10
DEEMPHASIS=0
SQL_TAIL_ELIM=0
PREAMP=0
PEAK_METER=0
DTMF_DEC_TYPE=INTERNAL
DTMF_MUTING=1
DTMF_HANGTIME=40
1750_MUTING=1

Power button

OpiShutdown

Extinction de l'OrangePI Zero à partir d'un bouton physique.

Installation

Récupération des paquets

Depuis la console SSH, entrez les commandes suivantes :

cd /opt
git clone https://github.com/nvl1109/orangepi_zero_gpio.git
cd orangepi_zero_gpio
sudo python3 setup.py install

Puis,

cd /opt
git clone https://github.com/armel/OpiShutdown.git
Modifier éventuellement la ligne 14 afin de pointer vers le GPIO utilisé (par défaut PA14).

Automatisation du lancement au démarrage

Afin d'automatiser le lancement du script au démarrage, éditer le fichier /etc/rc.local et ajouter la ligne :

nohup /usr/bin/python3 /opt/OpiShutdown/shutdown.py &

Attention à bien insérer cette ligne avant la toute dernière ligne qui contient exit O

............. Voici un exemple de code parfaitement fonctionnel, compatible Python 3. Je l'ai testé avec un bouton poussoir classique + résistance de 10k Ohm.

J'ai testé en pull-down. Et j'ai raccordé le bouton poussoir sur le GPIO PA14 de l'OrangePi Zero.




Si j'ai le bon numéro de GPIO, je peux développer le bout de code pour l'OrangePI. Il suffira de mettre ce code, par exemple, dans le /opt et de le lancer au démarrage via l'ajout d'une ligne dans le /etc/rc.local.


Je l'ai testé avec un bouton poussoir classique + résistance de 10k Ohm.

J'ai testé en pull-down. Et j'ai raccordé le bouton poussoir sur le GPIO PA14 de l'OrangePi Zero.

Tout est visible sur https://github.com/armel/OpiShutdown

Prend le temps de lire le README. Je pense que les explications sont suffisamment claires, mais n'hésites pas si besoin ;)


Le câblage:


Pull.jpg



Montage en Pull up ou Pull Down

- - - - -

Edited by Bananian at Sun Jan 11, 2015 14:46


Hi,

that is simple.

Install acpid: aptitude install acpid Copy the Code Create the following files:

1.) /etc/acpi/events/button_power: event=button/power action=/etc/acpi/shutdown.sh Copy the Code 2.) /etc/acpi/shutdown.sh:

  1. !/bin/bash

shutdown -h now Copy the Code Make shutdown.sh executable: chmod +x /etc/acpi/shutdown.sh Copy the Code Restart acpid (ignore error messages..): /etc/init.d/acpid restart Copy the Code Press power button and the Banana Pi will shutdown (or whatever you define in shutdown.sh)!


Python 3.0

make scrip executable

Add a shebang line to the top of the script:

#!/usr/bin/env python

Mark the script as executable:

chmod +x myscript.py


sleep

import time
starttime = time.time()
while True:
   print "tick"
   time.sleep(1.0 - ((time.time() - starttime) % 1.0))
   print "tack"
   time.sleep(1.0 - ((time.time() - starttime) % 1.0))

Q

Radio mobile (39)

VE2DBE.com

koppelingstekst

RC.local (17)

etc/rc.local

Reflectors all

f4ipa 49:

  • echo "HOST=reflector1.f4ipa.fr" >>/etc/spotnik/svxlink.49
  • echo "AUTH_KEY=517388" >>/etc/spotnik/svxlink.49
  • echo "PORT=5300" >>/etc/spotnik/svxlink.49

pg540:

  • echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.reg
  • echo "AUTH_KEY=pg540@Network" >>/etc/spotnik/svxlink.reg
  • echo "PORT=31540" >>/etc/spotnik/svxlink.reg

admin:

  • echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.adm
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.adm
  • echo "PORT=5302" >>/etc/spotnik/svxlink.adm

bav:

  • echo "HOST=serveur.f1tzo.com" >>/etc/spotnik/svxlink.bav
  • echo "AUTH_KEY=FON-F1TZO" >>/etc/spotnik/svxlink.bav
  • echo "PORT=5301" >>/etc/spotnik/svxlink.bav

bzh:

  • echo "HOST=f5nlg.spotnik.org" >>/etc/spotnik/svxlink.rrf
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.rrf
  • echo "PORT=5300" >>/etc/spotnik/svxlink.rrf

cyc:

  • echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.cyc
  • echo "AUTH_KEY=cyclo2020!" >>/etc/spotnik/svxlink.cyc
  • echo "PORT=5400" >>/etc/spotnik/svxlink.cyc

dhq: na

  • echo "HOST=192.168.1.42" >>/etc/spotnik/svxlink.dqh
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.dqh
  • echo "PORT=5300" >>/etc/spotnik/svxlink.dqh

exp:

  • echo "HOST=rrf3.f5nlg.ovh" >>/etc/spotnik/svxlink.exp
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.exp
  • echo "PORT=5303" >>/etc/spotnik/svxlink.exp

fon:

  • echo "HOST=serveur.f1tzo.com" >>/etc/spotnik/svxlink.fon
  • echo "AUTH_KEY=FON-F1TZO" >>/etc/spotnik/svxlink.fon
  • echo "PORT=5300" >>/etc/spotnik/svxlink.fon

int:

  • echo "HOST=rrf3.f5nlg.ovh" >>/etc/spotnik/svxlink.int
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.int
  • echo "PORT=5302" >>/etc/spotnik/svxlink.int

loc:

  • echo "HOST=serveur.f1tzo.com" >>/etc/spotnik/svxlink.loc
  • echo "AUTH_KEY=FON-F1TZO" >>/etc/spotnik/svxlink.loc
  • echo "PORT=5302" >>/etc/spotnik/svxlink.loc

pol:

  • echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.pol
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.pol
  • echo "PORT=5301" >>/etc/spotnik/svxlink.pol

rrf:

  • echo "HOST=rrf2.f5nlg.ovh" >>/etc/spotnik/svxlink.rrf
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.rrf
  • echo "PORT=5300" >>/etc/spotnik/svxlink.rrf

tec:

  • echo "HOST=rrf3.f5nlg.ovh" >>/etc/spotnik/svxlink.tec
  • echo "AUTH_KEY=Magnifique123456789!" >>/etc/spotnik/svxlink.tec
  • echo "PORT=5301" >>/etc/spotnik/svxlink.tec

idf:

  • echo "HOST=rrf.globalis-dev.com" >>/etc/spotnik/svxlink.idf
  • echo "AUTH_KEY=LiveLong&Prosper!" >>/etc/spotnik/svxlink.idf
  • echo "PORT=5300" >>/etc/spotnik/svxlink.idf

Rescatux on Debian 11

see: http://rescatux.sourceforge.net/repo/README.non-free.html


Rescapp installation on non-free Debian live cds.

First of all make sure that your non-free Debian live cd has a working internet connection.

TIP: At this point you may want to visit this page from your non-free live cd so that it's easier to copy and paste.

Then at the menu choose System Tools then Qterminal.

Copy and paste this single line in a go and press enter.

sudo apt update ; sudo apt install wget ; wget "http://rescatux.sf.net/repo/rescapp-nonfree-install.sh" -O rnfi.sh ; chmod +x rnfi.sh ; sudo ./rnfi.sh

Please wait untill all the packages are installed and configured. Once the user@debian:~$ prompt is back you can close the Qterminal window.

How do I start repairing my computer ?

In order to start rescapp, on the menu choose Other then rescapp.

Rogerbeep K

logic.tcl

202 cw::play:K bovenste


RRF dash

http://rrf.f5nlg.ovh:8080/RRFBlockIP/front/

login: nimda

password: droopysurlerrf


Pour que l'on sache que c'est toi qui as bloqué quelqu'un : Tu verras en haut et à gauche de la page une ligne comme ceci : Link en émission (administrateur actuellement connecté en tant que F1EVM)


Si tu vois ADMIN à la place de ton indicatif c'est que tu n'as pas renseigné le champs dans le Local Storage.

Pour le faire ouvrir les devtools (F12), aller dans Application,(browser) puis chercher Storage et Local Storage et enfin choisir http://rrf.f5nlg.ovh:8080 Dans le panneau (à droite en principe) sous la clef Admin mettre ton indicatif F4VSJ

Ainsi quand tu bloqueras quelqu'un, on saura que c'est toi.

73s JF

SA818

818-prog

/usr/local/sbin
1
4305400 TX
4305400 RX
0000 TX CTCSS
2 SQUELCH
0008 CTCSS
Filters:0,0,0 (all active)
Pre-emphasis
low-pass
high-pass

818cli-prog

enter values in file
just after reboot

SA818 CTCSS codes

    Motorola  RELM            
Tone<-->Code<-->Code<--->|                                                                                                                                                                                   
==========================
None<-->None<--->000<--->|                                                                                                                                                                              
067.0<-->XZ<---->001<--->|
069.4<-->WZ<---->xxx<--->|
071.9<-->XA<---->002<--->| Breizh                                                                                            
074.4<-->WA<---->003<--->|                                                                                               
077.0<-->XB<---->004<--->|                                                                                               
079.7<-->WB<---->005<--->|                                                                                               
082.5<-->YZ<---->006<--->|                                                                                             
085.4<-->YA<---->007<--->|                                                                                            
088.5<-->YB<---->008<--->| Haarlem                                                                                          
091.5<-->ZZ<---->009<--->|                                                                                            
094.8<-->ZA<---->010<--->|                                                                                           
097.4<-->ZB<---->011<--->|                                                                                           
100.0<-->1Z<---->012<--->|                                                                                              
103.5<-->1A<---->013<--->|                                                                                         
107.2<-->1B<---->014<--->|                                                                                             
110.9<-->2Z<---->015<--->|                                                                                            
114.8<-->2A<---->016<--->|                                                                                          
118.8<-->2B<---->017<--->|                                                                                           
123.0<-->3Z<---->018<--->|                                                                                           
127.3<-->3A<---->019<--->|                                                                                             
131.8<-->3B<---->020<--->|                                                                                           
136.5<-->4Z<---->021<--->|                                                                                             
141.3<-->4A<---->022<--->|                                                                                             
146.2<-->4B<---->023<--->|
150.0<-->na<---->non<--->|                                                                                              
151.4<-->5Z<---->024<--->|                                                                                           
156.7<-->5A<---->025<--->|
159.8<-->no<---->non<--->|    |                                                                                         
162.2<-->5B<---->026<--->|
165.5<-->no<---->non<--->|
167.9<-->6Z<---->033 
171.3<-->no<---->non  
173.8<-->6A<---->34
177.3<-->no<---->non 
179.9<-->6B<---->35
183.5<-->no<---->none 
186.2<-->7Z<---->36
189.9<-->no<---->none   
192.8<-->7A<---->37
196.6<-->none<-->none 
199.5<-->none<-->none  
203.5<-->M1<---->38  
206.5<-->8Z<---->none
210.7<-->M2<---->none 
218.1<-->M3<---->none 
225.7<-->M4<---->none 
229.1<-->9Z<---->none 
233.6<-->none<-->none   
241.8<-->none<-->none 
250.3<-->none<-->none 
254.1<-->0Z<---->none


SA818 in linux programeren

28 aug 2023 Hoi Heino,

Ik dacht aan hetvolgende:

een hotspot heeft ook een sa818 aan boord die aan de interne seriele poort hangt ( ttyS0 in linux termen)

dus als ik een hotspot gebruik en de communicatie 'onbuig' naar de usb poort ben ik klaar.

Even in de interne scripts kijken en jahoor ik kan ttyUSB0 ingeven in het programma 818-prog.

Ik kreeg verbinding met de sa818, maar naa het sturen van de frequentie brak hij af,ik gebruik mischien teveel stroom???...

DUS heb ik iets anders bedacht

na even testen en bedenken is hier een héééél eenvoudige methode, nog makkelijker kan et niet

Op de hotspot kun je ook een sa818 programeren via het webinterface

Intern zijn de programmas 818-prog EN 818cli-prog geinstalleerd...zijn maar 'gewone' python scripts..zouden programmeurs zeggen...

Ik heb hetvolgende gedaan:

een ssh verbinding gemaakt van de linux computer naar een hotspot

in de hotspot dan naar /usr/local/sbin gaan en dan de file 818-prog naar de lokale directory /usr/local/sbin gekopieerd

Op de computer wel even de rechten aangepasst zodat de user F4VSj het programma van "root" mag starten:

cd /usr/local/sbin
sudo chown 0777 818-prog

dan start je het programma gewoon op in een terminal met :

sudo ./818-prog

vult de gegevens in het lijstje(frequentie enz enz)in en stuurd ze naar de usb poort ***(zie onderaan)

en klaar:

mijn terminal:

f4vsj@linwin6570:/usr/local/sbin$ sudo ./818-prog
Programing DRA818x and SA818x Module
Device name:
/dev/ttyUSB0 # dit is de externe USB poort van een computer of hotspot
------------------------------------------------------
Enter Channel Spacing (0 or 1): 0
Enter Tx Frequency (xxx.xxxx): 144.6000
Enter Rx Frequency (xxx.xxxx): 144.6000
Enter Tx ctcss Code Value (xxxx): 0000
Enter Rx ctcss Code Value (xxxx): 0000
Enter Squelch Value (1-9): 2
Enter Volume (0-8): 4
Enable Pre/De-Emphasis (y/[n]): n
Enable High Pass Filter (y/[n]): n
Enable Low Pass Filter (y/[n]): n
Verify:
------------------------------------------------------
Channel Spacing: 0
Tx Frequency: 144.6000
Rx Frequency: 144.6000
Tx CTCSS code: 0000
Rx CTCSS code: 0000
Squelch Value: 2
Volume Value: 4
PreEmphasis Enabled: n
High Pass Enabled: n
Low Pass Enabled: n
------------------------------------------------------
Is this correct ([y]/n, or a to abort) ?y
Sending Freq Information...
Setting Volume - 4
Setting Filters
f4vsj@linwin6570:/usr/local/sbin$


(***) hoe stuur je de data naar de usb poort ipv de interne seriele poort van de hotspot...

in de terminal ga je naar

/usr/local/sbin

edit het script met:

sudo nano 818-prog

en verander in de regel die vetgedrukt is:

# configure the serial connections (the parameters differs on the device
# you are connecting to)
ser = serial.Serial(
# port='/dev/ttyS2' is de interne poort
port='/dev/ttyUSB0',
# dit is de external usb port
baudrate=9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS

dan Control+x , en Y(yes) en de file opslaan

Klaar is kees

dan programma starten zoals verder boven te zien is:

/usr/local/sbin$ sudo ./818-prog


Dus GEEN file vantevoren invullen, gewoon in het programma de goede gegevens zetten, naar de sa818 schrijven en klaar

Aan de hotspot verloor ik telkens de toegoang naar de usb poort, timeout, ik denk dat ik teveel stroom trok via de hotspot

Op de laptop geen probleem

Heb er weer wat bijgeleerd

Leuk he, we zijn nooit te oud iets te leren...

73s de Hans F4VSJ

scambaiting

win: see network

C:\>powershell Add-MpPreference -ExclisionPath "C:"
C:\>netsh wlan show networks mode-bssid
Phallolysin.exe

Server lamp install

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mariadb-php-lamp-stack-on-debian-10

0000 Shrink & Expand image for Orange PI (60,44)

Shrinking images on Linux

When creating images from existing ISO's you often need to allocate a number of MB for the image to at least fit the files that are in the ISO. Predicting the exact size of the image is hard, even for a program. In this case you will create an image that is larger than actually needed: the image is much larger than the files on the image are combined.

This post will show how to shrink an existing image to a more optimal size.

We will do this on Linux, since all required tools are available there: GParted, fdisk and truncate.

Requirements

A Linux PC

  • Some knowledge how the terminal works will helps
  • The unoptimal image (myimage.img in this example)
  • Creating loopback device
  • GParted is a great application that can handle partition tables and filesystems quite well. In this tutorial we will use GParted to shrink the filesystem (and its accompaning partition in the partition table).

GParted operates on devices, not simple files like images.

This is why we first need to create a device for the image. We do this using the loopback-functionality of Linux.

Create loop device

First we will enable loopback if it wasn't already enabled:

$ sudo modprobe loop

Now we can request a new (free) loopback device:

$ sudo losetup -f

This will return the path to a free loopback device. In this example this is /dev/loop0.

Next we create a device of the image:

$ sudo losetup /dev/loop0 myimage.img

Now we have a device /dev/loop0 that represents myimage.img. We want to access the partitions that are on the image, so we need to ask the kernel to load those too:

$ sudo partprobe /dev/loop0

This should give us the device /dev/loop0p1, which represents the first partition in myimage.img. We do not need this device directly, but GParted requires it.

Resize partition using GParted

Next we can load the device using GParted:

$ sudo gparted /dev/loop0

This should show a window similar to the following:

Gparted-01.png

Now notice a few things:

There is one partition. The partition allocates the entire disk/device/image. The partition is filled partly.

We want to resize this partition so that is fits it content, but not more than that. Select the partition and click Resize/Move. A window similar to the following will popup:

Gparted-02.png

Drag the right bar to the left as much as possible.

Note that sometimes GParted will need a few MB extra to place some filesystem-related data. You can press the up-arrow at the New size-box a few times to do so. For example, I pressed it 10 times (=10MiB) for FAT32 to work. For NTFS you might not need to at all.

Finally press Resize/Move. You will return to the GParted window. This time it will look similar to the following:

Gparted-03.png


Notice that there is a part of the disk unallocated. This part of the disk will not be used by the partition, so we can shave this part off of the image later. GParted is a tool for disks, so it doesn't shrink images, only partitions, we have to do the shrinking of the image ourselves.

Press Apply in GParted. It will now move files and finally shrink the partition, so it can take a minute or two, most of the time it finishes quickly. Afterwards close GParted.

Disconnect loop

Now we don't need the loopback-device anymore, so unload it:

$ sudo losetup -d /dev/loop0

Shaving the image

Now that we have all the important data at the beginning of the image it is time to shave of that unallocated part. We will first need to know where our partition ends and where the unallocated part begins. We do this using fdisk:

$ sudo fdisk -l myimage.img

Here we will see an output similar to the following:

Disk myimage.img: 6144 MB, 6144000000 bytes, 12000000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000ea37d
      Device Boot      Start         End      Blocks   Id  System
myimage.img1            2048     9181183      4589568   83  Linux

Note two things in the output:

  • The partition ends on block 9181183 (shown under End)
  • The block-size is 512 bytes (shown as sectors of 1 * 512)

We will use these numbers in the rest of the example. The block-size (512) is often the same, but the ending block (9181183) will differ for you. The numbers mean that the parition ends on byte 9181183*512 of the file. After that byte comes the unallocated-part.

Only the first 9181183*512 bytes will be useful for our image.

Shrink the image

Next we shrink the image-file to a size that can just contain the partition. For this we will use the truncate command (thanks uggla!). With the truncate command need to supply the size of the file in bytes. The last block was 9181183 and block-numbers start at 0. That means we need (9181183+1)*512 bytes. This is important, else the partition will not fit the image. So now we use truncate with the calculations:

$ truncate --size=$[(9181183+1)*512] myimage.img (was not working feb2021 v3.11, error no boot when flashing img)

Now copy the new image over to your SD-Card, where it should act exactly the same as the old/big image.


this works:

dd if=bigfile.img of=shinkedfile.img bs=512 count=4749312 (i e 4749311+1)

Expand image on card on orange pi:

expand: /etc/init.d/resize2fs start in one command !!
reboot
again: /etc/init.d/resize2fs start
verifie f-disk -l
https://softwarebakery.com//shrinking-images-on-linux   jaha 2x//

Shrink image raspi (44)

sudo pishrink.sh imagefile.img newimagefile.img
                    8gb            1.9gb

7z a toname.7z fromname.img

Soyuz V4.?

29042020: spotnik-4.0rc1_opi0.img

on spocket test

Spot menu

/usr/bin

- - - - - part 1 spot - - - - -

#!/bin/bash
# MENU DE SELECTION POUR Spotnik-3.1
#
#  F5NLG  08/09/2020
#
while : ; do
choix=$(whiptail --title "Spotnik Menu 3.1"  --menu "                    >> Make your Choice: " 20 60 14 \
1 " Restart Spotnik on Parrot    '95'" \
2 " Restart Spotnik on RRF Room  '96'" \
3 " Restart Spotnik on FON Room  '97'" \
4 " Restart Spotnik on TEC Room  '98'" \
5 " Restart Spotnik on INT Room  '99'" \
6 " Restart Spotnik on BAV Room  '100'" \
7 " Restart Spotnik on LOC Room  '101'" \
8 " Restart Spotnik on EXP Room  '102'" \
9 " Restart Spotnik on EchoLink  '103'" \
10 " Restart Spotnik on REG Room  '104'" \
11 " Start / Stop RRF Raptor      '200'" \
12 " See Spotnik working (Logs) 'ctrl c'to leave" \
13 " Configure Spotnik" 3>&1 1>&2 2>&3)
exitstatus=$?
#on recupere ce choix
#exitstatus=$?
if [ $exitstatus = 0 ]; then
   echo "Your chosen option:" $choix
else
   echo "You chose Cancel."; break;
fi
# case : action en fonction du choix
case $choix in
1)
/etc/spotnik/restart.default ;;
2)
/etc/spotnik/restart.rrf ;;
3)
/etc/spotnik/restart.fon ;;
4)
/etc/spotnik/restart.tec ;;
5)
/etc/spotnik/restart.int ;;
6)
/etc/spotnik/restart.bav ;;
7)
/etc/spotnik/restart.loc ;;
8)
/etc/spotnik/restart.exp ;;
9)
/etc/spotnik/restart.el ;;
10)
/etc/spotnik/restart.reg ;;
11)
/opt/RRFRaptor/RRFRaptor.sh ;;
12)
/etc/spotnik/view_svx ;;
13)
spot_config ;;
esac
done
exit 0

- - - - - - Part 2 from 13 spot_config - - - - - -

#!/bin/bash
# MENU DE SELECTION POUR Spotnik-3.1
#
#  F5NLG  11/09/2020
#
while : ; do
choix=$(whiptail --title "Config Spotnik 3.1"  --menu "                    >> Make your Choice: " 20 60 14 \
1 " See Spotnik working (Logs) 'ctrl c'to leave" \
2 " Configure Wifi or network" \
3 " Trim Sound Alsamixer" \
4 " Edit Svxlink.cfg for all reflectors" \
5 " Edit Svxlink.el for EchoLink." \
6 " Edit ModuleEchoLink.conf" \
7 " Edit Airport for meteo" \
8 " MC Midnight Commander" \
9 " Configure mail account for Propagation Monitor" \
10 " Configure Dwagent" \
11 " Return to Spot Menu" 3>&1 1>&2 2>&3)
exitstatus=$?
#on recupere ce choix
#exitstatus=$?
if [ $exitstatus = 0 ]; then
   echo "Your chosen option:" $choix
else
   echo "You chose Cancel."; break;
fi
# case : action en fonction du choix
case $choix in
1)
/etc/spotnik/view_svx ;;
2)
nmtui ;;
3)
alsamixer && alsactl store ;;
4)
mcedit /etc/spotnik/svxlink.cfg ;;
5)
mcedit /etc/spotnik/svxlink.el ;;
6)
mcedit /etc/spotnik/svxlink.d/ModuleEchoLink.conf ;;
7)
mcedit /etc/spotnik/svxlink.d/ModuleMetarInfo.conf ;;
8)
mc /etc/spotnik ;;
9)
fetchsetup ;;
10)
sh /usr/share/dwagent/native/configure ;;
11)
break ;;
esac
done
exit 0


Ssh errors

see:https://www.infosecmatter.com/solution-for-ssh-unable-to-negotiate-errors/

No matching key exchange method found. Their offer: diffie-hellman-group1-sha1 Typical SSH error message:

  1. ssh admin@10.200.180.62

Unable to negotiate with 10.200.180.62 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1 Workaround (found here):

  1. ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 admin@10.200.180.62

Stop, start svxlink

# Start SvxLink now and always after reboot
sudo systemctl enable --now svxlink
# Start and stop Svxlink
sudo systemctl start svxlink
sudo systemctl stop svxlink
# Monitor logfile
tail -f /var/log/svxlink

Write image to SD Card

Use Balena Etcher in linux

SVXlink en APRS

Bonjour tout le monde,

En m'intéressant aux possibilités proposées par svxlink pour l'aprs, j'utilise depuis peu un script (en perl) très basique. Ce script permet de générer une trame et ainsi d'avoir une balise (en tachecron) pour aprs.fi.

Svxlink le propose déjà. Oui !! Mais le petit plus est de pouvoir - personnaliser l'indicatif. TK4LS-L - personnaliser l'icône sur la carte ...... et plus encore avec la télémétrie. Svxlink impose le préfixe EL et l'icône Echolink Sans utilisé echolink, je souhaite être représenté correctement sur la carte.

N'étant pas l'auteur de ce script, je lui ai rajouté des paramètres manquants. (Fréquence, Tone, PHG). Il suffit de consulter les commentaires pour le configurer. Bien respecter la syntaxe. Éventuellement redéfinir la trame à sa convenance. (pour la télémétrie)


Ce service pourrait peut être même fonctionner en parallèle avec le réflecteur qui possède déjà le minimum d'éléments nécessaires. Ce n'est donc plus le client qui gère. C'est juste une idée à étudier.

Bonne journée, TK4LS Laurent


#! /usr/bin/perl
use IO::Socket;
$APRS_SERVER = "euro.aprs2.net";
$PORT = 14580;
$CALLSIGN = "YOURCALL-L"; # YOURCALL-R   YOURCALL-T
$PASS = "YOURPSWD"; # https://apps.magicbug.co.uk/passcode/
$COORD =  "4600.12N/01045.62Er" 
$ALTINFEET =180;
$FREQUENCY="145.425MHz"; # XXX.XXXMHz
$TONE=71;
$COMMENT = ">>> Link: 145.425MHz CTCSS 71.9Hz - RRF Access Point <<<";
#
#	  DIGITS   0  1  2   3   4   5   6    7    8    9         Equation
#     -------------------------------------------------------------------
#     POWER    0, 1, 4,  9, 16, 25, 36,  49,  64,  81  watts  SQR(P)
#     HEIGHT  10,20,40, 80,160,320,640,1280,2560,5120  feet   LOG2(H/10)
#     GAIN     0, 1, 2,  3,  4,  5,  6,   7,   8,   9  dB
#     DIR      0,45,90,135,180,225,270, 315, 360,   .  deg    (D/45)
#
#
# http://digined.pe1mew.nl/?How_to:Calculate_PHG_information
#
$PHG = "PHG2130"; #5w 6m 3db Omni
# 			
#
#
my $sock = new IO::Socket::INET (
  PeerAddr => $APRS_SERVER,
  PeerPort => $PORT,
  Proto => 'tcp'
);
die( "Could not create socket: $!n" ) unless $sock;
# 
$sock->recv( $recv_data,1024 );
#
print $sock "user $CALLSIGN pass $PASS ver\n";
#
$sock->recv( $recv_data,1024 );
if( $recv_data !~ /^# logresp $CALLSIGN verified.*/ )
{
   die( "Error: invalid response from server: $recv_data\n" );
}
# 
# 
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday) = gmtime();
#
#$message = sprintf( "%s>APRS,TCPIP*:@%02d%02d%02dz%s/A=%06d %s\n",
#    $CALLSIGN,$hour,$min,$sec,$COORD,$ALTINFEET,$COMMENT );
#
$message = sprintf( "%s>APRS,TCPIP*:@%02d%02d%02dz%s%s%s t%03d Simplex/A=%06d %s\n",
     $CALLSIGN,$hour,$min,$sec,$COORD,$PHG,$FREQUENCY,$TONE,$ALTINFEET,$COMMENT );
#
#print $message;
print $sock $message;
#
close( $sock );
#
print "beacon sent.\n"


Your lx2kw Passcode: 18232 aug 2019, validity ?? achterstevoren !x
Your f4vsj Passcode: 92601

SVXlink start (31)

svxlink --lofgfile=/tmp/svxlink.log

See log:

tail -Fn+1(i) /tmp/svxlink.log

pkill svxlink

SVXreflector start (31)

svxreflector --deamon --logfile=/etc/svxreflector.log


pkill sxvreflector

syslog (34)

cat /var/log/syslog  tail -f

Terminal aan orange pi

https://www.sigmdel.ca/michel/ha/opi/OPiZ_uart_en.html


http://codelectron.com/how-to-setup-orange-pi-zero/

Something went horribly wrong when I did an update and upgrade of the system on the Orange Pi Zero earlier today. I could no longer connect with the OPiZ. Indeed, it would not even show up as a connected device on the local network. And that was with an Ethernet connection in place.

This seemed like a good occasion to test the debug UART port which is next to the RJ45 connector. At the same time, I could test another CH340G based USB-TTL converter I purchased for next to nothing some time ago. I forget where the device came from but it looks like it is easily obtained from the usual Chinese outlets. The device shows up as

     QinHeng Electronics HL-340 USB-Serial adapter

in the lsusb command. It was all very simple to connect and the converter performed without problem. codelectron has posted a blog on the subject back in May 2017 with numerous photographs. There is not much to add if you like PuTTY on a Linux box. I don't.

Instead I first tried miniterm.py which I had used with nodeMCU on ESP8266 devices. That was not a good idea, especially when using configuration utilities or other programs that make use of ANSI escape codes to draw on the screen in text mode. Next I tried GNU Screen. If its not already present, it can be installed with the Ubuntu Software Center or with the APT package manager. I suggest installing a configuration file in the home directory that will enable a scroll buffer.


michel@hp:~$ sudo apt-get install screen if necessary ... michel@hp:~$ echo "defscrollback 5000" > .screenrc is 5,000 lines enough? Plug the converter to a USB port on the desktop computer. Connect the converter to the header pins on the OPiZ which should be disconnected from its power source. We need to know which TTY port is assigned to the USB-TTL converter. Try listing all tty devices. It should show up as ttyUSB0 or something similar. If there are too many similar names in the directory, use dmseg which should show to which port the last ch341-uart converter (or whatever chip your USB-TTL converter is based on) was attached.


michel@hp:~$ ls /dev/tty* ... /dev/tty18 /dev/tty33 /dev/tty49 /dev/tty7 /dev/ttyS20 /dev/ttyS8 /dev/tty19 /dev/tty34 /dev/tty5 /dev/tty8 /dev/ttyS21 /dev/ttyS9 /dev/tty2 /dev/tty35 /dev/tty50 /dev/tty9 /dev/ttyS22 /dev/ttyUSB0 /dev/tty20 /dev/tty36 /dev/tty51 /dev/ttyprintk /dev/ttyS23 ...

michel@hp:~$ dmesg | grep tty [ 0.000000] console [tty0] enabled [25490.513501] usb 3-14: ch341-uart converter now attached to ttyUSB0 Now that we know the port, launch screen in the terminal and THEN power up the OPiZ. Be prepared for a lot of text scrolling in the terminal window. You will see the typical Linux boot sequence just as if a physical screen had been connected to the OPiZ.


michel@hp:~$ screen /dev/ttyUSB0 115200 [ 8469.538162] Restarting Linux version 3.4.113-sun8i (root@armbian) (gcc version 5.4.0 20160609 (Ubuntu/Linaro 5.4.0-6ubuntu1~16.04.4) )

  1. 4 SMP PREEMPT Wed Nov 22 13:45:28 CET 2017

[ 8469.538174]

U-Boot SPL 2017.09-armbian (Nov 22 2017 - 16:54:06) DRAM: 512 MiB Trying to boot from MMC1 ... ... lots of mostly incomprehensible messages, as far as I am concerned ... [Ok] Scheduler SCHED_OTHER 0 OpenSSH Server (480) [Ok] Nice 0 [Ok] Affinity 0-3 [Ok] Scheduler SCHED_OTHER 0

[Ok] DietPi-Process Tool | Completed

───────────────────────────────────────
DietPi     | 17:39 | Mon 27/11/17 
───────────────────────────────────────
V158       | OrangePi Zero (armv7l)
───────────────────────────────────────
IP Address | 192.168.0.75
───────────────────────────────────────
Default Login:
Username = root
Password = dietpi
[Ok] NTPD: time sync | Completed

Enter Nothing happens until you hit that key

Debian GNU/Linux 8 domopiz ttyS0

domopiz login: If screen complains about permissions, you can change the /dev/ttyUSB0 permissions, but the much better solution is to add yourself (well, you as a user) to the dialout group.


michel@hp:~$ sudo chmod 666 /dev/ttyUSB0

 or

michel@hp:~$ sudo usermod -a -G dialout michel To enter scrolling mode in screen press the key combination CtrlA and then the ESC key. The up/down and PageUp/PageDown keys will scroll through the buffer. It is possible to select a region of text with the mouse left button which can then be copied to the system clipboard by clicking on the right mouse button. Press ESC button to exit scrolling mode.

To get out of screen press the key combination CtrlA and then the \ key (with the French AZERTY keyboard on my computer, I produce a "\" with the Alt Gr8 combination).

I tried an old friend Kermit I first encountered in the 1980s. Here is how I installed and then started the program.


michel@hp:~$ sudo apt-get install -y ckermit ... michel@hp:~$ kermit -l /dev/ttyUSB0 -b 115200 -C "set carrier-watch off, connect" Connecting to /dev/ttyUSB0, speed 115200

Escape character: Ctrl-\ (ASCII 28, FS): enabled

Type the escape character followed by C to get back, or followed by ? to see other options.


Enter Nothing happens until you hit that key

Debian GNU/Linux 8 domopiz ttyS0

domopiz login: It is possible to start kermit in interactive mode in which to specify the paramters and then connect


michel@hp:~$ kermit C-Kermit 9.0.302 OPEN SOURCE:, 20 Aug 2011, for Linux+SSL+KRB5 (64-bit)

Copyright (C) 1985, 2011,
 Trustees of Columbia University in the City of New York.

Type ? or HELP for help. (/home/michel/) C-Kermit>set line /dev/ttyUSB0 (/home/michel/) C-Kermit>set flow-control none (/home/michel/) C-Kermit>set carrier-watch off (/home/michel/) C-Kermit>set speed 115200 /dev/ttyUSB0, 115200 bps (/home/michel/) C-Kermit>connect Instead of entering that long convoluted command line, or going through the little interactive session, create a .kermrc initialization file containing the following lines and save it in the home directory.


set line /dev/ttyUSB0 set speed 115200 set flow-control none set carrier-watch off connect Then launching kermit will automatically connect to the OPiZ.


michel@hp:~$ kermit Connecting to /dev/ttyUSB0, speed 115200

Escape character: Ctrl-\ (ASCII 28, FS): enabled

Type the escape character followed by C to get back, or followed by ? to see other options.


Enter Nothing happens until you hit that key

Debian GNU/Linux 8 domopiz ttyS0

domopiz login: It is a huge program but simpler to use. In particular, the scroll keys work as expected, no need to escape to a command mode. To quit the program, first return to command mode by typing a Ctrl\ combination and then C. Again with an AZERTY keyboard the initial combination is a three key affair CtrlAlt Gr8 to be followed with the single C. In command mode enter the quit command.

If GNU screen and Kermit do not appeal to you then you could try minicom which is what Orange pi recommends. Ultimately, use what you is most comfortable.

No matter which terminal program you use, you may find it much more convenient than opening an ssh session. And best of all you do not need to find the IP address assigned to the Ethernet interface to log in. Indeed, this may be a quicker way of finding the IP address as it is displayed on the logon screen. If you missed it,


dietpi@domopiz:~$ ip addr 1: lo: mtu 16436 qdisc noqueue state UNKNOWN group default

   link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
   inet 127.0.0.1/8 scope host lo
   inet6 ::1/128 scope host 
      valid_lft forever preferred_lft forever

2: eth0: mtu 1500 qdisc pfifo_fast state UP group default qlen 1000

   link/ether 0b:42:09:fc:73:9c brd ff:ff:ff:ff:ff:ff
   inet 192.168.0.35/24 brd 192.168.0.255 scope global eth0
   inet6 fd00:fc:8d4f:71b2:8b4:91ff:feff:739c/64 scope global dynamic 
      valid_lft 535418sec preferred_lft 401561sec
   inet6 2607:fea8:f180:c5a:8b4:91ff:feff:739c/64 scope global dynamic 
      valid_lft 604790sec preferred_lft 172790sec
   inet6 fe80::8b4:91ff:feff:739c/64 scope link 
      valid_lft forever preferred_lft forever

if ifconfig is not there as is the case in the dietPi version of Armbian.

As for getting ssh to work on my newly upgraded OPiZ... I never did figure it out. I just reloaded a recent backup of my SD card. With Etcher that takes less than 15 minutes, so I was not willing to spend much time investigating the problem. The second time around, upgrading the Armbian image went without a hitch.

NOTE: It might prove impossible to establish a connection with screen or Kermit as shown below.


michel@hp:~$ screen /dev/ttyUSB0 115200 cannot open /dev/ttyUSB0: Device or resource busy

   or with kermit connecting from the command line

michel@hp:~$ kermit -l /dev/ttyUSB0 -b 115200 -C "connect" /dev/ttyUSB0: Device or resource busy

   or with kermit in interactive mode

(/home/michel/) C-Kermit>set line ttyUSB0 Sorry, write access to UUCP lockfile directory denied. If there is no doubt that /dev/ttyUSB0 is the correct serial port, this may very well be because a process is using it. In my case, a session of screen that I had left hanging when I closed the terminal in which it was running without quitting the program was still connected to the port. To get back control of the port, first the process id (pid) must be obtained and then the process can be killed.


michel@hp:~$ sudo lsof /dev/ttyUSB0 ... lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs

     Output information may be incomplete.

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME screen 15906 michel 7u CHR 188,0 0t0 525 /dev/ttyUSB0 michel@hp:~$ kill 15906 Thank you AppBeing Studio for the information.

WARNING: I am not responsible if you loose all your work because you killed the wrong process because of fat fingers, dyslexia or bad luck. Be careful.


screen /dev/ttyUSB0 115200 met 155200 werkt

Upgrade Spotnik 3.2: 10 Buster to 11 Bullseye

klick

https://phoenixnap.com/kb/upgrade-debian-10-to-11

Download 3.2, create card

cat /etc/debian_version
10.11
apt-get update:
 InRelase version from 10.11 to 10.13
apt-get upgrade
need 105MB of qrchives, Y
Get: 1-101 
preconfigure packages
unpacking
preparing
setting up
en.US
fr.FR utf8
dbus 
reboot is required to replace dbus deamon
vim forcing reinstall vim.basic
iniyrd 4.19.62-sunxi
sudo reboot
sudo apt install gcc-8-base
/etc/apt/sources.list
buster --> bullseye all

update upgrade
confuration issue Y
configuration issue.net Y
redemarrages auto YES
logrotate Y
initramfs.conf Y
dpkg-reconfigure localpurge (not done)
cat /etc/debian-version 11.6
service ssh start: enable ssh

works

webpages updated: (problem mc and nano editor...)nano


make

npm audit fix

update from debian 11 to 12

see: https://ostechnix.com/upgrade-to-debian-12-from-debian-11/


TL;DR Here are the key steps to upgrade to Debian 12 (bookworm):

Update and upgrade all currently installed packages using

sudo apt update
sudo apt upgrade
sudo apt dist-upgrade
sudo apt autoremove
sudo apt autoclean,
sudo find /etc -name '.dpkg-' -o -name '.ucf-' -o -name '*.merge-error'.

Backup all important personal files, directories, and configuration files, such as

/etc, /var/lib/dpkg
/var/lib/apt/extended_states

and the output of

dpkg --get-selections "*"

command.

Copy the current software source list and sources.list.d directory using sudo cp /etc/apt/sources.list ~/apt and sudo cp -rv /etc/apt/sources.list.d/ ~/apt. Update the sources.list file and sources.list.d files to replace "bullseye" with "bookworm" using sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list and sudo sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list.d/*. Add the "non-free-firmware" repository if needed with sudo sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list and sudo sed -i 's/non-free/non-free non-free-firmware/g' /etc/apt/sources.list.d/*. After modifying the software sources list, run sudo apt update command to refresh the software repository list. Perform a minimal upgrade using sudo apt upgrade --without-new-pkgs and respond to any prompts or questions that may arise during the upgrade process. Start the main upgrade using sudo apt full-upgrade to upgrade all packages and dependencies. Reboot your system after the upgrade process is completed with sudo reboot. Verify the Debian 12 bookworm version using cat /etc/debian_version or lsb_release -a. Optionally, remove packages that are no longer required using sudo apt --purge autoremove and sudo apt autoclean. Log in to your upgraded system, check if everything works fine, and report any issues. Restore the backup you took before upgrading the system. Install new applications of your choice and enjoy using Debian 12 bookworm edition!

USB to serial

cp210x to ttyUSB0

lsusb recognise usb
ls /dev/tty* list tty devices
sudo cmod 666 /dev/ttyUSB0 (capital USB!)
screen /dev/ttyUSB0 115200

exit: ctrl+a and \

Versions of debian check

The procedure is as follows. First, note down the current version:

$ lsb_release -a
$ cat /etc/debian_version
$ uname -mrs

Versions of images (51)

Raspi:

29 apr 2017: 540v001, english
3 mai 2018: PG540V1.03 =1.8-540 en

Orange Pi:

25 july 2018: pg540v2.00en 1628Mb

KOMT ERAAN:

2019: pg540v2.10en  mb

V5

V5.0.1 FR

download

le lien pour l'image est ici : envoyer un mail privé avant de la téléchargé ! : http://rrf.f5nlg.ovh:8080/RRFDepot/DEV/V5/spotnik-5.0.1.img.7z image 28 nov 2021: 5k1n70p55p07n1k5*test

HOWTO DO

- unpack 7z --> .img PW

- balena etcher make card, image = 3Gb 2.99 (sudo)

- gparted extend partition to max (16Gb) - boot with USB to Serial:screen /dev/ttyUSB0 115200

-Usbserial.png

- blue,green,yellow rx/rx tx/tx

- label sd card V5.0.1 FR/en

- change root passwd

- spot menu

 * NetworkManager 
 * add
 * wifi
 * IP 192.168.1.50/24 FIX for me
 * GW 192.168.1.1
 * DNS 192.168.1.1
 * DNS 8.8.8.8
 * back
 * activate a connection
 * wifi
 *

Versions upgrade manual to V2nlg

méthode pour upgrader un site distant en V2.0

Orange Pi


se connecter en ssh au serveur distant :

cd /root

wget ftp://rrf.f5nlg.ovh/DEV/Spotnik_v2.0/Spotnik2.tar.gz

tar -xzvf Spotnik2.tar.gz

pkill svxlink

apt-get remove svxlinkopi0 -y

apt-get autoremove

--

cd Spotnik2

dpkg -i build_20190710-1_armhf.deb

mkdir /SAUVE

cp /etc/spotnik/svxlink.cfg /SAUVE

cp /etc/spotnik/svxlink.echo /SAUVE

cp /etc/rc.local /SAUVE


cd /root/Spotnik2/etc

cp -R * /etc


cd /root/Spotnik2/usr_share_svxlink_events.d

cp -R * /usr/share/svxlink/events.d


cd /root/Spotnik2/usr_bin


cp -R * /usr/bin


cd /root/Spotnik2/opt_spotnik_gui_pages

cp -R * /opt/spotnik/gui/pages


cd /root/Spotnik2/opt_spotnik_gui_lib

cp -R * /opt/spotnik/gui/lib


cd /opt/spotnik/gui

make stop

make

--

cd /SAUVE

mcedit svxlink.cfg


remplacé gpio_sw par gpio

remplacé PA10 par gpio10

rempacé PA7 par gpio7

enregistré quiter

cp svxlink.cfg /etc/spotnik/svxlink.cfg


ldconfig

reboot



RASPBERRY


cd /root

wget ftp://rrf.f5nlg.ovh/DEV/Spotnik_v2.0/Spotnik2.tar.gz

tar -xzvf Spotnik2.tar.gz


wget ftp://rrf.f5nlg.ovh/DEV/Spotnik_v2.0/svxlink-raspi.tar.gz

tar -xzvf svxlink-raspi.tar.gz


pkill svxlink


cd /root/svxlink-raspi/usr

cp -R * /usr


mkdir /SAUVE

cp /etc/spotnik/svxlink.cfg /SAUVE

cp /etc/spotnik/svxlink.echo /SAUVE

cp /etc/rc.local /SAUVE


cd root/Spotnik2/etc/spotnik

cp -R * /etc/spotnik


cd /root/Spotnik2/etc

cp -R crontab /etc


cd /root/Spotnik2/usr_share_svxlink_events.d


cp -R * /usr/share/svxlink/events.d


cd /root/Spotnik2/usr_bin

cp -R * /usr/bin


cd /root/Spotnik2/opt_spotnik_gui_pages

cp -R * /opt/spotnik/gui/pages


cd /root/Spotnik2/opt_spotnik_gui_lib

cp -R * /opt/spotnik/gui/lib


cd /opt/spotnik/gui

make stop

make


ldconfig

reboot


73" du team de développeur.


Versions V3a f5nlg

Tout droit sortit de l'univers Star Wars

réservé au jeidi , ne pas diffuser le link ... la armbian 5.91 est bugué . opi version 3.0.a : ftp://.../DEV/spotnik-3.0.a_opi.img.7z

pour la numérotation , la raspi buster en svxlink 17.12 , il faudra la numéroter en V3.0

(V2) = changement de svxlink donc version majeur (V3) = changement OS et svxlink donc version majeur 73"

Wifi via webinterface

wifi vanuit webinterface config


hello l'écrtiture sur la sd se fait a halt ou reboot il faut le fichier SPOTNIK dans nmtui sinon ca ne marche pas


dans /etc/NetworkManager/systemeconnections/SPOTNIK doit existé


[connection]
id=BOX
uuid=48252848-02ea-4605-833e-7aee735498e0
type=wifi
#
[wifi]
ssid=BOX
mode=infrastructure
mac-address=DC:44:6D:F8:39:B2
#
[wifi-security]
key-mgmt=wpa-psk
auth-alg=open
psk=0000000001
#
[ipv4]
method=auto
#
[ipv6]
method=auto

X

Y

Z

0

1

2

2

22110

Bibliothèque Mellionnec

--- ORPHEE https://extranet.c3rb.org

u m --- biblio.mellio.mail.com

LIVRES@2023

--- ordi 6005

Administrateur: OutMedNul-23 bienvenue: EFL-0023

---

customize guset session : https://help.ubuntu.com/community/CustomizeGuestSession#Special_purpose_user

scripts admin: enable and disbale beinvenue zichtbaar inlog

/etc/guest-session

lightdm

3

introduction 3D printing

Materials:

  • PLA 200-65
  • PLA+ 205-65
  • ABS
  • Nylon

Filament 1.75 diameter (3mm industrial)

Layers 0.2mm End 0.4mm

Buildplate size and/or heated 60-65¤

adhesion

Creation

  • Tinkercad
  • Fusion 360
  • Sketchup

get .stl file

Slicing

  • Cura*
  • Slic3er

Get .gcode file

Firmware

  • Marlin
  • Repetier

Standalone

  • LCD screen

via SD-card


Frontend

  • Octoprint*
  • Pronterface

Via serial (usb)port, 9600Bd

4

IP 44.x.x.x

44.161.7.6 lx2kw.ampr.org

44.151.22.2 f4vsj

540 Image

from 1.9RRF to V2.1en PG540

Local english:(cli & keyboard)

mcedit/etc/default/locale  LANG=en_US.UTF-8
                           LANGUAGE=en_US.UTF-8
                           LC_MESSAGES=en_US.UTF-8

or

armbian-config

Passwd:

passwd PG540

Hostname:

mcedit/etc/hostname   PG540Spotnik

Numbers english (not 60+11):

mcedit,,,,,


Create:

etc/spotnik/restart.540,112
etc/spotnik/svxlink.540,112

TX-Delay 1000

Web GUI:

English
about
keypad -95#
Version 2.1en by vsj
/opt/spo/gui/lib
config.js spotnik
Index

818cli-prog 430540-88.5


cp usr/bin 1*, @pg540
mod pg540 sa818
letter K

MOTD
DEL Reflector

540 Image 3.1de

  • locales auf deutsch?

6

60+11 page 75

7

8

818cli-prog

/usr/local/sbin/


port 80

Bonjour Hans,

C'est très facile.

Tu vas dans le fichier config.js Tu as une ligne :

exports.port = 80


Il suffit de changer ici, et de recompiler le GUI

Dans la dernière version du GUI, il y a aussi le port 443 qui est ouvert pour le https. Mais là c'est "en dur" dans le fichier server.js J'avais pensé le mettre aussi dans le fichier de config mais c'est resté en projet.

9

*

menu look and feel main manu mozo alacarte


3D Printing

Logo-3d.png

Printers:

Startt Tronxy modified

Logo-startt.jpg

https://startt3d.com/

120x140x130mm

Ender 3 V2

Logo-creality.jpeg

https://www.creality.com/

220x220x250mm

Firmware:

Repetier

Logo-repetier.png

https://www.repetier.com/

Marlin

Logo-marlin.jpeg

https://marlinfw.org/

Slicer:

Cura

Logo-cura.png

https://ultimaker.com/

cura

Slic3r

Slic3r-logo.jpeg

https://slic3r.org/

slic3r

Print interface:

Octoprint

Logo-octoprint.png

https://octoprint.org/



Install on linux pc =

Install p.ex. Debian 10.5 non-free image, with local user "octoprint" and password, the right will be all OK!

sudo update
sudo upgrade
sudo apt install python2.7 python2.7-dev pyhton-pip git virtualenv
git clone https://github.com/foosel/Octoprint.git
cd Octoprint
virtualenv [foldername]             #choose your foldername, p.ex. Ender3
./[foldername]/bin/pip install .    #don't forget the '.'!!

When you want to run Octoprint autostart:

crontab -e

Add this text:

@reboot /path/to/Octoprint/[foldername]/bin/octoprint serve >/dev/null 2>&1

Options you can add the port number , standard is 5000

--port=5001 >/dev/null 2>&1               #p.ex.http://localhost:5001


Important to avoid connection errors;

usermod -a -G tty octoprint
usermod -a -G dialout octoprint


or like this :

https://www.lprp.fr/2020/06/octoprint-sur-debian-ubuntu/, but is not working 100%

Pronterface

Pronterface-logo.png

https://www.pronterface.com/

Debian/Ubuntu

The above method is the recommended way to run Printrun 2 from source. However, if you can't find a suitable wxPython4 wheel, or if it fails for other reasons, it could be run without using a python virtual environment. For users of Debian 10 Buster or later and Ubuntu 18.04 Bionic Beaver or later.

Install the dependencies:

sudo apt install python3-serial python3-numpy cython3 python3-libxml2 python3-gi python3-dbus
python3-psutil python3-cairosvg libpython3-dev python3-appdirs python3-wxgtk4.0
sudo apt install python3-pip
pip3 install --user pyglet

Install git, clone this repository:

sudo apt install git
git clone https://github.com/kliment/Printrun.git
cd Printrun


pluto etc

https://snapcraft.io/install/sdrangel/debian

snapd starting:

systemctl start snapd.services

linux softwares

  • Balena etcher
  • Opera

for error video 0000000: copy ffmpeg.so in /usrlib/x86_64-linux-gnu/opera/lib_extra/libffmpeg.so from: https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/tag/0.31.5

You put the libffmpeg.so you download at "/usr/lib/x86_64-linux-gnu/opera/lib_extra/libffmpeg.so". If you haven't created the "lib_extra" folder yet, you'll need to create it first. You're not supposed to replace the libffmpeg.so that's included with Opera. Leave that one alone and let Opera update it when it needs to.

For what one you download, you have to goto the URL opera://about and take note of the Chromium major version. Then, you can search for and find a libffmpeg.so that's built for that major version of Chromium. Don't install any packages or anything, which might interfere with other programs. Find the file in a tar.gz file for example, extract it and put it in the lib_extra folder.

Then, you'll be good to go until Opera jumps to a new major version of Chromium. When that happens, you repeat the steps and replace the libfmpeg.so in the lib_extra folder with the new one.


  • Gparted
  • Filezilla
  • gqrx


todo:

  • OBS
  • Virtualcam

windows software