Monitoring
Linux soundmodem packet unproto mode tips
by kingsqueak 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.
Shown 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!
QS1R SDR Filtering With Fldigi For PSK And Digi Modes
by kingsqueak on Oct.13, 2011, under Amateur Radio, Monitoring, Technology
Here’s something interesting that I’ve been fiddling with the last several days. Using my QS1R SDR receiver with fldigi for digi modes on the ham bands.
The QS1R is a DDC type SDR (software defined radio) receiver. A very powerful, software based receiver.
Fldigi is an open source digital mode software ‘modem’ that is used to receive and also transmit text in many different mode types. Essentially it takes an audio stream passed from a receiver and tunes and demodulates various types of transmission types within that tuned pass band.
SDRMax is the software interface to the QS1R receiver. The receiver has nothing but power, audio and USB data connections on an otherwise blank looking project enclosure. SDRMax is the user interface.
The whole system is running native compiled for Ubuntu 10.04 LTS 64 bit.
What is being shown is the following.
The QS1R is connected to the IF-tap output on a Kenwood TS-2000 transceiver. I made my own IF-tap modification following the document that AK2F published. I used a Clifton Labs buffer amp circuit to isolate the IF-tap from any external interference.
I aligned the QS1R with the IF frequency of the radio, which is roughly 10.7 MHz, so the readout you see is the frequency that is actually the IF frequency of the Kenwood. This has to be done carefully against WWV and is a bit tedious initially.
So the Kenwood is just acting as a transmitter, with the QS1R being the receiver (I run AGC off, pre-amp off and RF gain nearly off on the Kenwood as the Clifton amp has plenty of gain already).
The QS1R audio output is piped into fldigi as the capture device for decoding the tuned audio passband. Fldigi processes this and upon transmitting, sends its output to a Tigertronics Signalink USB and in turn into the Kenwood for transmit.
The whole reason for plumbing all of this is to gain the extreme filtering power of my SDR receiver. Compared to the stock filtering of the Kenwood (which is already pretty decent) it is a night and day improvement.
The two images (click to enlarge) were snapped at nearly the same time. The top image shows typical mid-day 10m activity (10m has been very open lately). All the vertical lines you see in both fldigi on the left and SDRMax in turquoise to the right are individual PSK-31 signals. If you click one in fldigi, it will begin to decode the text being sent.
The issue is, they are all so close together that with unfiltered rigs or rigs with lousy filtering, you can lose the contact when a nearby strong signal pops up.
The bottom image is showing the effect of the filtering capability of my QS1R receiver. All you can see is a single signal, all the adjacent signals are just blacked out. This is a remarkable feat and will be immediately evident to any regular digi mode operator.
The filtering can be moved anywhere along the waterfall and can be adjusted in 1Hz steps on either side of the desired signal. The filter edges can be clicked and dragged with the mouse or can be adjusted with the mouse scroll wheel in variable step sizes. The image actually shows the filter about twice the width it needs to be but I wanted to illustrate how sharp the filter edges are in contrast with the background waterfall.
Since I have disabled AGC and any pre-amp in the rig, I’m using the AGC built into SDRMax. The old issue of AGC swamping from nearby strong signals is all but eliminated by the design of the SDR software.
As you can tell, I’m very pleased with the results and highly recommend fiddling with SDR in its many forms to any amateur radio op.
Make old DOS apps run on new hardware with DOSbox!
by kingsqueak on Mar.19, 2010, under Amateur Radio, Monitoring, Technology
What is dosbox? DOSbox home page
It is a free/open-source DOS emulator that runs on many operating systems.
It runs DOS inside a virtual machine in a much more true native mode than running a DOS command window inside Windows XP.
What does this do? It allows for old original DOS software including radio programming interfaces to run on current computer operating systems or hardware.
The issue it fixes is that many old DOS applications relied on the speed of the machine running it for handling timing and interrupts. On current hardware, this means the old software runs too fast and is unreliable.
Also, old DOS software wasn’t aware of things like USB to serial adapters and other new hardware.
This software allows you to create virtual bridges between a new serial port USB device and old ‘com1′ only DOS software.
What have I tested it with so far?
I’ve used the CE14 software for Vertex LMR radios inside DOSbox and it make it work perfectly. Whereas with Windows XP on a 1+GHz laptop, it would run, but not function properly.
You can tell you have a problem this may fix, when the software runs, but you don’t get actual read/write performance to the device you are programming. This can cause a lot of errors with the hardware and possibly even brick the firmware if you aren’t careful.
So, go get it…
Go to http://www.dosbox.com/ and download whatever version you need for the platform you are running it on. Follow the basic download and install instructions.
After install…now what?
So you have it up and running now. These are the steps using a USB serial adapter and programming software.
First, you need to map your com port, using Windows XP as an example. The USB adapter is com4 , you can find this in Windows device mgr, right click on My Computer and select ‘manage’ and then ‘device manager’ and inside there, LPT and com ports. You will see your USB device in there if the driver is properly installed and the com port number it has.
So to set/map the com4 in Windows XP to com1 inside of dosbox while it is running do the following
Z:\>serial1=directserial realport:com4
This will make com1 inside dosbox map to com4 in Windows XP directly.
Next you have to ‘mount’ your path to your programming software. To make this very easy, I just copied my folders for CE14 into the root of C:\ as in C:\CE14\ that is where CE14.EXE lives.
The command to mount inside dosbox is
Z:\>mount c c:\ce14\
This is specific for me as c:\ce14\ is where my software is, replace this with whatever you have, wherever you put it.
Now to get to that location you just do
Z:\>c:
Now you see C:\> as the prompt
C:\>dir
Will show you what is in there. In my case I see all the CE14.* files so I do
C:\>CE14.exe
Now the software runs.
The only thing left to know, is you need to go into whatever app you are using and tell it that the serial port to use is ‘com1′ as that is what we mapped earlier.
DOSbox allows you to map serial1 serial2 serial3 serial4 to four external serial devices, they are treated as com1 com2 com3 and com4 respectively.
You can also map multiple paths to multiple ‘local’ DOSbox ‘drives’
mount c c:\path1\
mount d c:\path2\
At the prompt to switch around you would just enter c: or d: and you’ll toggle between the paths. Just typing ‘mount’ will list what you have configured.
There are a bunch of neat features to control slow down and speed up within DOSbox so definitely check out the documentation links on their site and also try the Z:\>info command as it has a bunch of on line help within the application itself.
The immediate applications for this are with old DOS based radio programming software for LMR radios, but I can imagine that many crusty DOS based packet radio apps and other things will run a lot better in it too. I’m not much of a gamer, but it’s evidently quite effective for that as well.
I think this should cover it.
73 de KC2RGW
