KINGSQUEAK.ORG & KC2RGW.COM

NBEMS and Packet Radio

A linux packet radio personal message inbox

by on Oct.30, 2011, under NBEMS and Packet Radio

So most of the comments are in the code that explain this. In the old full featured TNC’s there used to be host mode mbox functions so that if someone connected to you and you weren’t there, they could leave you a message.

The PMS utility that used to be in axutils for linux packet seems to have disappeared so I put this hacked Perl script together to provide the basic function I wanted.

The script prompts for a callsign or return email address and accepts the message input. The message is dumped to a plain text file and is emailed to my account the way I have it configured. If email is down, I still get copies of the messages stored locally. You could add something to pop up a message dialog as new files appear or play a system sound etc., pretty flexible.

It’s far from a hardened and secure script, but really I don’t think too much could be done with this considering how and where it is used. Just be aware that it wasn’t done with the intention of having it face the internet.

Link to the file directly is here

Grrr the cut/paste wrecked the code that was here…use the link above to view it in plain text glory.

Comments Off :, , , more...

Linux soundmodem packet unproto mode tips

by on Oct.29, 2011, under Amateur Radio, Monitoring, NBEMS and Packet Radio, Technology

So some more obscurity I tinker with is VHF 1200 baud packet radio. AX.25 network over VHF frequencies. One of the issues with linux soundmodem packet is that there is no integrated way to send unproto mode packets. This mode is used commonly for groups to hold nets or group discussions over packet.

The issue is that the linux ax.25 utils are there to accomplish this, but there isn’t a comfortable unified console to do so. Not being an ace programmer, I figured out a workaround to do just this.

axlisten and beacon via the screen utility in linux for UI mode packet opsShown at right (click to enlarge) is a Konsole terminal window with a ‘screen’ session running in split screen mode. On the top session I am using ‘axlisten -cart’ to capture incoming and outbound packets from my soundmodem on port sm0. In the bottom screen is another shell session using a script wrapper I call ‘upcall’ that wraps the ‘beacon’ utility with port and digi path that it prompts the user for at the start of the session.

This gives you a more friendly prompt waiting for input to send in UI mode while you just monitor the top screen for any traffic you can see.

The nuts and bolts are as follows. You will need all the standard configuration for linux packet, the ax25-utils, and the ‘screen’ utility installed. I’m not covering all there is to getting packet up and running, so go do that first.

Start a screen session. Once in screen you are at a shell prompt, you want to create a second ‘window’ with another prompt instance. Do ctrl-a-c to create that session. Next you want to split the screen horizontally. Do ctrl-a-S (note the S and not ‘s’). Now you have a shell in one windows and a blank area below, next do ctrl-a-n or possibly ctrl-a-p to toggle that blank window to the second shell window you created before.

To move between top and bottom, you do ctrl-a-TAB

Toggle yourself to the top frame and start axlisten with whatever options you prefer. I like the ncurses color option ‘axlisten -cart’ though due to the ncurses, you can’t scroll back the way it was written. If you forego the -c option for monochrome you will be able to scroll back.

Now do ctrl-a-TAB and you will go to the bottom half.

You need to run ‘upcall’ there. The script follows, it’s rough, but it woiks! Save this as whatever you want to call it, I call it ‘upcall’, then make it executable, chmod +x and run it. I have a ~/scripts dir that I keep in my PATH for things like this.


#!/bin/bash
#
#   This is a quickie wrapper around 'beacon' to
#   send UI/unproto mode packets in linux for use
#   in unproto mode 'nets' or just general CQ type
#   chatting on packet radio.
#
#   If you run this with another window (maybe in a
#   split 'screen' session) with axlisten, it's a
#   reasonably graceful solution.
#
#   I hope someone finds this useful
#
#   73 de KC2RGW  29 Oct 2011

clear
echo
echo "Unproto mode beaconing"
echo
echo "   Fill in the information as requested"
echo
echo -n "What port should I use? > "
read PORT
echo -n "What digi? (blank for none) > "
read DIGI
echo -n "What destination callsign? > "
read DEST

if [ "$DIGI"a = "a" ] ; then
        DESTINATION="$DEST"
else
        DESTINATION="$DEST $DIGI"
fi

clear

while [ 0 ] ; do
        echo
        echo "RETURN exits"
        echo
        if [ "$DIGI"a = "a" ] ; then
                echo -n "text to "$DEST"> "
        else
                echo -n "text to "$DEST" via "$DIGI"> "
        fi
        read TEXT

        if [ "$TEXT"a == a ]; then
                break
        fi

        beacon -d "$DESTINATION" -s "$PORT" "$TEXT"
done

This will prompt you for the name of the ax25 port you want to use, in my case it’s ‘sm0′.

Next it asks for the digi you want to use optionally. If you want you can digi through multiple stations for a wide area rebroadcast of your packets. You can do multiples by simply space separating them. An example locally would be “W2LI-2 W2GSA-2″ hit return. If you don’t want a digi, just hit return, leaving this blank.

Last, it asks for the destination call, if you aren’t sure, just put ‘CQ’ which is a pretty standard one. With nets they generally use ARES or RACES etc something to label the packets specific to a group interest.

When you are done with that, it will drop you to a prompt. Anything you enter, followed by a RETURN, will go out. Sending a blank line with RETURN exits out of upcall.

The ‘screen’ utility will stay running in the background if you don’t exit out of both shells. So type ‘exit’ from the upcall shell, then ctrl-a-TAB to go up to the axlisten window and do ctrl-c to stop that and type exit to drop out of screen finally. ctrl-a-d detaches if that doesn’t get it and you can just do ‘pkill screen’ to kill it off.

If you are using digis with the axlisten command I suggested above, you should see your outgoing packet, and if you can hear the digis properly, and they can hear you, you will see a repeat from both of them.

Remember, unproto mode is broadcast with no confirmation, so if you don’t see them bounce from the digis, you weren’t heard or you were interrupted by other traffic.

I hope this was helpful for someone. Packet radio for me is just this obscure pastime that I seem to dig into a few times a year. I wish more people were still fiddling with it…it’s fun!

Comments Off :, , , more...