ClusterHat….

New project.

https://clusterhat.com/

pi@controller:~ $ for I in 1 2 3 4; do echo -n "p$I:";ssh pi@p$I.local uptime;done
p1: 16:19:13 up  5:34,  0 users,  load average: 0.17, 0.32, 0.34
p2: 16:19:15 up  5:36,  0 users,  load average: 0.37, 0.32, 0.32
p3: 16:19:16 up  5:34,  0 users,  load average: 0.37, 0.32, 0.28
p4: 16:19:18 up  5:35,  0 users,  load average: 0.36, 0.35, 0.36
pi@controller:~ $

 

Bind ax25 interface to Direwolf

It can be easy to link an ax25 interface to Direwolf. This makes it possible to use RMSGateway, Uronode etc with Direwolf.
In this script Direwolf is started with the -p option. With the -p option a virtual tnc is created. /tmp/kisstnc.

With mkiss a kiss connection is made on the /tmp/kisstnc. With kissattach the PTY is connected to the ax25 interface.

Fist edit the file axports in /etc/ax25

pd9q@pd9q:/etc/ax25 $ cat axports
# /etc/ax25/axports
# name callsign speed paclen window description
#
ax0     PI1LAP-9       19200    255     7     RMSGateway pi1lap-10

Config the direwolf.conf file to set the right audio device and ptt port. Save file to /etc/ax25/direwolf.conf

ADEVICE plughw:1,0
ACHANNELS 1
CHANNEL 0
MODEM 300 2130:2230 D
PTT GPIO 21
DWAIT 0
SLOTTIME 12
PERSIST 63
TXDELAY 40
TXTAIL 10
FIX_BITS 1 AX25
LOGDIR /var/log/direwolf

Run the script

#!/bin/bash
   PATH=/usr/local/sbin:/usr/local/bin:/bin:/usr/bin:/etc/ax25:/usr/local/ax25
   echo "Starting direwolf"
     direwolf -t 0 -c /etc/ax25/direwolf.conf -p &
   #Check if Direwolf is running
   sleep 5
   if [ -z "`ps ax | grep -v grep | grep direwolf`" ]; then
      echo -e "\nERROR: Direwolf did not start properly and is not running, please review direwolf.conf"
         exit 1
   fi
   echo "Installing one KISS connection on PTY port /tmp/kisstnc"
     mkiss -s 19200 -x 1 /tmp/kisstnc > /tmp/unix98
   #This creates a PTS interface like "/dev/pts/3"
     export PTS0=`more /tmp/unix98 | grep -w /dev | cut -b -11`
     echo "PTS0 device: $PTS0"
     kissattach $PTS0 ax0  > /tmp/ax25-config.tmp
     awk '/device/ { print $7 }' /tmp/ax25-config.tmp > /tmp/ax25-config1-tmp
     read Device < /tmp/ax25-config1-tmp

Let’s check if everything went well.

pd9q@pd9q:~ $ ps ax
1015 ?        Ss     0:00 mkiss -s 19200 -x 1 /tmp/kisstnc
1025 ?        Ss     0:00 kissattach /dev/pts/2 ax0

Try it out…

pd9q@pd9q:~ $ call ax0 pd9q-2
GW4PTS AX.25 Connect 2.0.0
Trying...
*** Connected to pd9q-2
*** Cleared

Now it’s possible to setup RMSGateway or Uronode of whatever you want.

Related NewsGroups

BPQ32
https://groups.yahoo.com/neo/groups/BPQ32/info
LinuxRMS RMSGateway
https://groups.yahoo.com/neo/groups/LinuxRMS/info
Direwolf Packet
https://groups.yahoo.com/neo/groups/direwolf_packet/info
Winmor
https://groups.yahoo.com/neo/groups/WINMOR/info
Ardop
https://groups.yahoo.com/neo/groups/ardop/info
Ardop
https://ardop.groups.io/g/main
Scs Tracker Modes
https://groups.io/g/SCS-Tracker-Modem
Digital Amateur Radio
https://groups.io/g/digital-amateur-radio
Digital Radio
https://digitalradio.groups.io/g/main
Vara Modem
https://groups.io/g/VARA-MODEM
RaspberryPi 4 Hamradio
https://groups.io/g/raspberrypi-4-hamradio
Network 105
https://groups.io/g/network105
T.A.R.P.N
https://groups.io/g/tarpn
Pactor and Packet Group
https://groups.io/g/pactor

AX25 Dual port TNC (kpc-9612)

Here is an ax25 script that I use to control the Dual port KPC-9612 with mkiss and kissattach.

# Dual port TNC KPC-9612
        mkiss -s 9600 -x 2 /dev/ttyUSB1 > /tmp/unix98
        export PTS0=`more /tmp/unix98 | grep -w /dev | cut -b -11`
        export PTS1=`more /tmp/unix98 | grep -w /dev | cut -b 12-`
        sleep 1
        # Port 1k2 144.850Mhz
        echo "Starting ax0 "
        if grep ax0 /etc/ax25/axports ; then
                kissattach $PTS0 ax0 || return=$rc_failed

                ifconfig ax0 44.137.31.73 netmask 255.255.255.224
                sleep 2
        else
                echo  "Error ax0 not found in the file axports"
                return="Failed"
        fi
        echo "$1 $return"

        # Port 9k6 430.950Mhz
        echo "Starting ax1 "
        if grep ax1 /etc/ax25/axports ; then
                kissattach $PTS1 ax1 || return=$rc_failed

                ifconfig ax1 44.137.31.73 netmask 255.255.255.224
                sleep 2
        else
                echo  "Error ax1 not found in the file axports"
                return="Failed"
        fi
        echo "$1 $return"

 

OpenBCM fwd.bcm Example

========================================================================
Foward example to my Partner BBS PI8CDR.#DRE.NLD.EU
Forward to PI8CDR via telnet ip-address:3602
Sysop: Han – PI8CDR
A – forwarding all if any msg available to send
P – forwarding all with polling even if no msg availabe to send/rcv
. – no fwd operation
Hours 0000 – 2359
0 1 2
BBS 012345678901234567890123 Path
=========================================================================

PI8CDR APAPAPAPAPAPAPAPAPAPAPAP TELNET:ip-address:3602

=========================================================================
The first line of a forward section defines the partner mailbox name (callsign
without SSID), the forward timing (when do forward which mails) and the
connection path to the forward partner. After that, you can add as many lines as
you want to define the usermail and bulletin behaviour. All these additional
lines must have one space as first character in a line.

• “A” (All): All mails (usermail and bulletins) are forwarded.
• “U” (User): Only usermail are forwarded.
• “.”: Nothing is forwarded.
• “P” (Poll): All mails are forwarded (like “A”), and additionally at the
time defined in crontab.bcm (normally each 30 minutes) a forward connect
is being made to the forward partner, also if no mails are in the
forward queue to send. This makes sense, if the partner mailbox has
misconfigured the connect path and therefore can’t send its mails to
your BBS. It makes sense to do such a pool one time a day.
==========================================================================

 -S -T

==========================================================================
-b<bytes> maximum size of forward mails (e.g. > 10k)
-d (delayed) forward only at set times of crontab.bcm
-e send E/M files with 4 lines in 1 frame (e.g. DB0SAO)
-f send empty line before start forward (e.g. TCPIP/xNOS)
-i BoxBin mails are forwarded regardless of the capabilities of the receiving system (not useful in most cases)
-k no forward of autobin bulletins
-l no forward of autobin user mails
-m no forward of 7plus bulletins
-n no forward of 7plus user mails
-o entries are sorted by size (smallest at first)
-p suppress prompt after login (e.g. needed for DB0SAO)
-r send ONLY boards from fwd.bcm to forward partner
-s SID is send immediately of connected BBS
-t tracing active (if “fwdtrace 2” is set)
-u connection is closed immediately, without this parameter, forward is waiting for some time if new mails can be forwarded
============================================================================

 PI8CDR
 PI1CDR

============================================================================
Mailbox callsigns
============================================================================

;--- Regions from .NLD (not set #ZL is my own) ---
#FRL #GLD #NH #ZH #DRE
;--- Coutries - Europe ---
 .BEL .BGR .BIH .CHE .DEU .DNK
 .ESP .EST .FIN .FRA .GBR .GIB
 .GRC .HRV .IRL .ITA .LTU .LUX
 .LVA .MKD .MLT .NLD .NOR .PRT
 .ROM .RUS .SVK .SVN .SWE .TUR
 .UKR .YUG
;--- Continents (only .EU) ---
 .EU
;--- bulletins ---
 NLD LOCAL ALL F SYSOP NL EU WW
;E/M Mails / exchange White-Page information
 $WP
;--- Banned buletins from S&F --------------------------------------
 *METEO *WXSAT *SATDIG

Here a fwd.bcm example

;========================================================================
; Foward example to my Partner BBS PI8CDR.#DRE.NLD.EU
; Forward to PI8CDR via telnet ip-address:3602
; Sysop: Han - PI8CDR
; A - forwarding all if any msg available to send
; P - forwarding all with polling even if no msg availabe to send/rcv
; . - no fwd operation
;         Hours 0000 - 2359
;      0         1         2
; BBS  012345678901234567890123 Path
PI8CDR APAPAPAPAPAPAPAPAPAPAPAP TELNET:ip-address:3602
;=========================================================================
 -S -T
;============================================================================
 PI8CDR
 PI1CDR
;============================================================================
; Mailbox callsigns
;============================================================================
;--- Regions from .NLD (not set #ZL is my own) ---
#FRL #GLD #NH #ZH #DRE
;--- Coutries - Europe ---
 .BEL .BGR .BIH .CHE .DEU .DNK
 .ESP .EST .FIN .FRA .GBR .GIB
 .GRC .HRV .IRL .ITA .LTU .LUX
 .LVA .MKD .MLT .NLD .NOR .PRT
 .ROM .RUS .SVK .SVN .SWE .TUR
 .UKR .YUG
;--- Continents (only .EU) ---
 .EU 
;--- bulletins ---
 NLD LOCAL ALL F SYSOP NL EU WW
;
;E/M Mails / exchange White-Page information
  $WP
;--- Banned buletins from S&F --------------------------------------
 *METEO *WXSAT *SATDIG
;====================================================================

 

OpenBCM H-Boxaddress / UserMail / Bulletin Mail.

In the beginning when I was configuring OpenBCM I already ran into an error message.

	
16.11.18 10:40:17z SYSTEM: #S cron: no valid H-boxaddress PI8LAP.#ZL.NLD.EURO

Now I was reading in the doc of OpenBCM and came across the following.

Following is an example of a hierarchical address:
 PI8LAP.#ZL.NLD.EU
                 ^ Continent EU (stands for Europe)
             ^ Country (NLD means the Netherlands)
          ^ Possibly further definition of a region (#ZL means Zeeland)
   ^ Callsign of a mailbox
The designator for continents is two or four letters long. In Europe you should
only use "EU".
• .AF, .AFRC: Africa
• .AS, .ASIA: Asia
• .AU, .AUST: Australia
• .EU, .EURO: Europe
• .NA, .NOAM: North America
• .OC, .OCEA: Oceania
• .SA, .SOAM: South America
• .CEAM : Middle America
• .MDLE : MiddleEast (e.g. Israel)

So the H-Boxaddress PI8LAP.#ZL.NLD.EURO is wrong. I have to use .EU
The designator of the different countries is specified by ISO 3166. The designator is three letters long. For Europe the following designators exists.

• .AUT Austria
• .BEL Belgium
• .BGR Bulgaria
• .BIH Bosnia-Herzegowina
• .CHE Swiss
• .CZE Czechia
• .DEU Germany
• .DNK Denmark
• .ESP Spain
• .EST Estonia
• .FIN Finland
• .FRA France
• .GBR Great Britain
• .GIB Gibraltar
• .GRC Greece 
• .HRV Croatia
• .HUN Hungary
• .IRL Irland
• .ITA Italy
• .LTU Lithuania
• .LUX Luxemburg
• .LVA Latvia
• .MKD Mazedonia
• .MLT Malta
• .NLD Netherlands
• .NOR Norway
• .POL Polonia
• .PRT Portugal
• .ROM Romania
• .RUS Russia
• .SVK Slovakia
• .SVN Slovenia
• .SWE Sweden
• .TUR Turkey
• .UKR Ukraine
• .YUG Yugoslavia 
Short form (can be used for copy & paste to your fwd.bcm):
 .AUT .BEL .BGR .BIH .CHE .CZE .DEU
 .DNK .ESP .EST .FIN .FRA .GBR .GIB
 .GRC .HRV .HUN .IRL .ITA .LTU .LUX
 .LVA .MKD .MLT .NLD .NOR .POL .PRT
 .ROM .RUS .SVK .SVN .SWE .TUR .UKR
 .YUG

Sorry my USA friends, USA is a bit big. And I really do not know how the h-addresses are built up there. Maybe someone can tell me that.

UserMails.

In the whole forward file following definitions must always exist:
• all continents must be defined, but without your own continent (e.g. all, but not .EU).
• all countries of own continent must be defined, but without your own country (e.g. all european countries but not .NLD).
• all regions in your own country must be defined, but without your own region (e.g. all regions but not .#ZL).
• all mailboxes in the own region must be defined, but without the own mailbox (e.g. all mailboxes in region Zeeland, but not the own one).

Take your time to get your shit together (Just Kidding)

Bulletin Mail.

There exist different directors for bulletin mails (a director is that, what is used after the "@" in the SEND command). Most used are:
• WW: worldwide
• EU: spread only in europe
• DL: only to the german speaking area (includes not only Germany!)
• OE: only to austria
• CZ: only to Czechia
• THEBOX: Used for THEBOX mailbox systems
• AMSAT: Satellit data
• BAYCOM: all OpenBCM mailboxes (used for OpenBCM software distribution)
• $WP: Used for White-Page/WPROT information (Mybbs etc.)
Some mailboxes use also further directors (e.g. @ALL, @TOUS etc.). But in praxis
this often means the same like @WW. So, why not using always @WW if everybody
should use the mail? It's hard to understand why such a nonsens is made. When
you use OpenBCM you can clear up with these masses of directors: simply add
lines to your convat.bcm file like
ALL WW
ALLE WW
TOUS WW
TODOS WW
...and so on. When now a mail with a director like @ALL reaches your mailbox it
will be forwarded like it has @WW. When forwarding such a mail, of course the
original address is send. So you have to define only WW in your forward sections
where you need it.

That was a lot of cutting and pasting. But I did that to get clear what is important.

OpenBCM start file and Systemd

FYI, In the top menu you can choose OpenBCM. This page contains all references to items about openBCM.

I have found a file to start OpenBCM. We will inplant this script and start using it.

We are going to create a user who does not have shell and no home directory. This makes it impossible to log in as this user. This gives a bit of security.

sudo useradd -r -s /bin/false bcm

The above command creates a user “bcm” as a system user.

Copy the directory of bcm to /usr/local

sudo cp -r bcm /usr/local/

Now we have to make the user “bcm” owner of the directory and files /usr/local/bcm

sudo chown -R bcm:bcm /usr/local/bcm

See if everything is in okay.

pd9q@pd9q:/usr/local/bcm $ ls -l
total 1620
-rwxr-xr-x 1 bcm bcm 890996 Nov 15 15:16 bcm
-rwxr-xr-x 1 bcm bcm  15673 Nov 16 06:57 bct.rpi
-rw-r--r-- 1 bcm bcm 262144 Nov 15 16:12 bidh2.bcm
-rw-r--r-- 1 bcm bcm     36 Nov 15 21:08 bids3.bcm
-rw-r--r-- 1 bcm bcm    178 Nov 17 08:34 boardinf.bcm
-rw-r--r-- 1 bcm bcm     48 Nov 17 06:51 bulletin.bak
-rw-r--r-- 1 bcm bcm    182 Nov 17 08:34 bulletin.bcm
-rw-r--r-- 1 bcm bcm      0 Nov 15 21:02 check.bcm
-rw-r--r-- 1 bcm bcm      0 Nov 15 21:02 checknum.bcm
-rw-r--r-- 1 bcm bcm    612 Nov 15 16:12 crontab.bcm
drwxr-xr-x 6 bcm bcm   4096 Nov 15 16:12 fwd
-rw-r--r-- 1 bcm bcm     66 Nov 15 16:12 fwd.bcm
-rw-r--r-- 1 bcm bcm   2048 Nov 17 13:36 hadr4.bcm
-rw-r--r-- 1 bcm bcm 131072 Nov 15 20:20 hadrhash.bcm
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:34 http
drwxr-xr-x 2 bcm bcm   4096 Nov 15 20:20 info
-rw-r--r-- 1 bcm bcm   1519 Nov 17 13:36 init.bak
-rw-r--r-- 1 bcm bcm   1517 Nov 17 13:42 init.bcm
-rw-r--r-- 1 bcm bcm    382 Nov 15 16:12 init.l2
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:47 log
drwxr-xr-x 2 bcm bcm   4096 Nov 16 10:04 msg
-rw-r--r-- 1 bcm bcm     66 Nov 15 20:28 rhosts.bcm
-rw-r--r-- 1 bcm bcm    403 Nov 15 16:12 speech.bcm
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:37 srv
drwxr-xr-x 2 bcm bcm   4096 Nov 15 16:12 temp
drwxr-xr-x 2 bcm bcm   4096 Nov 17 10:47 trace
drwxr-xr-x 2 bcm bcm   4096 Nov 15 20:20 user
-rw-r--r-- 1 bcm bcm 262144 Nov 15 20:47 userh2.bcm
-rw-r--r-- 1 bcm bcm      0 Nov 15 16:12 users4.bak
-rw-r--r-- 1 bcm bcm   1920 Nov 17 12:22 users4.bcm
pd9q@pd9q:/usr/local/bcm $

Now create the startfile.

sudo touch startbcm

Edit the startbcm file

sudo nano startbcm

Here is the start file.

#!/bin/sh
#
# Startup script for BayCom-Mailbox
#
sleep 1
BCMHOME=/usr/local/bcm
export BCMHOME
export TZ=GMT+1GMT
cd $BCMHOME
PATH=/bin:/usr/bin:/usr/local/bin:/usr/local/bcm:/usr/local/bcm/runutils
export PATH
#
# remove comment if necessary!
# source .bash_profile
#
# check if somebody wants to install a new version
if [ -f bcm_new ]
then
  mv -f bcm bcm_old
  mv -f bcm_new bcm
  chmod 777 bcm
fi
#
# start bcm as user "bcm"
# redirect tracer outputs to system console
#
if [ -f nobcm ]
then
  echo "BCM execution stopped. Remove nobcm for continue."
  sleep 5
else
  su bcm -s $BCMHOME/bcm >/dev/tty3
fi
#
# wait some time to release network bindings before respawning
#
sleep 4

Save the file, become owner, and set execute rights

sudo chown bcm:bcm startbcm
sudo chmod 755 startbcm

Now it`s time for Systemd.

Go to the directory /etc/systemd/system and “sudo nano bcm.service”

sudo nano bcm.service

Copy past

[Unit]
Description=OpenBCM Daemon
After=network.target
StartLimitInterval=0

[Service]
Type=simple
Restart=always
RestartSec=5
ExecStart=/bin/bash /usr/local/bcm/startbcm
WorkingDirectory=/usr/local/bcm

[Install]
WantedBy=multi-user.target
Alias=bcm.service

Save the file

sudo systemctl enable bcm.service
sudo systemctl daemon-reload
sudo systemctl start bcm.service

Let ‘s check if the service is running.

sudo systemctl status bcm.service
pd9q@pd9q:/etc/systemd/system $ sudo systemctl status bcm.service
● bcm.service - OpenBCM Daemon
   Loaded: loaded (/etc/systemd/system/bcm.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-11-18 07:58:49 UTC; 45min ago
 Main PID: 25944 (bash)
   CGroup: /system.slice/bcm.service
           └─25944 /bin/bash /usr/local/bcm/startbcm

Nov 18 07:58:49 pd9q.packet-radio.net systemd[1]: Started OpenBCM Daemon.
Nov 18 07:58:50 pd9q.packet-radio.net su[25949]: Successful su for bcm by root
Nov 18 07:58:50 pd9q.packet-radio.net su[25949]: + ??? root:bcm
Nov 18 07:58:50 pd9q.packet-radio.net su[25949]: pam_unix(su:session): session opened for user bcm by (uid=0)
pd9q@pd9q:/etc/systemd/system $
pd9q@pd9q:/etc/systemd/system $ ps ax
<snip>
25944 ?        Ss     0:00 /bin/bash /usr/local/bcm/startbcm
25949 ?        S      0:00 su bcm -s /usr/local/bcm/bcm
25953 ?        Ss     0:00 /lib/systemd/systemd --user
25956 ?        S      0:00 (sd-pam)
25971 ?        S      0:09 bcm
<snip>
pd9q@pd9q:/etc/systemd/system $ telnet localhost 4719
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.


OpenBCM-Mailbox V1.08-3-g9b42 (Linux)

PI8LAP login:

I think we’re ready to rumble.

One last note.

In the start file you see the line.

su bcm -s $BCMHOME/bcm >/dev/tty3

Here, reference is made to /dev/tty3. I use the program “conspy” to watch on /dev/tty3 how the program runs.

sudo apt-get install conspy
sudo conspy 3
OpenBCM V1.08-3-g9b42 (Linux)(c) GNU GPL 1992-2013 F. Radlherr, DL8MBT et al.
OpenBCM is maintained by Markus Baumann, DH8YMB
18.11.18 07:58:50z SYSTEM: #R working dir: '/usr/local/bcm'
18.11.18 07:58:50z SYSTEM: #R l1axip: 127.0.0.1 rxport=4866 txport=4867
18.11.18 07:58:50z SYSTEM: #R l1axip: initialised to channel 0
18.11.18 07:58:50z SYSTEM: #L Start: V1.08-3-g9b42 Linux mem 880768kB hd 11912MB
18.11.18 07:58:50z SYSTEM: #R init_tnc: 200 ports
18.11.18 07:58:50z SYSTEM: #R ax25k_init: Kernel AX25 disabled
18.11.18 07:58:50z SYSTEM: #R initfwdlist: 0 partners, 0 destinations
18.11.18 07:58:50z SYSTEM: #R readtree: 12 bulletins
18.11.18 07:58:50z SYSTEM: #R telnetd: initialised to port 4719
18.11.18 07:58:50z SYSTEM: #R httpd: initialised to port 8080
18.11.18 07:58:50z SYSTEM: #R ftpd: initialised to port 8021
18.11.18 07:58:50z SYSTEM: #R sendmail: initialised to port 8025
18.11.18 07:58:50z SYSTEM: #R popper: initialised to port 8110
18.11.18 07:58:50z SYSTEM: #R nntpd: initialised to port 8119
18.11.18 07:58:50z SYSTEM: #R radiod: radio connectivity disabled
18.11.18 07:58:50z SYSTEM: #R serv: initialised to port 8123
18.11.18 07:58:51z SYSTEM: #R mbcron: started

To escape conspy hit “esc” a couple of times.

ARIM beta test version 2.4b1

This version supports the TNC-Pi9K6 TNC on Raspberry Pi hosts. ARIM v2.4b1 works with both ARDOP and ARDOP2 TNCs (like gARIM), so it’s the only version of ARIM needed now.

ARIM is the text version of the program, based on ncurses. It can be run in an ssh or tmux session on a headless RPi, making remote operation easy.

The binary distribution for installation on RPi hosts is here:

https://www.whitemesa.net/arim/pkg/beta/arim-2.4b1-bin-linux-gnueabihf-armv7l.tar.gz

and the source code distribution (to be compiled on the RPi) is here:

https://www.whitemesa.net/arim/src/beta/arim-2.4b1.tar.gz

Instructions for installing and running ARIM are here:

https://www.whitemesa.net/arim/arim.html

Details about configuring ARIM for use with the TNC-Pi9K6 are included in the change log below.
An example of a TNC-Pi9K6 port definition can be seen in the sample ‘arim.ini’ file supplied with the ARIM distribution ([tnc] #2).

This version was developed on an RPi 3 with a TNC-Pi9K6 TNC running ARDOP_Teensy
and ARDOP2_Teensy. It was tested with another ARIM instance running on Linux,
using the ardopc and ardop2 TNCs.

Be sure to use the latest TeensyProjects source code when installing ARDOP_Teensy or ARDOP2_Teensy into the TNC-Pi9K6.

Good luck and please let me know if you find a bug or have questions.

73,
Bob NW8L

ARIM Messaging Program Change Log
———————————

v2.4b1 16Nov2018
—————-
1. Add support for TNC-Pi9K6 hardware ARDOP TNC. This requires that
ARIM be installed on the Raspberry Pi unit hosting the TNC-Pi9K6
and interface with the TNC over the /dev/serial0 serial port.
These new parameters are used in a [tnc] section of the
configuration file to define the TNC-Pi9K6 port:
— ‘interface’ may be ‘serial’ or ‘tcp’. Set to ‘serial’ for a
port using the TNC-Pi9K6. Example:
interface = serial
The default is ‘tcp’.
— ‘serial-port’ is assigned the device name for the RPi serial
port used by ARIM to attach to the TNC-Pi9K6. Example:
serial-port = /dev/serial0
The default is ‘/dev/serial0’, which is typical for the
TNC-Pi9K6 on an RPi host running the Raspbian OS.
— ‘serial-baudrate’ is assigned the baud rate for the serial port
device. Example:
serial-baudrate = 115200
The default is ‘115200’, which is typical for the TNC-Pi9K6
running ARDOP or ARDOP 2.
Another new parameter is used in the [log] section of the
configuration file:
— ‘tncpi9k6-log’ is used to enable or disable the TNC-Pi9K6 debug
log on the RPi. Example:
tncpi9k6-log = TRUE
The log is written to a file in the ARIM ‘log’ directory with
a name like ‘tncpi9k6-20181110.log’ which includes a datestamp.
Although the log is rotated daily, it can become very large
with the default verbosity setting of 7. To reduce log size,
the ‘LOGLEVEL’ command can be sent to the TNC when the port is
initialized to change the level. Do this with a ‘tnc-init-cmd’
parameter in the [tnc] section for the port. Example:
tnc-init-cmd = LOGLEVEL 6
—————————————————————
NOTE: Support for TNCPi9K6 debug logging must be compiled in to
the ARDOP or ARDOP 2 Teensy program. To do this, change line 79
in “TeensyProjects/libraries/TeensyConfig/TeensyConfigARDOP.h”
from this:
#define MONPORT Serial
to:
//#define MONPORT Serial
in other words, comment out line 79.
—————————————————————
As an example, [tnc] #2 in the sample ‘arim.ini’ file supplied
with the ARIM distribution is configured as a TNC-Pi9K6 port.
——————————————————————
NOTE: In testing, I’ve noticed a problem with FEC data transfers
in the ARDOP and ARDOP 2 software for the TNC-Pi9K6. The symptom
is intermittent failure of FEC transmissions such as messages or
beacons, with a re-start of the TNC required to recover. Perhaps
this is a peculiarity of my RPi-3/TNC-Pi9K6 system, so I’m very
interested in hearing reports from others. If you experience the
same problem, there’s an effective work-around. It consists of
making a simple source code change in the ARDOP_Teensy or
ARDOP2_Teensy project and re-compiling. For example, if using
ARDOP 2, change line 53 in file “TeensyProjects/ARDOP2/FEC.c”
from:
FECRepeats = intRepeats;
to:
FECRepeats = intRepeats = 0;
The process is the same for the ARDOP_Teensy project. This,
unfortunately, prevents the use of FECREPEATS > 0 in ARIM. Be
sure to use the latest TeensyProjects source code available here:
<http://www.cantab.net/users/john.wiseman/Downloads/Beta/>
Download the “TeensyProjects.zip” file.
——————————————————————
2. Add support for ARDOP version 1 as well as version 2. ARIM detects
the TNC version when attaching and adapts to the FECMODE and
ARQBANDWIDTH options available for that version.
3. Fix bug where upload progress meter not showing when sending the
response to an ARIM query in FEC mode.
4. Update arim(5) man page and Help document.

OpenBCM bulletin.bcm

Bulletin boards (bulletin.bcm and boardinf.bcm)

You must have the option CREATEBOARD 1 in the init.bcm for creating bulletin.bcm. If you do not have this you can always use the command “MKBOARD / TMP” to create the file bulletin.bcm.

Help Dir Read Erase Check REPly Send Alter Quit
(PD9Q)-->mkboard / tmp

Board created.
Help Dir Read Erase Check REPly Send Alter Quit
(PD9Q)-->

Now the bulletin.bcm is created. Look at the file.

; OpenBCM Bulletin Listfile
;
tmp       999   1

The name tmp is the board name, the 999 is the Max_Lifetime and 1 is the Min_Lifetime.
Bulletin.bcm is build op in mainboard en subboards.

Now let’s see what that looks like.

; OpenBCM Bulletin Listfile
; Board / Max_Lifetime / Min_Lifetime
tmp 999 1
modes 360 90
 amtor 360 360
 sstv 360 0
 packet 360 0
 clover 360 0
 cw 180 0
 fax 360 0
 gtor 360 0
 pactor 360 0
 rtty 360 0
 sattv 90 90

So “modes” is the mainboard and the rest is subboard. Now you have everything together nicely.
What not fits into the mainboards or subboards is placed in the “tmp” board. So it is advisable to occasionally look in the “tmp” board if new mainboards or subboards have to be made.

The boardinf.bcm shows board discriptions to the users. Is the boardinf.bcm empty there is nothing to show. Let’s fill it up.

Use capital letters for the mainboard names and lower case for the subboards.

TMP Temporary board for mail with no board. Create one
MODES Used modes on the Amateur frequencies
amtor Amtor digital mode
sstv Slow Scan Telvision
packet Packet radio modes