Updated Nov 9, 2024
Raspberry PI Operating System Issue
The new Raspberry OS, "Bookworm" has been released and I'm not ready for that yet.
This new OS, released October 11, 2023, is what we want to be using and at some point I hope to be ready to use it.
In the mean time you'll have to be running Bullseye (LEGACY) or it'll break the installer.
See details below. Thanks!
|
WARNING!!!!
The TARPN installer requires you to be logged into the Raspberry PI as user pi
You'll need to tell the Raspberry Pi Imager to create a user named pi, or enter that user name in one of the first startup screens you'll be presented with.
This process requires/creates a clean install on the SDcard.
It does not tolerate, or it deletes, files added to the process before or during the installation.
The installation will result in several resets, one after configuring the Raspberry PI preferences, one after the TARPN-START1 installer completes, and the last after the TARPN-START2 installer completes.
The "tarpn" command is used to perform the third reset, and to check the results of the installation completion.
If you are moving a backup from a previous node instance, don't do that move until after the TARPN-START2 process has completed.
|
Set Up Raspberry PI to be a TARPN Node
This document is the initialization procedure for a Raspberry PI and TNCs of a couple of types.
By following this recipe, even a newcomer to ham radio and Linux can create a functional TARPN node.
The scripts referenced in this document do most of the work.
The node will have user access features permitting an operator to converse with other stations on the TARPN.
Ports on the node are created by attaching TNCs (Terminal Node Controller) to the Raspberry PI.
Supported hardware includes USB/serial adapter connected KISS TNCs, NinoTNCs, and other USB TNCs.
Additionally, software running on the Raspberry PI may access the node, and vice versa, permitting network services and tools to be launched.
A linked document walks the operator through setting up the NinoTNC units.
NinoTNCs use USB cables with optional USB hubs.
Serial-port connected TNCs must be separately initialized for KISS and that is not covered by this document.
|
|
Note that TARPN support of TNC-PI is phased out. Please replace your TNC-PI with NinoTNC.
We will continue hosting the documentation on the web page but the current TARPN repository no longer includes software support for the TNC-PI.
Participant familiarity with the TNC-PI and the details of keeping them working fled rapidly as TARPN participants migrate to our own superior (and cheaper) NinoTNC.
The G8BPQ software configures most operating parameters of the serial port TNCs automatically based on the details expressed during the tarpn config process.
For generic KISS TNCs, MFJ1270B, KPC-3, KAM, etc... the operator must set the baud rate of the TNCs (possibly abaud command?)
to a known rate (label the TNC appropriately), and then set them into KISS interface mode as per the instructions from the manufacturer.
Setting KISS mode may use a intfc or
interface or
kiss command.
This is the last time we'll specifically mention non-TARPN serial port TNCs except for running the tarpn config command.
See also TARPN NinoTNC
Unless you are sure you know how to work around some detail in this document, please follow the document meticulously, else things can get very confusing.
The document assumes you have a desktop or laptop computer and know how to use command-line tools as you might in MSDOS.
Linux experience will be a result of messing around with a TARPN node.
But if you are already a Linux or Unix user, and even though you might find some of this document boring, please go through it anyway.
If you find any mistakes or missing info, please contact us via the TARPN email list/reflector.
I’m trying to make the document clear enough that any other computer user has a chance at going through this, but there may be some subtleties that an experienced user may miss by skimming.
Please pay attention.
I also expect that if you are primarily a Linux user, you can translate the MSWindows-centric and Mac-centric descriptions.
This document contains information sourced from G8BPQ from AG6QO, KF4LLF.
The scripts were written by KA2DEW with help from many others.
If you are starting without an existing TARPN network, go ahead with this process.
You will want to make a second node and link the two together on the bench.
See also Create a New TARPN Network From Scratch.
WARNING: The TARPN node package is not designed to be compatible with non-TARPN installations.
Because our system depends on dedicated point-to-point links which our system will use aggressively, fully saturating the channel, instantiating a TARPN system on frequencies occupied by non-TARPN equipment may be considered hostile.
We recommend you work with other hams and arrange to have a network of five operators, where each station is within 2m HT simplex of the next station, who could each host a node in their homes (maybe with a 6th at a mid-site?) to fully test and demonstrate the network.
You should try to have all five hams signed-on to the project before installing this system else your labors are likely to lead to disappointment and frustration.
Five active participants may be the magic number where the killer app (chat) is interesting enough to lead to grassroots network growth.
The proximity required for simplex HT connectivity makes it very easy to get the system installed and working.
This is of high value to new network builders.
Furthermore, the cost of antennas when stations are local is much less than will be required for longer links.
Until a grass-roots critical mass of hams involved is reached, we recommend you keep the system portable (i.e. self-contained, single cabinet, not dependent on immovable DC supplies) so you can take all of it out for demonstration purposes.
The TARPN group consists of well over 400 hams who are conspiring to make network construction easier and cheaper while increasing the performance and enhancing the user experience once the system is working.
Once you have two Raspberry PIs communicating on your desk, and once you have five hams in full quieting simplex range or within HT range, contact the TARPN group via our email reflector and talk about what you want to do and who you want to do it with.
The group will figure out what resources could make your job cheaper.
A group project is more fun, and doing things in quantity saves money and time while creating local specialist/experts to make future growth less expensive or difficult.
TARPN aims to improve the state of the art, potentially rewriting the packet protocols from top to bottom, including new applications.
This is a heady aspiration, but we've already got something to show for it including our own great UI and our own TNC with improved protocols.
Interoperability with existing packet radio projects is not supported by our software efforts (though our NinoTNC will work fine for you if set for AX.25 1200 or 9600).
It looks to be possible to use a TARPN node in a non-TARPN network, but only to people who don't know what TARPN is doing.
We're still depending on other people's software for some aspects of the project so some things seem to work but we're building a system that is considerably more efficient and slightly more complex than previous packet-networking efforts.
It is clear, however, to those who use the TARPN plan, that what we're doing is more fun and quite a bit more participant friendly than anything that has gone before.
My point here is, if you are trying to take a short cut, by using the TARPN software installer and system management, in order to get capability on some non-TARPN network, you are just going to abuse people.
In order to get a good non-TARPN system going and involving the TARPN software, you will bump up against what the other system does and needs, and also be frustrated by what the TARPN system automation is going to try to do.
But, we'd love to have you on the TARPN project.
We're doing new things.
If you go through the exercise of building a multi-station TARPN network, and then you do not have fun with it, you can transition your radios, NinoTNCs and Raspberry PIs to some other project.
The TARPN group would still like to help you get a TARPN going, and the TARPN software going, especially if you ask really good questions and challenge us all intellectually.
We'd like it even better if you help the TARPN project move forward.
But please don't ask us to use TARPN software to promote or interface to a not-for-ham-radio or not-good-networking-practices project.
We're networking on purpose.
What are you doing?
Thanks.
Summary of the procedures to configure your PI Linux G8BPQ TARPN node:
This is just a summary.
Detailed procedures are below!
NOTE: Raspberry PI will not boot without an microSDcard containing a bootable image.
There are a few steps to get this going but the short version is
- If you are in an existing TARPN network, then talk to your TARPN packet neighbors and establish that you have a simplex link and a willing neighbor to link to.
Test radio paths using simplex FM. You need full quieting between sites.
Decide on what kind of antennas you will each use and schedule your attachment to the network.
- Acquire and assemble a Raspberry PI (list of supported models) µSDcard, and NinoTNCs (or other TNC solution).
- Attach keyboard, Ethernet (to Internet), mouse and HDMI monitor to the Raspberry PI
- Using your workstation, download the Raspberry PI OS Imager program and install it on your workstation.
- Run the Raspberry PI OS Imager and create Raspberry PI OS Legacy Debian Bullseye WITH Desktop Environment.
on your µSDcard. -- Note: create a user pi as part of this process
- Boot the PI from the µSDcard.
- On the Raspberry PI GUI, set up WIFI if needed, copy down your IP address.
- Also on the Raspberry PI GUI, go into preferences to set hostname, password, timezone, and enable SSH and VNC, then let the Raspberry PI Reboot.
- After Raspberry PI reboots log into the Raspberry PI with Terminal or PUTTY, from your workstation (laptop, Mac, PC, other Linux)
- Copy and paste the specified lines to download the first installer and to start TARPN_START installer
- Follow the instructions including letting the Raspberry PI reboot and typing tarpn at the command-line as indicated.
- Plug all of your NinoTNCs into the Raspberry PI
- Use tarpn config to set up node callsign, nodename, or, if this is a replacement installation, use sftp and then tarpn restore to use your previous configuration.
- Use tarpn test to run G8BPQ node using your config and hardware.
- Test tarpn tx (outgoing connections)
- Run qt-term from the Raspberry PI desktop, turn on monitoring on qt-term. tarpn host (receive connections)
- Hook up radios and test link performance using tarpn linktest and qt-term.
- Connect to the :7777 web page presented by the G8BPQ node, and configure CHAT to talk to your neighbors.
- Terminate the tarpn test execution and turn on background node operation using tarpn service start.
- Start TARPN-HOME.
- Connect to the :8085 web page presented by TARPN-HOME.
- Join CHAT between your new station and a neighbor TARPN node's CHAT.
- Read everything you can from the builders and FAQs web pages.
- Help Tadd fix up the documentation so this makes more sense!
Note: This was only the summary! Read on below and follow the instructions explicitly to achieve success.
Notes while reading the document
Sometimes I substitute Ø in place of 0 (zero).
I did this because in some fonts a capital letter O and a number 0 look the same.
Sometimes I did not make the substitution because the intent to use zero is obvious.
One case which is common in these instructions is the device "ttyACM0".
This is ACMzero.
I will write it as ttyACMØ.
If you copy and paste my instructions, you will see
that Ø does not mean anything to the Raspberry PI.
Please be careful.
Getting Started
What you need to start:
See below for more details on each of these including where to buy.
- Raspberry PI.
Must be one of the supported boards.
- SD card -- must match your Raspberry PI. See Node shopping list and get the proper card.
- USB Keyboard -- you need this during bringup
- USB Mouse -- this could make life easier during bringup but isn't strictly necessary
- HDMI monitor or adapter to your monitor.
All HDMI to DVI solutions have worked so far.
HDMI to VGA solutions are not as likely to work.
Make sure your HDMI to VGA solution is recommended for the Raspberry PI.
Since you can remote control the PI after installation of the OS is complete, any expense to make a
monitor work on the PI may be a waste of money.
Use your TV, or use somebody else's monitor. You only need it for an hour or two during setup.
- The Raspberry PI will need Internet connection over Ethernet with DHCP (automatic address assignment), keyboard, mouse and HDMI during installation.
- A workstation, MacOSX, MSWindows, Linux
- If you are using Linux, I presume you will understand when I refer to MacOSX or MSWIndows capabilities and will figure out how to do those operations on Linux.
It is possible to do all of these operations using the LXTerminal on the Raspberry PI.
I'm not a big fan of that because if something goes wrong you have no access to the history of your operations.
With a separate workstation you can capture the terminal history and paste it into an email to complain to the author.
- interface to microSDcard for use on your workstation.
Some computers have a microSDcard interface built in.
USB to microSDcard devices are very cheap.
- terminal program to get a text log-in session to the Raspberry PI
- On MacOSX: Use Terminal when SSH is called out.
- On MSWindows — get a copy of PUTTY which is an
SSH Terminal client App. Use this when SSH is called out.
BUY a Raspberry PI, TNCs, cables, power supplies
See the Node Shopping List
Prepare the µSDcard
Obtain a laptop or workstation with a µSDcard reader/writer, or get a read/write dongle for your computer.
Obtain a 16GB or 32GB µSDcard for your computer.
Go to Raspberry PI org and get their Raspberry PI Imager SDcard preparation software.
Install the tool on your workstation.
Insert a 16GB or 32GB µSDcard.
If your OS pops up a notice about the card, don't let your OS format it.
Cancel out of that dialog box.
Run the Raspberry PI Imager tool.
If it offers to update itself, you should do that.
Click the CHOOSE OS button.
The OS you are looking for will be Raspberry PI OS (Legacy-32 Bit) A port of Debian Bullseye WITH Desktop Environment.
Depending on your work-station's OS, you may need to select "OTHER" OS and go to a secondary list. Make sure you get 32-Bit Bullseye with Desktop Environment!
Click the CHOOSE STORAGE button and find your µSDcard on the list.
On my computer, the SDcard shows up at the bottom of the list and is called "Generic Mass-Storage Media".
Click the SPROCKET on the lower right.
Checkbox Set Hostname, and select YournodenamePacket, as the hostname.
Checkbox Enable SSH.
Checkbox Set username and password and set the Username as pi and the password as something trivial.
Since this computer won't be exposted to the Internet, I recommend picallsign (use pi and your callsign).
Checkbox Set locale settings and set the Timezone to match your location with a Keyboard layout of us.
Click WRITE.
Wait for the OS to be full written.
The Raspberry PI imager ejects/unmounts the card for you.
Unplug the SDcard and install in the non-powered Raspberry PI
|
|
Boot the PI
Make sure power is removed from the Raspberry PI.
Attach a USB keyboard, USB mouse, monitor with HDMI connector (can be DVI monitor with adapter), WiFi works now, or Ethernet with Internet connectivity and DHCP (if the PI is plugged into a consumer router or cable modem or DSL router, it should just work)
The header connector must be clear. No TNCs attached. No ribbon cable. No shields of any kind.
Install the SD card into the PI.
With all the needed accessories attached, and no others, NOW plug the power supply into the PI. The LEDs near the USB connector should light up. The HDMI monitor should light up.
On the PI
The HDMI monitor will light up with several messages and eventually will stop with a full desktop display.
|
|
PI booted -- get IP address
The Raspberry PI will boot and will show you a graphical desktop display.
It will begin prompting you for several things.
Set the user name to pi
For the password, keep in mind that this Raspberry PI will never be seen from the Internet so don't get too complicated.
I'd suggest using pi followed by your callsign, all in lower case.
At some point some other ham may be looking at your SDcard and need access to it.
The most important thing is to NOT let the unit update to the latest system files.
We'll do that later.
The menus will ask you what time-zone and country you are in.
It will also give you a chance to connect to WiFi.
Go ahead and do this if it is handy.
Finally, the PI will ask to reboot. Let it do that.
Now we need to go do some changes in the Raspberry PI's setup menus.
In the upper left corner of the display is a set of icons and in the upper right is a set of icons.
We'll be clicking on those momentarily.
We have several missions.
- TCP/IP address for Ethernet
- System Menu
- Interfaces
- Localization
- Reboot
TCP/IP address for Ethernet
We need to know the TCP/IP address the Raspberry PI has taken.
Move your mouse over to the up/down blue arrow icon in the upper right.
|
|
As you hover over the icon a grey block will appear.
Several lines will probably show up giving the multiple Ethernet or WIFI addresses the Raspberry PI has.
One of the lines will say eth0, or if you chose to use WiFi, then look for wlan0 and will be followed by four numbers of range 0 to 255 separated by periods.
It will probably be followed by a / character and then a number between 1 and 31.
What we're interested in is the four numbers.
In my Raspberry PI the number is 192.168.0.20.
It is pretty likely that yours will also start with 192.168.
The next numbers will be more unique.
Write down the four numbers.
This is your Raspberry PI's ethernet address. (10.0.0.XXX is also reasonable)
System Menu
Move the mouse to the far upper left of the Raspberry PI desktop.
Click on the Raspberry in the round button.
A menu will drop down.
Now move the pointer down to Preferences and to the right and then click on Raspberry PI Configuration. |
|
A new window will appear that looks like this:
Now set the hostname.
Note: Don't put any underscores in your hostname. tadd_packet is not going to work. taddpacket is ok.
The hostname you are entering is what shows up on your in-house LAN when you examine your router, or do a LAN survey.
The name your system uses in the packet network is set later.
It is rational to consider your packet network node-name at this point and to set the hostname and the node-name the same, but it is not critical.
Having them the same would be handy if you ever bring your node box to another TARPN operator's house.
It would be funny or annoying if both of you set your hostname to "tarpn" or some such.
We often use our first or last name as a packet network node-name.
Town-names made sense for a few minutes until we had more than one station in the same neighborhood.
The hostname and nodename can both be changed later.
| |
I suggest leaving the Boot to Desktop and the Auto Login to enabled.
This makes servicing your system easy.
Unless, that is, you have hoodlems that might hack your system.
In that case, uncheck auto login.
Also, leave Network at Boot disabled, and Splash Screen enabled.
Click on the Display tab.
Click on the “Display” tab.
Click on the Set Headless Resolution and tell it 1024 x 768.
That way if you remote control your Raspberry PI from a PC the screen will be a reasonable size.
| |
Interfaces
Click on the Interfaces tab.
All of the interfaces should be Disabled except SSH and VNC.
Those should be Enabled.
To disable the Serial Console, temporarily turn on Serial Port.
|
| |
Reboot
Click on the OK button.
Since you enabled the VNC interface, the Raspberry PI will offer to reboot.
It will have to do that to perform the VNC service installation, though it won't tell you that!
Tell it OK or Yes or something of that sort.
If the Raspberry PI did not offer to reboot, then click on the Raspberry in the upper left and then go down and click on Shutdown.
Another menu list will show up suggesting Reboot and Shutdown are each available.
Click on Reboot.
Connect to your PI from your Workstation
From your MSWindows, get and launch PUTTY, or MacOS computer launch Terminal.
(if Linux or other Unix then you probably know better than I how to get a terminal).
Make an SSH connection to pi@ip address
for MAC or Linux, do:
ssh [email protected]
For MSWindows, using PUTTY, open a connection to an SSH station at [email protected] (but insert your own Raspberry PI's IP address).
Note that pi is your user name.
The password to the pi account on the Raspberry PI is what you set it to up above.
Use the IP address you discovered above, 10.0.0.2 is just an example. See previous subsection.
On PUTTY or Terminal, there may be question asked about connecting to a foreign server.
Depending on your operating system you have different messages which will appear and different solutions to it.
It's not hard. Don't be scared.
On the Mac, using Terminal, you may have to type rm ~/.ssh/known_hosts
You can actually copy that text right from the web page, then paste it and hit return.
What that does is remove any previous knowledge the Mac had about any SSH host.
For each SSH host you need to connect to, the computer will once ask you if you intended to connect to a new host.
You just have to say Yes.
On PUTTY the question asked about connecting to this new host will be more of a pop-up dialog window.
You just have to affirmatively tell it that yes you do intend to connect to this new host.
Now you have two ways to do text commands to the PI, using Terminal on the PI, or SSH from your PC.
Start one or the other and get a command prompt.
When prompted, enter the password pika2dew (substitute the password you created above!)
Note that as you type the password the display may hide the text which looks like you didn't type anything at all.
That's a feature!
Hopefully you now have an SSH connection to the Raspberry PI and you can do the Linux commands from your PC or Macintosh.
This lets you log your traffic.
Make sure you have PUTTY or Terminal set up with a large scroll buffer.
You will see the command prompt for the Raspberry PI’s Linux shell.
The prompt contains some useful information.
The username you are logged into the PI with is "pi".
The hostname of the device is "starbucknode".
On your system, it will be whatever you set the hostname to.
The ~ symbol means that the directory/folder you are in is the home directory for the user who logged in, i.e. "pi".
(you should always log in as pi on this TARPN Raspberry PI).
The $ is gratuitous.
The PUTTY/Terminal session you have just started will be used to run the TARPN install scripts and also later when you are adjusting and configuring your TARPN system.
Running the TARPN install scripts
After the Raspberry PI boots, open a Terminal or PUTTY session again.
One at a time, copy these three lines from this web page and paste them into your PUTTY or Terminal session.
Note, to paste into PUTTY, just do a right-click of the mouse.
To paste into Terminal (on a Mac), click into the Terminal window, then use Command-V.
wget https://tarpn.net/w
chmod +x w
./w
The script will run for between 6 minutes and about an hour (depending on your connection speed and which Raspberry PI you have).
At the end of a long process, the Raspberry PI will reboot.
Below is the dialog seen at the end of the run.
Note that a couple of error messages are expected along the way.
It would be ideal if you could retain and save the entire text window during this process for later debugging in case the node doesn't come up at the end.
pi@starbucknode ~ $ wget http://tarpn.net/w
--2021-10-20 13:55:12-- https://tarpn.net/w
Resolving tarpn.net (tarpn.net)... 107.180.13.247
Connecting to tarpn.net (tarpn.net)|107.180.13.247|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2662 (2.6K) [application/x-sh]
Saving to: ‘w’
w 100%[===================================================>] 2.58K --.-KB/s in 0.008s
2021-10-20 13:55:12 (1.39 MB/s) - ‘w’ saved [2662/2662]
pi@starbucknode ~ $ chmod +x w
pi@starbucknode ~ $ ./w
######
######
###### W (install starter) Version BULLSEYE 000
######
######
######
21:29:04 up 11 min, 3 users, load average: 0.00, 0.07, 0.11
--2022-07-09 21:29:04-- https://tarpn.net/bullseye2021/tarpn_start1.sh
Resolving tarpn.net (tarpn.net)... 107.180.13.247
Connecting to tarpn.net (tarpn.net)|107.180.13.247|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 16630 (16K) [application/x-sh]
Saving to: ‘tarpn_start1.sh’
tarpn_start1.sh 100%[========================================================>] 16.24K --.-KB/s in 0.001s
2022-07-09 21:29:04 (21.9 MB/s) - ‘tarpn_start1.sh’ saved [16630/16630]
##### tarpn-start-1 downloaded successfully
21:29:04 up 11 min, 3 users, load average: 0.00, 0.07, 0.11
##### Transfer control from W to TARPN START 1
######
######
###### tarpn start 1 Version BULLSEYE 010
######
######
######
13:55:12 up 1 min, 3 users, load average: 0.50, 0.26, 0.10
Linux ok: VERSION="11 (bullseye)"
Your Raspberry PI is running the expected Linux version
###### Reinstall IPUTILS-PING
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 40.1 kB of archives.
After this operation, 0 B of additional disk space will be used.
Get:1 http://mirror.umd.edu/raspbian/raspbian bullseye/main armhf iputils-ping armhf 3:20180629-2+deb10u2 [40.1 kB]
Fetched 40.1 kB in 0s (91.7 kB/s)
(Reading database ... 98616 files and directories currently installed.)
Preparing to unpack .../iputils-ping_3%3a20180629-2+deb10u2_armhf.deb ...
Unpacking iputils-ping (3:20180629-2+deb10u2) over (3:20180629-2+deb10u2) ...
Setting up iputils-ping (3:20180629-2+deb10u2) ...
Processing triggers for man-db (2.8.5-2) ...
###### Proceeding with installation
using a source URL of: https://tarpn.net/bullseye2021
###### Download TARPN INSTALL 1dL
##### script 1dL downloaded successfully
##### Transfer control from TARPN START 1 to TARPN START 1dL
###### This is the tarpn_start1dl script
###### version number is:
###### tarpn_start1dl BULLSEYE 001
#####
#####
##### Verify proper environment for running this script
#####
#####
13:55:30 up 1 min, 3 users, load average: 0.53, 0.28, 0.10
This SD card is 1634442530
##### get TARPN install script #2 to use at next reboot
##### script 2 downloaded successfully
##### create bpq folder below /home/pi
Install an FTP client
Install an FTP client
Install an FTP client
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
ftp
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 52.3 kB of archives.
After this operation, 117 kB of additional disk space will be used.
Get:1 http://mirror.umd.edu/raspbian/raspbian bullseye/main armhf ftp armhf 0.17-34.1 [52.3 kB]
Fetched 52.3 kB in 0s (118 kB/s)
Selecting previously unselected package ftp.
(Reading database ... 98616 files and directories currently installed.)
Preparing to unpack .../ftp_0.17-34.1_armhf.deb ...
Unpacking ftp (0.17-34.1) ...
Setting up ftp (0.17-34.1) ...
update-alternatives: using /usr/bin/netkit-ftp to provide /usr/bin/ftp (ftp) in auto mode
Processing triggers for man-db (2.8.5-2) ...
##### get RUNBPQ
##### runbpq.sh downloaded successfully
#####
##### get TEST-INTERNET
##### runbpq.sh downloaded successfully
#####
##### get CONFIGURE NODE
##### configure_node_ini.sh downloaded successfully
#####
##### get BOILERPLATE.CFG
##### boilerplate.cfg downloaded successfully
#####
##### get MAKE_LOCAL_BPQ.SH
##### make_local_bpq.sh downloaded successfully
#####
##### get CHATCONFIG.CFG
##### chatconfig.cfg downloaded successfully
#####
##### get TARPN script
##### tarpn downloaded successfully
#####
############### Lines deleted for brevity ########################
14:12:35 up 18 min, 3 users, load average: 0.73, 0.59, 0.31
######
######
######
######
###### Raspberry PI will now reboot. All is going well so far.
###### When we come back up, reconnect and do the command tarpn
###### as per the Initialize Raspberry PI for TARPN Node web page
######
######
14:12:39 up 18 min, 3 users, load average: 0.67, 0.58, 0.31
|
By design the Raspberry PI will have rebooted at this point.
If you are running this install from MSWindows, Mac or a 2nd Linux machine, then your Terminal window or PUTTY will announce that you are disconnected/inactive.
Connect to the Raspberry PI again with SSH.
Type this command:
tarpn<ENTER>
Note that most commands you will type to the Raspberry PI Linux prompt will be in lower case.
The tarpn command will tell the PI to finish configuration.
NOTE! this part of the install will add a new service to the Linux OS which will look for your installation to be complete.
Your installation is NOT complete so that service will generate a logged error message saying that NODE.INI is not found.
We'll fix that in a later step.
When you have typed tarpn and return the Raspberry PI will output the text shown below and then will reboot. Continue below.
pi@starbucknode ~ $ tarpn
#### =TARPN vb103 =
##### TARPN startup incomplete. I will run TARPN_START2 which will
##### complete the installation. This will also reboot again.
######
######
###### =TARPN START 2 BULLSEYE 001
######
######
######
---
###### TARPN START 1 completed ok. We're almost done
---
#####
#####
##### APT-GET-UPDATE
##### --- I know we just did this.
##### --- It won't take long if there is nothing to update.
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease
Hit:2 http://archive.raspberrypi.org/debian bullseye InRelease
Reading package lists... Done
#####
#####
##### APT-GET DIST-UPGRADE
#####
#####
Reading package lists... Done
Building dependency tree
############### Lines deleted for brevity ########################
#####
#####
##### Set up minicom port linkage so minicom can find host port
#####
#####
##### Turn up the volume to max. You can adjust amixer cset numid=1 -- 100%
numid=1,iface=MIXER,name='Capture Volume'
; type=INTEGER,access=rw------,values=2,min=0,max=65536,step=1
: values=65536,65536
######
######
######
######
###### Adding service for tarpn background operations
######
###### NOTE! You will see an error message that says:
####### NODE INIT file not found
####### and Aborting in 180 seconds
#######
####### That's OK. Nothing to see here. These are not the
error messages you are looking for.
Move along...
########
tarpn.service moved to system.d
##### TARPN SERVICE file installed
Created symlink /etc/systemd/system/multi-user.target.wants/tarpn.service → /etc/systemd/system/tarpn.service.
##### starting TARPN service pause 10 seconds
###########################################################
cat: /var/log/tarpn.log: No such file or directory
###########################################################
######
######
######
###### PI SHUTDOWN SERVICE
###### Adding service for raspberry pi automatic shutdown and UP notification
######
########
got PI_SHUTDOWN-SERVICE.TXT
##### PI SHUTDOWN SERVICE file installed
Created symlink /etc/systemd/system/multi-user.target.wants/pi_shutdown.service → /etc/systemd/system/pi_shutdown.service.
##### starting PI SHUTDOWN service pause 10 seconds
###########################################################
##### starting install of listen-app
##### received listen-app
##### listen app has been installed.
##### starting install of linktest-app
##### received linktest-app
##### linktest-app has been installed.
sendroutestocq: no process found
##### received sendroutestocq application
##### sendroutestocq application has been updated.
##### received bbs_checker command script
##### bbs_checker script has been installed.
#### get ring.wav file for bbs checker
##### received STATUSMONITOR_BACKGROUND script
##### statusmonitor.service has been installed
##### moving new background shell script file into place
##### STATUSMONITOR_BACKGROUND script has been installed.
Created symlink /etc/systemd/system/multi-user.target.wants/statusmonitor.service → /etc/systemd/system/statusmonitor.service.
##### STATUSMONITOR_BACKGROUND script has been installed and the
##### OS has been told to call it.
##### received rx_tarpnstat script
##### rx_tarpnstat.service has been installed
##### moving new background shell script file into place
##### STATUSMONITOR_BACKGROUND script has been installed.
Created symlink /etc/systemd/system/multi-user.target.wants/rx_tarpnstat.service → /etc/systemd/system/rx_tarpnstat.service.
##### rx_tarpnstat script has been installed and the
##### OS has been told to call it.
##### received rx_tarpnstatapp app
##### rx_tarpnstatapp app has been installed.
#####
##### Done. After reboot you will be ready to test and/or
##### configure your TNC boards and to start BPQ node.
#####
#####
######
######
######
######
###### Raspberry PI will now reboot. All is going well so far.
###### When we come back up, reconnect and try the tarpn command
###### as per the
###### Set Up Raspberry PI for TARPN Node - Make SDcard
###### web page
######
######
|
When that completes, you are ready to set-up your TNCs.
But what does this do and how does it work?
Linux enumerates USB devices, Ethernet, WiFi, serial ports. These interfaces are then made available for applications and services running under the Linux operating system.
The TARPN node runs in the Linux environment on the Raspberry PI and is constructed from a half dozen system services (background processes) which call several home-grown utilities, the TARPN-HOME user interface, and the G8BPQ packet switch application.
The TARPN configuration and background tasks configure and run the G8BPQ package and pull diagnostic data from or through the G8BPQ package.
G8BPQ-node (also called g8bpq, linbpq, bpq32, and pilinbpq), when launched, will look for a file bpq32.cfg.
That file is created by a set of TARPN home-grown script files run either by a linux command, or by a background script, depending on the state of the tarpn-service.
The TARPN scripts use an input file called node.ini to specify this node's place in a Terrestrial Amateur Radio Packet Network and then generate the bpq32.cfg file, just before starting up the G8BPQ-node.
The node.ini file may be created and modified by hand, or may be created by the operator using a prompted script started with the tarpn config command.
The TARPN configurations are prepared to deal with two different TNC connection busses and 12 total TNCs at once.
Ten ports, #1 through #10, are available and which are automatically assigned to the first ten NinoTNC A3 and A4 TNCs which use the Microchip MCP2221 USB interface.
Those show up as /dev/ttyACM# devices in Linux.
The other two ports, #11 and #12, are available for manual configuration to any device path the operator can specify.
These are commonly used for USB to serial adapters for old-style serial port connected TNCs, like the Kantronics KPC-3, but this could also be used for Raspberry PI built in serial interfaces (on the 40-pin AUX connector) and TTL wired TNCs.
The G8BPQ node program creates a packet radio switch which has many 'ports', 12 of which are connected to a TNC and thus to a ham radio and are numbered by the G8BPQ node program as 1 through 12.
There is an additional port 32 which represents the Telnet interface used by local applications to exchange data with the node.
Ports 1 through 10 are automatically assigned, in ascending order, by the G8BPQ application, based on the NinoTNC A3 and A4 boards discovered at node startup time.
Ports 11 and 12 are manually assigned by the operator and may optionally be used to connect to devices which are not NinoTNC A3 and A4 boards.
In addition to these ports, there are a series of virtual serial ports for dedicated applications, and a couple of web service ports.
The web service ports, :7777 and :8085 are for the G8BPQ configuration interface, and the TARPN-HOME interface.
Ports 1 through 10 are then assigned, by the TARPN application, to neighbors you will have specified, when those neighbors are heard over the air.
You'll be giving the TARPN configuration a list of neighbors that will be heard, one per NinoTNC, and the TARPN "Neighbor Port Association" process will listen for those neighbors and assign them to the NinoTNC on which they are heard.
Using the telnet interface, or a terminal emulator to a virtual serial port, (or TARPN-HOME) you can gain access to a textual command-line interface to the node.
There are many textual commands which can be issued to the node using the command-line interface.
Several of those commands have to do with ports and routing.
TARPN Config and node.ini
The command used to configure the node for your location, links to neighbors, callsigns and local information is tarpn config.
This command creates an INI file in the /home/pi home directory for the pi Linux account.
You will be prompted for the neighbor callsign and the frame acknowledge delay (FRACK), requested in milliseconds.
FRACK
Frame Acknowledge Delay is the amount of time the node will wait to see an answer to a transmitted packet.
- A packet is generated by your node and then pushed across the USB port to the TNC.
- As the packet starts going across the USB, the Frame acknowledge timer is set to the specified FRACK.
- The TNC will wait for channel quiet (Data Carrier Detect) and will then key up the radio using the PTT line.
- After the TXDELAY delay expires, the TNC will send the packet over the radio.
- The neighbor TNC will receive the packet and push it across USB to the neighbor node.
- The neighbor node generates a return packet including an acknowledgement, pushes that across USB.
- The neighbor's TNC will key up its transmitter, wait for TXDELAY, and then transmit the packet containing your acknowledgement.
- Your TNC will receive the acknowledgement and push it across the USB back to your node.
If the return packet with acknowledgement for the previous packet comes in after the FRACK ran out, the entire exchange will have been wasted.
If your node does not see that return packet before the FRACK runs out, it will send a new packet over USB to the TNC.
It is important that the FRACK not be too short.
However, if FRACK is too long, you're node will wait unnecessarily long when a packet is never going to come back, i.e. because of interference or weak signal.
The number used for the FRACK has to be long enough for both TXDELAY amounts, plus the duration of both transmissions, plus a little cushion time.
The procedure for adjusting FRACK in the field, with normal humans at the controls, is to get the network link working perfectly with a long FRACK, and then reduce the FRACK, test again, reduce again, test again, etc.
That said, there are some numbers we can start with which are less than huge.
9000 is bigger than the slowest exchange we've ever seen on a TARPN node.
2000 works with made-for-data 9600 baud radios like the Kantronix D4-10.
5000 works with the Kenwood TK radios we're using.
Less than 5000 for Kenwood TK radios in 2400 baud mode.
Neighbors
You will be prompted for a neighbor A callsign, and a neighbor A FRACK.
Then you will be prompted for a neighbor B callsign and a neighbor B FRACK.
This repeats for up to 10 neighbors.
You don't have to assign neighbors to specific NinoTNCs.
The TARPN software figures that out.
The two manually defined USB ports are left for last.
After you leave one of the neighbor callsigns at "not_set", the tarpn config command will immediately jump to the manual USB ports.
Ports 11 and 12 will prompt you for the /dev name and will also prompt for serial bit rate, FRACK, TXDELAY, and neighbor connection.
All TNCs connected to the Raspberry PI under the TARPN configurations must be already set to KISS mode before the G8BPQ node program is launched.
You can use Minicom or Picocom to test the TNCs in some other mode but you must convert them to KISS mode before starting the G8BPQ node if the ports are enabled in the tarpn configuration.
If they are not, then the G8BPQ node software will complain and may be difficult.
NinoTNCs are KISS-only so no setup required.
Running the tarpn command
A more complete list of the tarpn commands is here.
The first time tarpn config is run, the program will prompt you for the callsign to be used, and will then generate normal callsign + SSID for the configuration.
The program then prompts for the figures which will go into the node.ini file.
Here is an example of the start of a first-run of the config command.
pi@starbucknode ~ $ tarpn config
#### =TARPN vb103 =
####
####
#### =CONFIGURE_NODE.SH v77 =
####
####
This is the first tiem you've run this configurator.
local_op_callsign = none -->k1qrm
I'm going to use your callsign to auto-fill some of the identification
and then put you into the configurator in the verbose mode but with
some of the answers filled in.
I've set up some of the required identification callsigns based on k1qrm.
node callsign=k1qrm-2
BBS callsign =k1qrm-1
CHAT callsign=k1qrm-9
These callsigns and -SSID numbers
will be what the other nodes expect.
You will be prompted for these same
values shortly. You can <RETURN>
to accept if the offer is correct.
Hit <RETURN> to continue
|
In the above example the program prompted the operator with a default value of "none" for a local-op-callsign.
The operator responded by typing in k1qrm and then hit <RETURN>.
I'll refer to the "none" text as a default that the operator may accept with <RETURN> or may change by typing in a new value and hitting <RETURN>.
You will be prompted for some of the details specific to your installation.
This command may be run over and over to polish your results.
If you use Control-C to quickly exit this command, none of your changes will be saved.
Here is a brief on each element you will be prompted for:
Nodecall
Each G8BPQ node is identified by a callsign with ssid extention, and a node name.
The callsign must be the person or one of the people legally responsible for the proper operation of the node.
The ssid extention is a number which allows there to be more than one node with the same callsign.
For instance: KA2DEW-2 is different from KA2DEW-3.
The -2 or -3 is the ssid extention.
The allowable values are -0 through -15 but -0 and -15 are usually reserved.
So set a nodecall as your callsign with an ssid of -1 or up to 14.
If you have never used a packet SSID, then chose -2.
Callsign should be followed by a dash and a one or two digit number.
As of this writing, every node in the North Carolina
TARPN uses -2 to identify the node's callsign.
Nodename
Every G8BPQ node has a 6 character or shorter node-name.
The North Carolina TARPN is using first or last names as the nodename.
Initially we started with town names and then regions of towns but once you have a DURHAM node, what does the 2nd node, just down the street, get named?
So we went with first names.
People with especially common first names may want to try last names instead.
Ideally somebody seeing your node-name in a list would be able to associate it with the person they run into on the CHAT.
The nodename should be specified as all lower case.
No spaces or punctuation characters.
BBS Callsign
This is the same callsign with a different SSID, and is used for the bulletin board service.
The bulletin board service in G8BPQ was invented to serve as an email send/receive nexus for participants around the area where the BBS node is located.
The TARPN project tosses that to the wind and we use the BBS software for a repository for just one ham.
The callsign of the BBS should be the same as the node and the local operator callsign.
If there is more than one node in the network with the same callsign, regardless of SSID, you must turn off the BBS feature of all but one of the nodes by setting the BBS Callsign to not_set.
Make sure the ssid for this callsign is not used anywhere else in the network.
Beware that -15 and -13 are bad SSIDs to use.
We recommend using callsign-1 for the BBS callsign field.
CHAT callsign
This is a separate callsign from the NodeName specified above and is used for the CHAT round-table conversation service..
Set this to your callsign with a -9 unless this is your second node.
In that case, pick another unique ssid not used in the network. -8 maybe?
Later on you'll need to go to the 7777 web page and configure your CHAT neighbors.
See Configure Chat Service after your node is up.
Location
You will answer in latitude, and longitude with several digits of precision.
This is available from Google.
Search for "Google Earth Pro Download".
Once you download and install the program, search for your address and then move the cursor over your neighborhood.
You don't have to provide your exact house.
You should see the latitude and longitude in the bottom right of the screen.
Someplace within a few blocks is probably good depending on how crowded the nodes are in your area.
This information is used to generate maps for diagnostics and bragging purposes.
Mine is 35.890, -78.681
Infomessage1 thru Infomessage8
This multi-line message is given to the connected user if they type INFO.
Because of the limitations of my script, I can’t deal with real multiline messages.
Instead, I provide 8 different configuration elements for your INFO message.
Use upper or lower case letters, any punctuation except double-quote.
The INFO message should say something like this:
infomessage1: Starbuck's node at the north end of Spongotown.
infomessage2: Vertical yagi pointing at FRED and quad-band-vertical for the other 4 ports.
infomessage3: Icom IC1271A 1292.1 to FRED
infomessage4: Icom IC228 145.53 to DEXTER
infomessage5: Kenwood TM3530 223.42 to SIMON2
infomessage6: GE Master II 50.120 to BILLM
infomessage7: Icom IC4AT used to go to GERRY -- anybody want to link to me?
infomessage8: Starbuck is usually on the CHAT network -- feel free to ring at PIUSER as well.
Any unused infomessage lines can be left with a period or with not_set
Ctext
This text gets sent when the user connects.
Say something short here.
Make this one line.
N. Spongotown near National Guard 1000 meter range
Local-op-callsign
This is the callsign of the station who runs the node, or who is at the local console.
This is used as the log-in ID for telnet connects, and also for setting up the HOST mode feature which lets node users connect to the local operator.
This should be lower case.
If there is not to be a local operator, this can be set to none.
If this is none the local user commands host and tx will also be disabled.
If desired, host mode can be re-enabled at any time by re-running tarpn config, changing the value of this figure, save, then restart the node.
neighbor callsign
The node configuration permits 10 neighbors which will be automatically associated with a NinoTNC.
For each of the 10, the neighbor callsign will be set with a callsign+ssid or with NOT_SET
The tarpn config program will prompt for neighbors and the first time the operator enters a period or hits <RETURN> to accept a default NOT_SET, the program will disable all further neighbors.
The neighbors can be in any order and the program will automatically assign the specified callsign to a NinoTNC when the actual neighbor is heard over the air.
That process usually takes about 20 minutes if the neighbor is on the air and the nodes are operational.
FRACK
See discussion of FRACK up above in this page.
txdelay
For USB/serial KISS TNCs, this value sets the transmit keyup delay, i.e. how long the TNC sends start-up-sync beeps while waiting for the transmitter to come on-line.
This number is in milliseconds.
1000 = 1 second.
Usually this number should be between 100 and 350.
Start with 350 and then make it shorter until it doesn’t work anymore, then make it 50 or so longer.
baud rate
For USB/serial KISS TNCs, this is the serial baud rate used between the USB/serial adapter and the TNC.
This must match what the TNC is configured with.
This baud rate is only used in the G8BPQ node software.
Running TARPN Config
A normal full run of tarpn config for a 4 port NinoTNC node could look like this:
pi@starbucknode ~ $ tarpn config
############################################################################
This program prompts for configuration values
you will see a description/name of each config item, and then
you will see the current value of that config item. If you like
the current value, just hit ENTER/RETURN on your keyboard.
To change the setting, type a new value and then hit ENTER/RETURN.
Your changes are saved when you reach the end of this program.
Use Control-C on your keyboard to exit without saving changes.
local op callsign is used by the node when an operator controls the
node locally. This is used for CHAT, for sending and receiving
packets and messages when the local operator is involved.
This should be set to your legal callsign, with no -SSID,
or to the word 'none'.
If this is set to none, then console access is disabled.
You can use the same local op callsign on more than one node.
local_op_callsign = k1qrm --> keep the default offering of k1qrm
NODE CALLSIGN
The node callsign is probably your callsign dash 2, for instance: w1aw-2
The software limitations are that it can be -0 through -15 but convention
has it that you not use -0 or -15. -2 is sort of a standard around here.
Node Callsign = k1qrm-2 --> keep the default offering of k1qrm-2
NODENAME. This is 6 characters, allupper case, and is usually your
first name, last name, or some abbreviation of your first name.
Choose something the other node operators can remember for you.
Node Name, max 6 chars, no spaces or punctuation = 6letters -->starbk
SYSOP password is for answering the PASSWORD challenge.
See http://www.cantab.net/users/john.wiseman/Documents/Node%20SYSOP.html
You should probably leave set this to the group password or discuss it
with who-ever is managing the L3 and L4 parameters for your node.
Note: No double quotes, no single quotes and no ampersands.
SYSOP password = not_set -->thequickbrownfoxjumpedoverthelazydogsback0123456789timesuntilhewasdead
BBS Callsign
Leave set to not_set unless you want to operate a BBS on this Raspberry PI
You can change this later.
Set bbscall to be your callsign -1
To switch off the BBS function, set the BBS Callsign to a period .
BBS Callsign = k1qrm-1 --> keep the default offering of k1qrm-1
CHAT callsign
Every G8BPQ node in the network has a CHAT service. Each nees a unique callsign
which cannot be the same as any BBS or node in the network.
We recommend using the owner operator callsign with a -9.
CHAT callsign = k1qrm-9 --> keep the default offering of k1qrm-9
LOCATION:
Lattitude and Longitude. This information is used to automatically
create network maps which will be public and published at high
resolution. The information is needed to allow the maps to show
relative positions of the various nodes. It should be precise BUT
it does not need to be accurate! I recommend putting it in the next
neighborhood or something obscure. Just try to make it indicative
both of what town your node is in and where you are relative to the
other nearby nodes in your local network.
Enter latitude, longitude for your node representation on maps.
Use Google Earth or GPS receiver to appropriate values.
Lat/Lon format in the US should be something like 33.4515, -83.7773
4 decimal places on each should be good enough.
###
node location, lat, lon = 10.0000, -->35.89, -78.681
INFO TEXT
This next value is the INFO message text. This is what the user gets if
they use the I or INFO command. This text can be several lines long.
Each line is in a separate field. infomessage1 is the 1st line.
infomessage8 is the last line. not_set lines are removed from the INFO response.
This is the current output for the INFO text:
--------------------------------------------------------------------------------
not_set
not_set
not_set
not_set
not_set
not_set
not_set
not_set
--------------------------------------------------------------------------------
Now you can change any lines. I recommend you copy and paste from a text
file as you go through this so you can get the result you want.
Any line that is not to be used should be left as not_set or may be set to
have just a period. Lines with a period in the first character will be replaced
with not_set and not_set lines will not be included in the INFO response.
Note: No double quotes, no single quotes, no colons, and no ampersands.
INFO line 1 = not_set -->Starbuck's node at the north end of Spongotown.
INFO line 2 = not_set -->Vertical yagi pointing at FRED and quad-band-vertical for the other 4 ports.
INFO line 3 = not_set -->Icom IC1271A 1292.1 to FRED
INFO line 4 = not_set -->Icom IC228 145.53 to DEXTER
INFO line 5 = not_set -->Kenwood TM3530 223.42 to SIMON2
INFO line 6 = not_set -->GE Master II 50.120 to BILLM
INFO line 7 = not_set -->Icom IC4AT used to go to GERRY -- anybody want to link to me?
INFO line 8 = not_set -->Starbuck is usually on the CHAT network -- feel free to ring at PIUSER as well.
--------------------------------------------------------------------------------
The Connect-Text is sent to a station that connects to the node.
keep it short and sweet. Town name, or neighborhood and town.
Note: No double quotes, no single quotes, no colons, and no ampersands.
Connect-Text = not_set -->node op is Starbuck, N. Spongotown near National Guard range
--------------------------------------------------------------------------------
The next part enables and configures up to ten NinoTNC A3 and A4 neighbors.
There is a separate place later in the process to describe generic USB
TNCs and NinoTNC A2 units. There is room for 2 of these.
The neighbor is described as a callsign with SSID (usually -2)
and a frame-acknowledge-delay, or FRACK. The FRACK is the number
of milliseconds it takes for your NinoTNC to transmit a full length
packet message, and how long it takes for your neighbor to send you
back a full length packet message. This time includes the TX-RX-TX
switchover times. A too-short FRACK is devistating because perfectly
good packets will be tossed out some of the time. A too long FRACK
wastes time but only if the link is already getting packet errors.
Recommended starter values are 9000 for 1200 baud and 3000 for 9600 baud.
1200 baud -> FRACK of 9000
2400 baud -> FRACK of 6000
4800 baud -> FRACK of 5000
9600 baud -> FRACK of 3000
Note that some of the data radios are very fast at switching and can
have a lower FRACK. Alinco DR135 and relatives are very slow and will
have a higher FRACK. You'll have to test your link with your neighbor
and see what you can get away with. Watch the retry rate shown in
the R R response in QT-Term.
Leave neighbor callsign as NOT_SET if you don't need to add another
The order of neighbors is unimportant. The program will figure out
which NinoTNC each neighbor connects to. The FRACK is associated
with the NinoTNC that the matching neighbor comes in on.
Neighbor callsign should be something like k1qrm-2
Callsign for a neighbor node 'A' = NOT_SET -->ka1okq-2
FRACK for first neighbor 'A' = 9000 -->4000
Callsign for a neighbor node 'B' = NOT_SET -->k2cc-2
FRACK for first neighbor 'B' = 9000 -->5000
Callsign for a neighbor node 'C' = NOT_SET -->ve2bmq-2
FRACK for first neighbor 'C' = 9000 -->4000
Callsign for a neighbor node 'D' = NOT_SET -->ka1prr-2
FRACK for first neighbor 'D' = 9000 -->4000
Callsign for a neighbor node 'E' = NOT_SET --> keep the default
Now configure the USB-serial KISS devices.
DO NOT USE these for NinoTNC A3 and A4 TNCs.
The newer NinoTNCs are handled by the Neighbor mechanism.
These USB TNC Port specifications have TxDelay parameters which
are passed to G8BPQ. If your KISS device understands the
TXDELAY KISS value, it will be configured from this TXDELAY value.
Serial Baud value is used between the USB adapter and the TNC's CPU.
The over-the-air TNC baud bit-rate must be set by the TNC itself.
Ports 11 and 12 are USB ports but are highly customizable in support of
non-traditional TNCs but may be used for older NinoTNCs, A0, A1, A2.
The default values are appropriate for a NinoTNC A2. NinoTNCs ignore
the TxDelay value, and require 57600 baud.
USB TNC port 11 - user specified /dev port enable or disable = DISABLE --> keep the default
USB TNC port 12 -- user specified /dev port enable or disable = DISABLE --> keep the default
-------------------------------------------------------------------
#### Done. Now to overwrite the node.ini file with the new configuration.
Make sure you use tarpn test to test the node before making it auto. The new
configuration will be used the next time G8BPQ is loaded.
pi@starbucknode ~ $
|
You can run tarpn config over and over again and each time it will save your changes and let you continue editing.
If you control C out before you are done, the changes will NOT be saved.
tarpn test
After you have configured the node, use tarpn test to run the G8BPQ node. The output should look like this:
pi@starbucknode ~ $ tarpn test
#### =TARPN vb103 =
#####
##### TEST -- Starts BPQ node immediately and runs it in the foreground until
##### a control C is issued in this window, or until a tarpn stop
##### command is issued in another window.
source url exists
node.ini exists.
tarpn usb
#####
##### Show ttyUSB and ttyACM devices (NinoTNC) found in /dev
#####
##### ------------- start
ttyACM0
ttyACM1
ttyACM2
ttyACM3
##### ------------- end
##### List of tty ports called out in node.ini
#####
##### ------------- start
neighborA:KA1OKQ-2
neighborB:K2CC-2
neighborC:VE2BMQ-2
neighborD:KA1PRR-2
##### ------------- end
#####
#####
#####
##### Starting BPQ Node by calling RUNBPQ.SH
runbpq.sh: hello user >>pi<<
#### =RUNBPQ vB044 =
#### =MAKE LOCAL BPQ v138
Number of NinoTNC A3 and A4 units using ttyACM# device name = 5
Enable BBS application
local-op-callsign is specified. Enable HOST mode
chatcall:k1qrm-9
SUCCESS...
### RUNBPQ.SH:
### RUNBPQ.SH: Launching G8BPQ node software. Note, this script does not end
### RUNBPQ.SH: until the node is STOPPED/control-C etc..
### RUNBPQ.SH:
G8BPQ AX25 Packet Switch System Version 6.0.21.40 March 2021
Copyright ? 2001-2021 John Wiseman G8BPQ
Current Directory is /home/pi/bpq
Configuration file Preprocessor.
Using Configuration file /home/pi/bpq/bpq32.cfg
Conversion (probably) successful
PORTS 0x234af0 LINKS 0x239fd8 DESTS 0x23aa20 ROUTES 0x23d2c0 L4 0x23d7a0 BUFFERS 0x243e10
Route/Node recovery file BPQNODES.dat not found - Continuing without it
Initialising Port 01 ASYNC /dev/ttyACM0 Chan A
Initialising Port 02 ASYNC /dev/ttyACM1 Chan A
Initialising Port 03 ASYNC /dev/ttyACM2 Chan A
Initialising Port 04 ASYNC /dev/ttyACM3 Chan A
Initialising Port 32 Telnet Server
Starting Chat
Config File is /home/pi/bpq/chatconfig.cfg
Chat Started
Starting Mail
Config File is /home/pi/bpq/linmail.cfg
Config Processed
Config File /home/pi/bpq/WP.cfg Line 0 - file I/O error
Mail Started
slave device: /dev/pts/1. symlink to /home/pi/minicom/com1 created
slave device: /dev/pts/2. symlink to /home/pi/minicom/com4 created
slave device: /dev/pts/3. symlink to /home/pi/minicom/com5 created
slave device: /dev/pts/4. symlink to /home/pi/minicom/com6 created
slave device: /dev/pts/5. symlink to /home/pi/minicom/com7 created
slave device: /dev/pts/6. symlink to /home/pi/minicom/com8 created
TNC Emulator Init Complete
|
The important thing about this test is that the Node did start and it stabilized.
If there were a failure you would see other output repeating every minute or more often.
Notice that all of your NinoTNCs are accounted for during the Initialize Port ## output.
A common failure is making one of the configurations an illegal value.
After the node comes up and runs with no error messages, you should launch VNC reader on your workstation, or use the local display on the Raspberry PI to run QT-term and connect up to your node.
See QT Terminal.
Try out some of the BPQ node commands described in the Packet Node Operators Manual.
At this point the G8BPQ node is up and running, but only in test mode.
If you were to shutdown and restart the computer, the node would not automatically start.
Now that you know that the node will start up, you can quit the node using control-C and then use the tarpn service start command and set it to automatically start.
Note: To send a control-C to the terminal window, click into the window, then hold down the control key on your keyboard and tap the c key.
See the full suite of tarpn subcommands here.
Control-C is used to cancel many functions including the node if you started it with tarpn test.
TARPN-HOME
The premier user interface for normal operations of a TARPN station is TARPN-HOME.
This application is installed already and is ready to run, if all went well on the install.
To activate TARPN-HOME, you must first have used the tarpn service start and your node must be up and running.
Use the tarpn command by itself to get node status.
pi@starbucknode ~ $ tarpn
#### =TARPN vb103 =
##### BPQ node is running. BPQ node background Service is (AUTO)
##### TARPN HOME is NOT running. TARPN HOME is not enabled.
##### Raspberry PI is a >>> type 4 B 2GB made in UK <<<
##### OS version is "Raspbian GNU/Linux 11 (bullseye)"
##### Ethernet MAC=dc:a6:32:52:b7:d0 CPU temp=47.0'C SDcard=1599350888
##### Use tarpn help for subcommand list.
pi@starbucknode ~ $
|
This is just about what you should see.
TARPN-HOME is not enabled but the BPQ node is both running, and in (AUTO).
Use the tarpn home start command.
pi@starbucknode ~ $ tarpn home start
#### =TARPN vb103 =
##### HOME is not set to run.
#### tarpn home start
#####
##### Starting TARPN-HOME
#####
##### HOME is not set to run in the background. Turning on...
##### HOME background has been set to ON
##### Note: It may take 3 minutes for TARPN-HOME to start running.
##### Use tarpn command to check the status.
##### If NODE is running in the service start mode, you can access HOME by
##### setting your web browser to your-node-IP:8085. Make sure you refresh
##### your web browser if TARPN-HOME is not responsive. This will occur
##### on some changes of computer or node status.
pi@starbucknode ~ $
|
Do the tarpn command a few times to watch the status change to
##### TARPN HOME is running. TARPN HOME is set to START
|
Once the status changes, it is time to go to your web browser and connect to the TARPN-HOME web app user interface.
That will be the IP address of your node followed by :8085.
In my case it is 10.0.0.2:8085
See the builder page about TARPN-HOME
Anything else?
There are many answers just waiting for your questions.
Please read the builder page and the FAQ.
If you still have questions, please contact us via the TARPN email list/reflector.
If you have noticed my horrible keyboarding and grammer skills or think there is something just not right on this or any other of the TARPN pages, please address that to my email address as found on my QRZ page
Thanks.
DE Tadd, KA2DEW, in Raleigh NC
back to BUILDERS page
|