Chapter 1: Intro to Packet Radio in the modern age with Direwolf

     Packet radio could be awesome.   By packet radio I do not mean APRS.  If APRS is your thing, you will also benefit from this document.  Consider if you would, the resurgance of BBS's now popping up everywhere, having replaced dial-up with telnet, and still allowing connectivity on antique computers using TCPSER as a conduit.

    Up until now, there have been issues with getting going on packet radio.  First was cost.  Does anyone really want to spend hundreds of dollars on a TNC in the hopes of finding someone else on the air who did the same thing.  Secondly, looking at 15 year old pages of ancient AX25 implementations on the web can be disheartening.  You could not be blamed for making an attempt and quickly giving up on unsupported code from 1.x kernels running under motif, followed by page after page of contradictory information.





     As far as bad documentation goes on the internet, ham radio operators are within the technical realms, the number one offenders.  Thankfully, the ability for domains to expire when not renewed, or entire companies like geocities, going out of business has removed a great deal of these pages.

     It may have occurred  to more than a few ham operators who have grown tired of sending and receiving the same old automated messages in PSK or falling asleep in front of JT65, that they are sitting ontop of a 300/1200/9600 baud modem over the air at their disposal.  This to me sounds way more interesting than the weather in Topeka, KS.  Ham radio has stagnated, mostly because of lazyness.  Yes, JT65 will get you distance to bolster your numbers on Eqsl.  For what? Look at 20M on any given day.  The last of the working hams are on the bottom of the band in CW land (where I am).  99% of the rest is at 14.070 or 14.076 with almost nothing in-between till you hit SSB voice.

If you feel personally insulted by this, click here and continue no further.


     Consider that 300 baud for HF isn't really fast.  Its a lot faster than PSK31 and 50 fold that of JT65.  Now consider that you could hit BBS's or networks on the other side of the planet!!!

Take into account 9600 baud on VHF, you could be connecting to a BBS with full ANSI graphic support. 


     The concept of the softwareTNC is nothing new.  In the last few years i've found that the performance, configuration and documentation of these programs to be sub par and difficult to implement.  Then came along WB2OSZ and created the Dire Wolf project.  This is by far the most complete and concise system for getting packet going on your computer for little or no cost.  The current release is dated December 2014 and is actively developed.  This works directly with well known software such as:


  • FLDIGI (latest release supports KISS!!!!)
  • Xastir
  • LinPac (apparently back in development at ver 2.0)
  • YAAC
  • APRCISCE/32
  • UI-View32
  • Synchronet BBS
  • Anything else that supports AX.25 as either serial or over localhost tcp ports



    To demonstrate the ease in which I can configure up a baseline system, I will show the following and easiest example.  All work shown, from start to finish.  I've tried to include Windows specific references where needed, but I don't have a Windows machine.  In the example we will use a known APRS frequency for instant packet receiving satisfaction.



Hardware:

1. Laptop - Running Ubuntu 14.10
2. Radio  - Yaesu FT-817
3. Male to Male stereo headphone cable
4. Arrow Jpole 2m-440 Antenna
5. Sound Blaster SBX USB sound card

***NOTE*** Number 5 is optional, I always use a usb sound card when connection other than a microphone to my laptop.  I would rather accidentally overdrive a 30$ sound card than a 1300$ laptop. Also I down want to have to play around with the laptop sound settings and configurations when I can separately configure the usb sound card.  Furthermore, with Ubuntu, you may be running a pulse audio server which would complicate the sound configuration, having a USB sound card would eliminate this issue.  Configuring your onboard soundcard with direwolf may show device or resource busy on startup with pulse audio.



Software:

If you are running Ubuntu or any other Debian variant, there are 2 packages to install.   These packages are not included in 14.10 but appear to exist in the upcoming 15.04.  This is not an issue.
The windows version is much easier to install. Here is the link for the Windows version.

Linux Ubuntu/Debian:

Click on this link to bring up the repository page

on the bottom you will see for Vivid Vervet dire wolf release 1.0-2 , click the arrow and the packages will be displayed below.  Or you can click the links Ive provided:


direwolf-docs_1.0-2_all.deb     [Everyone download this]

direwolf_1.0-2_i386.deb          [Download this if you run 32bit]

direwolf_1.0-2_amd64.deb      [Download this if you run 64bit]


Ubuntu will open an installation manager when you click on the downloaded file.  You must install the dire wolf-docs first, then install the dire wolf package.  This is because the docs package is a required dependency of dire wolf.

You can also sudo apt-get install filename.deb from the command line.


Please see the link to the Direwolf project at the top of this page for installation on Windows or self compiling.  Neither of which is difficult to do with Direwolf.


Universal Config file: Windows / Linux

Windows only: direwolf.conf is in the same directory as the direwolf software,  and can be found on page 27 of the Instruction Guide.

Linux Ubuntu / Debian only: Click on this link and save it to your home directory and call it direwolf.conf   Open it in your favorite editor!!!!  we just need to make a few changes.  Sound card and Callsign.

Note that when compiling from source, direwolf.conf is included in the package and need not be downloaded.


Time to configure the sound card.

The sound card config for windows is also easy and can be found on page 26 of the Instruction Guide.


For linux:

Open a terminal window and type arecord -l

**** List of CAPTURE Hardware Devices ****
card 1: PCH [HDA Intel PCH], device 0: ALC269VC Analog [ALC269VC Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: Pro [Sound Blaster X-Fi Go! Pro], device 0: USB Audio [USB Audio]
  Subdevices: 0/1
  Subdevice #0: subdevice #0



We see the following cards in this information:

Onboard card  : PCH  / Device 0
The USB card : Pro    / Device 0

Notice my second sound, the most important piece of info is the word directly after card 2:

Pro

This is case sensitive, keep this in mind!!!! Ill show you why


In the direwolf.conf file scroll down to the following line in AUDIO DEVICE PROPERTIES


# ADEVICE  plughw:CARD=Device,DEV=0


Remove the hash and change the card name to the one you want, in my case, Pro

ADEVICE  plughw:CARD=Pro,DEV=0

A further reading about linux sound card configuration can be found on page 27 of the Instruction Guide.

Now we will need to scroll down to: CHANNEL 0 PROPERTIES to add a callsign....


MYCALL NOCALL 

and replace the NOCALL with your call, in my case

MYCALL KJ4TLB

Then scroll down to CHANNEL 1 PROPERTIES and do the same


Save it and close it!!!!!!!!



     At this point, everything is configured for receive only, and actually mostly configured for transmit as well.  We won't be getting into transmit though.


You can set the radio to either RFGAIN or squelch.  It doesn't matter, Direwolf will function on both. I use RFGAIN because I can, and may allow you to hear weaker further stations

Frequency is 144.390.00 FM

You should hear packet radio transmissions coming out of the speaker at this point.

Now plug the headphone jack into the sound card and the radio.


From a terminal window, type direwolf

In Windows click the dire wolf icon

Dire Wolf version 1.0a
Audio device for both receive and transmit: plughw:CARD=Pro,DEV=0
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, C, 44100 sample rate.
Ready to accept AGW client application on port 8000 ...
Ready to accept KISS client application on port 8001 ...
Use -p command line option to enable KISS pseudo terminal.




 Shortly thereafter, if there is traffic you will see scrolling down the screen.....



Dire Wolf version 1.0a
Audio device for both receive and transmit: plughw:CARD=Pro,DEV=0
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, C, 44100 sample rate.
Ready to accept AGW client application on port 8000 ...
Ready to accept KISS client application on port 8001 ...
Use -p command line option to enable KISS pseudo terminal.

W4MCO-10 audio level = 49   [NONE]   
[0] W4MCO-10>APND13,WIDE2-1:>DIGI_NED: W4MCO-10 digipeater in Winter Park, FL<0x0d>

Status Report, motorcycle, DIGI_NED
DIGI_NED: W4MCO-10 digipeater in Winter Park, FL


Digipeater WIDE2 (probably WC4PEM-14) audio level = 68   [NONE]   
[0] VE1ACA-12>RXQU1Y,KG4EOC-1,WC4PEM-14,WIDE2*:`m/<0x1d>l_,>/"4'}

MIC-E, normal car (side view), Off Duty
N 28 15.1900, W 081 19.0100, 7 MPH, course 316, alt 52 ft


Digipeater N4FLA-3 audio level = 75   [NONE]   
[0] K4OSM-9>RY1R6T,N4FLA-3*,WIDE2-1:`n^/n]k>/`"46}_"<0x0d>

MIC-E, normal car (side view), Yaesu FTM-350, En Route
N 29 12.6400, W 082 06.1900, 30 MPH, course 179, alt 102 ft


Digipeater WIDE2 (probably WC4PEM-14) audio level = 68   [NONE]   
[0] K4OSM-9>RY1R6T,N4FLA-3,WC4PEM-14,WIDE2*:`n^/n]k>/`"46}_"<0x0d>

MIC-E, normal car (side view), Yaesu FTM-350, En Route
N 29 12.6400, W 082 06.1900, 30 MPH, course 179, alt 102 ft


Digipeater WIDE2 (probably WC4PEM-10) audio level = 75   [NONE]   
[0] VE1ACA-12>RXQU1Y,KG4EOC-1,WC4PEM-10,WIDE2*:`m/<0x1d>l_,>/"4'}

MIC-E, normal car (side view), Off Duty
N 28 15.1900, W 081 19.0100, 7 MPH, course 316, alt 52 ft




If you see red colored messages about audio level being too high, make slight adjustments on the AF volume knob to reduce it.


In the next chapter, I will show how to connect applications to the available 8000/8001 ports







  

1 comment:

  1. Nice. What other modems does it support?
    Q15X25
    G3RUH
    Mill spec open source
    Etc???
    de vk4akp

    ReplyDelete