Uit Projectgroep .540
Ga naar: navigatie, zoeken



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 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


  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:

Armbian Monitor

armbianmonitor -m (temperature)

Alsamixer (11)

sudo alsactl store

Alsamixer settings OPI (45)

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

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


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

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;

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)





call in [Simplexlogic]

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
spotnik-4.1_opi from 31dec2020

2) Etcher: Create sd-card

Balena etcher 1.5.100

3) Gparted: expand partition to max


partition resize: to max


4) Boot on Orange Pi

5) Angry Ipscanner: Get IP adress


6) in SSH terminal

 * cpu 240-816 ondemand
 * update upgrade
 * locales
 - disable FR
 - en_US.UTF-8
 * Keyboard optional
 * Hostname
 -right hostname
 * mirror
 * 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
 * /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
 * 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


* /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

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:
# compte du host pour le reflector
echo "HOST=" >>/etc/spotnik/svxlink.540
echo "AUTH_KEY=pg540@Network" >>/etc/spotnik/svxlink.540
echo "PORT=31540" >>/etc/spotnik/svxlink.540


* 104 --> 540



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


Traduction networks


tilte pg540 Spotnik
logo sputnikblue


Spotnik V3.1.1


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

15) 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


spot menu:

add 540 dtmf 
spotmenu translate


meteo 7.50 etc 50 07,...


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


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

add soft:

dcfldd (sudo apt-get install -y dcfldd)


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

DTMF 540!ma

pense bete


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!               │
  │                                                               │


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
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



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.
# 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










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


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 

DHCP Server on raspi B

dnsmasq ok

DTMF Codes (13)

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


f4vsj 2080441



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 :



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


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


Evdev --> Plantronics

Ftp pg540 dir (46)

users: F4VSJ RP8

      PE2JKO H@@rlem2018

GPS Coordinates NL



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
!!! 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


*make stop
<change webpages>
*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


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.


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

cd /opt/spotnik/gui
make stop
rm package-lock.json
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


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

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)

make stop
change webpages
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 -p (list)
h3consumption -m 700 (720MHz)
4 cores
temp check and view :
see armbianmonitor -m (60 degrees)

Iphone connect (47) old iphone 4s

IP indicator

Indicator-ip op Ubuntu balk bovenin:





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


svxlog: /tmp/svxlink.log

reflog: /etc/svxreflector.log

Locale (5)


env | grep LANG
export LANG=en_US.UTF-8
dpkg-reconfigure locales
en_US.utf8 uitzoeken


Locale numbers (5) (75!)

fr: 60+11
en: 71

Locationinfo (5)

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

F4VSJ location Korneg:

lon= 03.06.04W

Portacabin Zantvoort:

52.22.54 N
04.32.38 E

Logic.tcl (13)

sayip line 417: dash->decimal

Mac adress change

edit and change

ModuleMetarInfo (7)

airports LFRB Brest
         LFRN Rennes
         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 start
script evm in makefile
make build

Modprobe (9)

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)

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!

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.


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 install
launch /usr/local/bin/noip2
--> delay 1
conf=/usr/local/etc no-ip2.conf
pidof noip2

noip2 -S see IP


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 &


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

14#: Show host interfaces and routes

nmap --iflist

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

nmap --open

Orange PI Mods (29)

MOTD: in /etc/update_motd.d

port 443 GUI


Process title:

process title_.....

Textcolor BIG:

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


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

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

rrf2 backup Pour le RRF2 :

Si cela peut aider : Le serveur Debian vierge ici : rrf2bis.f1tzo.com ou 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)


xinput --list

--Plantronics ID=8

showkey opi pc: 114-115


xmodmap -pke (pipe) less


evemu-describe evemu-record xinput watch-props 13

evdev (not installed opilite)


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)


Testing ... (interrupt to exit)



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




svxlink;cfg orig:


Power button


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


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


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:


Montage en Pull up ou Pull Down

- - - - -

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


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


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


Radio mobile (39)



RC.local (17)


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


202 cw::play:K bovenste

RRF dash


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



4305400 TX
4305400 RX
0008 CTCSS
Filters:0,0,0 (all active)


enter values in file
just after reboot

SA818 CTCSS codes

    Motorola  RELM            
071.9<-->XA<---->002<--->| Breizh                                                                                            
088.5<-->YB<---->008<--->| Haarlem                                                                                          
159.8<-->no<---->non<--->|    |                                                                                         

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.


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:


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:


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:


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 !!
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


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

#  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)
#on recupere ce choix
if [ $exitstatus = 0 ]; then
   echo "Your chosen option:" $choix
   echo "You chose Cancel."; break;
# case : action en fonction du choix
case $choix in
/etc/spotnik/restart.default ;;
/etc/spotnik/restart.rrf ;;
/etc/spotnik/restart.fon ;;
/etc/spotnik/restart.tec ;;
/etc/spotnik/restart.int ;;
/etc/spotnik/restart.bav ;;
/etc/spotnik/restart.loc ;;
/etc/spotnik/restart.exp ;;
/etc/spotnik/restart.el ;;
/etc/spotnik/restart.reg ;;
/opt/RRFRaptor/RRFRaptor.sh ;;
/etc/spotnik/view_svx ;;
spot_config ;;
exit 0

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

#  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)
#on recupere ce choix
if [ $exitstatus = 0 ]; then
   echo "Your chosen option:" $choix
   echo "You chose Cancel."; break;
# case : action en fonction du choix
case $choix in
/etc/spotnik/view_svx ;;
nmtui ;;
alsamixer && alsactl store ;;
mcedit /etc/spotnik/svxlink.cfg ;;
mcedit /etc/spotnik/svxlink.el ;;
mcedit /etc/spotnik/svxlink.d/ModuleEchoLink.conf ;;
mcedit /etc/spotnik/svxlink.d/ModuleMetarInfo.conf ;;
mc /etc/spotnik ;;
fetchsetup ;;
sh /usr/share/dwagent/native/configure ;;
break ;;
exit 0

Ssh errors


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

  1. ssh admin@

Unable to negotiate with 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@

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;
$PASS = "YOURPSWD"; # https://apps.magicbug.co.uk/passcode/
$COORD =  "4600.12N/01045.62Er" 
$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",
#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



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 |
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


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 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 brd 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

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)


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

Orange Pi:

25 july 2018: pg540v2.00en 1628Mb


2019: pg540v2.10en  mb


V5.0.1 FR


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


- 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


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

- label sd card V5.0.1 FR/en

- change root passwd

- spot menu

 * NetworkManager 
 * add
 * wifi
 * IP FIX for me
 * GW
 * DNS
 * DNS
 * 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




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




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




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é









introduction 3D printing


  • 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¤



  • Tinkercad
  • Fusion 360
  • Sketchup

get .stl file


  • Cura*
  • Slic3er

Get .gcode file


  • Marlin
  • Repetier


  • LCD screen

via SD-card


  • Octoprint*
  • Pronterface

Via serial (usb)port, 9600Bd


IP 44.x.x.x lx2kw.ampr.org f4vsj

540 Image

from 1.9RRF to V2.1en PG540

Local english:(cli & keyboard)

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




passwd PG540


mcedit/etc/hostname   PG540Spotnik

Numbers english (not 60+11):




TX-Delay 1000

Web GUI:

keypad -95#
Version 2.1en by vsj
config.js spotnik

818cli-prog 430540-88.5

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

DEL Reflector

540 Image 3.1de

  • locales auf deutsch?


60+11 page 75





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.



menu look and feel main manu mozo alacarte

3D Printing



Startt Tronxy modified




Ender 3 V2




















Print interface:




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%





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


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


  • OBS
  • Virtualcam

windows software