Log Files in Raspberry PI TARPN Node
Logs exist to record issues, events, history.
Most of the logs are in plain text.
Some of the log files you'll find are written to and read from applications and are not meant for humans.
The log files listed here below are all readable by you and may be interesting.
It is common for a developer or operator to watch the logs using a command
tail which, among other powers, grabs the last bunch of lines of a file and puts them to the screen.
tail -f logname.log can also give you a live scrolling display as the log is changed.
Use
man tail to find out more about the tail command.
While you are at it, check out these Linux commands:
Here I describe some of the logs most useful to TARPN node operators.
Logs in /var/log
These logs are located in a standard Linux place for logs which is /var/log
pi@spongonode:/var/log $ ls -lrats | tail -20
128 -rw-r----- 1 root adm 123530 Jan 4 16:33 auth.log
1048 -rw-r----- 1 root adm 1066000 Jan 4 16:43 daemon.log
316 -rw-r----- 1 root adm 316730 Jan 4 16:43 debug
4 -rw-r--r-- 1 root root 2158 Jan 4 10:48 statusmonitor.log
1064 -rw-r----- 1 root adm 1084371 Jan 4 16:43 syslog
4 -rw-r--r-- 1 pi root 837 Jan 4 10:47 tarpn_command.log
8 -rw-rw-rw- 1 pi pi 4210 Jan 4 10:48 tarpn_home.log
148 -rw-r--r-- 1 root root 145842 Jan 4 16:39 tarpn_home_chat_raw.log
12 -rw-r--r-- 1 root root 10066 Jan 4 16:28 tarpn_home_node.log
4 -rw-r--r-- 1 root root 3355 Jan 4 11:00 tarpn_home_runtime.log
28 -rw-r--r-- 1 root root 20609 Jan 4 11:00 tarpn_home_webapp_copylog.log
36 -rw-r--r-- 1 root root 29127 Jan 4 16:32 tarpn_linkstatus.log
2892 -rw-rw-rw- 1 root root 2953255 Jan 4 16:42 tarpn_neighbor_port_association.log
4 -rw-rw-rw- 1 pi root 154 Jan 4 10:47 tarpn_ninotnc_getall.log
144 -rw-r--r-- 1 root root 139319 Jan 4 16:33 tarpn_pwrman.log
12 -rw-rw-rw- 1 pi pi 11058 Jan 4 10:47 tarpn_runbpq.log
8 -rw-rw-rw- 1 pi root 6527 Jan 4 10:47 tarpn_rx_tarpnstat_service.log
8 -rw-rw-rw- 1 pi root 6338 Jan 4 10:47 tarpn_service.log
4 -rw-rw-rw- 1 pi root 2486 Jan 4 10:47 tarpn_startstop.log
40 -rw-r--r-- 1 root root 33604 Jan 4 16:33 tarpn_tarpnstat.log
pi@spongonode:/var/log $
auth.log
This log shows instances where somebody assumed root-level access to Linux and the filesystem.
This happens during calls by TARPN scripts and can also happen if a user does the sudo Linux command.
daemon.log
I don't have a proper definition of this log but what I know is that if a background application does a print to STDOUT, that print shows here.
So, if you have an application, like bbs-checker or tarpn-home, and it prints something, it'll show up in this log.
debug
I need input from the Linux experts out there. What's the difference between this and daemon.log?
statusmonitor.log
There is a background service for TARPN which checks to see if the neighbor links are up and running.
It also checks the BBS to see if there is any mail for the operator.
This log tracks the execution of that background service.
The status monitor service has other outputs including the tarpn_linkstatus.log (see below) and two status files
saved in /usr/local/etc called bbsunreadmessagescount.txt and bbshasmail.txt.
You'll need to use
grep MAIL /usr/local/etc/bbshasmail.txt to read the one and
od -H /usr/local/etc/bbsunreadmessagecount.txt to read the other.
syslog
I need input from the Linux experts out there. What's the difference between this and daemon.log?
tarpn_command.log
Every time a tarpn command is entered, the time stamp and command entered is recorded here.
Results of the commands are sometimes logged here.
Date and time of the TARPN software installation, is also recorded at the start of this log.
tarpn_home.log
When the TARPN support programs initializes and launches TARPN-HOME, details are recorded here.
tarpn_home_chat_raw.log
This records the text TARPN-HOME displays in the Chat Traffic window.
If you want to post-process the TARPN-HOME chats, this is a good place to get your material as this is plain text.
tarpn_home_node.log
This contains a log of all of the sent and received traffic that was displayed on the Node pane.
tarpn_home_runtime.log
The TARPN-HOME application and support code may write to this log.
tarpn_home_webapp_copylog.log
This gets the output of the TARPN-HOME python app.
Usually there are about 4 lines of text printed between when the app starts, after the node comes up, and when the app quits, if the node ever goes down.
This is a good place to look for debugging though if something is going wrong with TARPN-HOME.
If this log grows quickly, something is wrong.
Please grab the last 200 lines or so of the log and email it on the tarpn email reflector.
tarpn_linkstatus.log
This log records the status of the link-in-use indication from the node Routes command.
If links are not defined, the log contains four dashes.
If the link is defined but is idle for the last 15 minutes, "BAD!" is logged.
If the link is defined and is in use during the last 15 minutes, "good" is logged.
Note that good and BAD! are not actually appropriate values for this except that in a system with CHAT servers at every site, the links are only idle if something is wrong or if the CHAT has discovered a redundant link and turned it off.
Here is an example from a six port node where ports 1, 2, 3, 4, 5 and 11 are enabled.
2022-01-03 13:20:54 -- goodgoodgoodgoodgood--------------------good----
2022-01-03 13:35:05 -- goodgoodgoodgoodgood--------------------good----
2022-01-03 13:49:19 -- goodBAD!goodgoodgood--------------------good----
2022-01-03 14:03:30 -- goodBAD!goodgoodgood--------------------good----
2022-01-03 14:17:40 -- goodgoodgoodgoodgood--------------------good----
2022-01-03 14:31:51 -- goodgoodgoodgoodgood--------------------good----
2022-01-03 14:46:01 -- goodgoodgoodgoodgood--------------------good----
tarpn_neighbor_port_association.log
The process which associates the specified neighbor with a G8BPQ-node port will log to this file.
tarpn_ninotnc_getall.log
Every minute, each NinoTNC outputs a line of data to the USB port, recording counters and figures from the NinoTNC operation.
This file logs that data from all of the NinoTNCs on the node.
tarpn_pwrman.log
There is a background script, pi_shutdown_background.sh, which will optionally support GPIO hardware shutdown requests and/or drive GPIO outputs for LED status display.
This log contains it's comments about the hardware operation.
The TARPN control panel and the TARPN PWRMAN project use pi_shutdown_background.sh.
If you are working to hook up Raspberry PI shutdown control, or status lights, you may want to check this log.
tarpn_runbpq.log
The runbpq script is called when the tarpn-service decides it is time to launch G8BPQ node, or if a tarpn test command is executed.
That script verbosely logs to this logfile so failures in operation can be diagnosed.
tarpn_rx_tarpnstat_service.log
The TARPN node support programs generate a statistics message called TARPNSTAT which is sent out every port on the node.
The neighbor node listens for those TARPNSTAT messages.
Rx-Tarpnstat is the process that notices the incoming TARPNSTAT message.
This log records the starting and stopping of the Rx-Tarpnstat mechanism.
tarpn_service.log
The TARPN-service starts the G8BPQ node by calling RUNBPQ, if the node is ready to be run.
Once every minute or longer, resources are checked and if something is missing, that will be noted in this log.
tarpn_startstop.log
Any time the G8BPQ node is stopped or started, a log entry is made to this log.
tarpn_tarpnstat.log
The business of the RX-TARPNSTAT program is to receive statistics from each neighbor of your node, and merge that data with the local R R results to create the tarpn_home_linkquality.dat results used in the INFO pane of TAPRN-HOME.
rx_tarpnstatapp runs continuously in the background, sleeping for 1 second, then checking every
port on the node for incoming TARPNstat messages from the neighbors.
After doing any necessary statistics recording in each 1-second period, RX-TARPNSTAT checks to see if 15 minutes has passed since its last tarpn_tarpnstat.log entry.
If it has been 15 minutes, writes a new
tarpn_tarpnstat.log line including the time of day in years-months-day hours-minutes-seconds, and stating the unix epoch time, and the number of TARPNstat messages heard across all of the ports in the past 15 minutes.
2019-03-23 05:54:02 -- listening @ 1553334837 -- reported 1 since last timestamp
2019-03-23 06:09:03 -- listening @ 1553335738 -- reported 7 since last timestamp
2019-03-23 06:24:04 -- listening @ 1553336639 -- reported 5 since last timestamp
The number of entries can change depending on interference, or race conditions caused by the senders and your local receiver being on slightly different schedules.
TARPN logs from other places in the file system
/usr/local/etc/tarpn_home_chat.log
Not really a log file, this file is actually used by TARPN-HOME to refresh the Chat Traffic browser window if you connect a new browser or refresh your current tab.
This file has HTML Tags.
When TARPN-HOME starts, it reads in this file so a history scroll-back is available to the operator.
/usr/local/etc/tarpn_home_linkquality.dat
This log is written to about every 15 minutes to record what ports on the node are currently live to the neighbors.
This is a good place to look if you think one of your neighbor links was off-line recently.
The process which writes this log can also play out a WAV file (throught he Raspberry PI speaker output) every 15 minutes if one of your neighbor links is off-line.
Just make put a wav file called
badlinksound.wav and put it in the
/home/pi directory.
You can use this command to turn on the alert noise using one of the existing wave sounds on the Raspberry PI:
cp ~/ringfolder/danger_danger.wav ~/badlinksound.wav
As of December 2020, the format of this file is as follows:
<unix epoch time>,<port#>,<neighbor call>,<link-status '/>' or 'b'>,<my txcount>,<my retries>,<my tx-buffers-waiting>~,<their txcount>,<their retries>,<their tx-buffers-waiting>ENDOFLINE
1607355852,5,NC4FG-2,>,209,116,0~>,24469,930,0
1607356225,10,KN4ORB-2,>,3238,773,0~>,596,44,0
1607356270,6,KA2DEW-3,>,4530,80,0~>,3834,234,0
1607356277,9,N3LTV-2,>,3810,16,0~>,10679,59,0
1607356311,8,K4RGN-2,>,3687,54,0~>,2401,42,0
1607356697,5,NC4FG-2,>,209,116,0~>,24469,930,0
1607357050,10,KN4ORB-2,>,3249,773,0~>,606,44,0
1607357107,6,KA2DEW-3,>,4541,80,0~>,3844,234,0
1607357110,9,N3LTV-2,>,3820,16,0~>,10687,59,0
1607357149,8,K4RGN-2,>,3697,54,0~>,2411,42,0
Logs in ~/bpq/logs
These logs are in a subdirectory of the pi users folder. Full path is: /home/pi/bpq/logs
ls -lrats | tail -10
732 -rw-r--r-- 1 pi pi 745006 Jan 13 18:59 log_190113_BBS.txt
796 -rw-r--r-- 1 pi pi 809338 Jan 14 18:59 log_190114_BBS.txt
472 -rw-r--r-- 1 pi pi 478486 Jan 14 18:59 log_190114_CHAT.txt
364 -rw-r--r-- 1 pi pi 365376 Jan 15 18:59 log_190115_CHAT.txt
848 -rw-r--r-- 1 pi pi 864027 Jan 15 18:59 log_190115_BBS.txt
808 -rw-r--r-- 1 pi pi 822362 Jan 16 18:58 log_190116_BBS.txt
364 -rw-r--r-- 1 pi pi 364565 Jan 16 18:59 log_190116_CHAT.txt
488 -rw-r--r-- 1 pi pi 495241 Jan 17 09:27 log_190117_BBS.txt
36184 -rw-r--r-- 1 pi pi 36991247 Jan 17 09:27 BPQTelnetServer.log
212 -rw-r--r-- 1 pi pi 212118 Jan 17 09:27 log_190117_CHAT.txt
log_<DATE>_CHAT.txt
This log file is created new every day.
The previous day's log file is left in the folder.
Eventually there will be one log per day going back to the last time the /bpq folder was destroyed by an install.
Mbr/>
This log contains traffic coming into your CROWD node both from the local operator and from the neighbor CHAT nodes.
The more neighbors you have, the more copies of the output traffic you will see.
Symbols in the direction column include:
- | This is a comment line about a status change or action committed by or to the CHAT service
- > text sent outbound from the CHAT, including text to the local operator
- < inbound traffic to the CHAT service, including text from the local operator
In the log fragment shown below, K4GRU node is offline temporarily.
You can see the TADD node CHAT service trying to connect to K4GRU's CHAT service, because TADD node is configured to have ZGRU09:K4GRU-9 as a neighbor.
The connection fails because K4GRU-9 is not on TADD's node-list.
190117 14:29:47 | Connecting to Chat Node ZGRU09
190117 14:29:47 > c K4GRU-9
190117 14:29:47 < TADD:KA2DEW-2} Downlink connect needs port number - C P CALLSIGN
190117 14:29:47 | Chat Node K4GRU-9 Disconnected
190117 14:29:55 < DN3LTV-9 N3LTV Mark - I will be busy for today if I get the base boxes
190117 14:29:55 > N3LTV : Mark - I will be busy for today if I get the base boxes
190117 14:29:55 > DN3LTV-9 N3LTV Mark - I will be busy for today if I get the base boxes
190117 14:29:55 > DN3LTV-9 N3LTV Mark - I will be busy for today if I get the base boxes
190117 14:29:55 > DN3LTV-9 N3LTV Mark - I will be busy for today if I get the base boxes
190117 14:30:18 < DN3LTV-9 N3LTV I can work on the radio boxes next week
190117 14:30:18 > N3LTV : I can work on the radio boxes next week
190117 14:30:18 > DN3LTV-9 N3LTV I can work on the radio boxes next week
190117 14:30:18 > DN3LTV-9 N3LTV I can work on the radio boxes next week
190117 14:30:18 > DN3LTV-9 N3LTV I can work on the radio boxes next week
190117 14:30:20 > KKA2DEW-5 N3LTV-9 6.0.14.12
190117 14:30:20 > KKA2DEW-5 KN4ORB-9 6.0.14.12
190117 14:30:20 > KKA2DEW-5 AI4WV-9 6.0.14.12
190117 14:30:20 > KKA2DEW-5 NC4FG-9 6.0.14.12
190117 14:30:23 < KKN4ORB-9 KA2DEW-5 6.0.14.12
190117 14:30:54 < DN3LTV-9 N3LTV I'd say - ditch the routing of the 1/4" and we just sand the edges
190117 14:30:54 > N3LTV : I'd say - ditch the routing of the 1/4" and we just sand the edges
190117 14:30:54 > DN3LTV-9 N3LTV I'd say - ditch the routing of the 1/4" and we just sand the edges
190117 14:30:54 > DN3LTV-9 N3LTV I'd say - ditch the routing of the 1/4" and we just sand the edges
190117 14:30:54 > DN3LTV-9 N3LTV I'd say - ditch the routing of the 1/4" and we just sand the edges
190117 14:31:31 < DN3LTV-9 N3LTV I did 3 base boxes on the last batch from Tadd
190117 14:31:31 > N3LTV : I did 3 base boxes on the last batch from Tadd
190117 14:31:31 > DN3LTV-9 N3LTV I did 3 base boxes on the last batch from Tadd
190117 14:31:31 > DN3LTV-9 N3LTV I did 3 base boxes on the last batch from Tadd
190117 14:31:31 > DN3LTV-9 N3LTV I did 3 base boxes on the last batch from Tadd
190117 14:32:07 < DN3LTV-9 N3LTV back later
190117 14:32:07 > N3LTV : back later
190117 14:32:07 > DN3LTV-9 N3LTV back later
190117 14:32:07 > DN3LTV-9 N3LTV back later
190117 14:32:07 > DN3LTV-9 N3LTV back later
190117 14:32:09 < DN3LTV-9 N3LTV away
190117 14:32:09 > N3LTV : away
190117 14:32:09 > DN3LTV-9 N3LTV away
190117 14:32:09 > DN3LTV-9 N3LTV away
190117 14:32:09 > DN3LTV-9 N3LTV away
190117 14:32:10 | Connecting to Chat Node ZGRU09
190117 14:32:10 > c K4GRU-9
190117 14:32:10 < TADD:KA2DEW-2} Downlink connect needs port number - C P CALLSIGN
190117 14:32:10 | Chat Node K4GRU-9 Disconnected
190117 14:32:37 < DKM4JRH-9 KM4JRH OK, I'll be on my way shortly.
190117 14:32:37 > KM4JRH : OK, I'll be on my way shortly.
190117 14:32:37 > DKM4JRH-9 KM4JRH OK, I'll be on my way shortly.
190117 14:32:37 > DKM4JRH-9 KM4JRH OK, I'll be on my way shortly.
190117 14:32:37 > DKM4JRH-9 KM4JRH OK, I'll be on my way shortly.
log_<DATE>_BBS.txt
This log shows connections, commands, and results done to the BBS service at your node.
BPQTelnetServer.log
Telent is used internally on the Raspberry PI to enable both TARPN standard and operator custom created applications to access the G8BPQ node.
This log shows whenever any process uses Telnet to connect to the G8BPQ Telnet API.
The only API permitting Telnet connection calls for a log-in proceedure which is simplified to make the API easy to use.
The calling application is presented with the local-operator's callsign and requests password p.
In addition to any new or custom applications calling for Telnet, the Telnet interface is used by RX-TARPNSTAT, Neighbor-Port-Association, bbs_checker, linktest, listen, and the tarpn tx command.
Here is a segment of that log for the TADD node.
17/01/2019 10:03:49 6 Disconnected. Bytes Sent = 914 Bytes Received 4
17/01/2019 10:04:20 6 127.0.0.1 User=
17/01/2019 10:04:21 6 127.0.0.1 User=ka2dew
17/01/2019 10:04:22 6 127.0.0.1 Password=p
17/01/2019 10:04:22 6 127.0.0.1 Call Accepted Callsign=KA2DEW
17/01/2019 10:04:25 6 Disconnected. Bytes Sent = 914 Bytes Received 4
17/01/2019 10:04:56 6 127.0.0.1 User=
17/01/2019 10:04:57 6 127.0.0.1 User=ka2dew
17/01/2019 10:04:58 6 127.0.0.1 Password=p
17/01/2019 10:04:58 6 127.0.0.1 Call Accepted Callsign=KA2DEW
17/01/2019 10:05:01 6 Disconnected. Bytes Sent = 914 Bytes Received 4
17/01/2019 10:05:32 6 127.0.0.1 User=
17/01/2019 10:05:33 6 127.0.0.1 User=ka2dew
Note that the BBS is periodically connected to by the bbs_checker application and the TARPN-HOME application.
bbs_checker uses the local-operator's callsign. TARPN-HOME uses the node's callsign.