N9WIB Notebook


Linux Direwolf RIGblaster Nomic APRS

Direwolf is a software modem. Instead of relying on a hardware terminal node controller the software does the decoding and encoding for you.  My installation will use a Alinco DR-135MK III, RIGblaster Nomic and Direwolf on a Linux Debian OS.

The audio output from the radio external speaker is connected to an external USB sound card via a stero plug. The USB sound card is plugged into a USB port on the computer. The RIGblaster is connected to the front 8-pin microphone jack on the radio, The RIGblaster is connected to a USB port on the computer via a DB9 serial connection. I had to replace the serial to USB cable that came with the RIGblaster which had a Prolific Tech chipset with another one I purchased from Amazon that had an FTDI chipset. The stock cable did not work. The external USB sound card provides the receive audio from the radio. This is how you see incoming packet/APRS traffic. The audio output from the computer (transmitted packets) is also routed through the external USB sound card. Connect a stero plug from the external USB sound card headphone jackc to the stereo audio-in jack on the RIGblaster. The RIGblaster then routes the audio and PTT control through the RJ45 to the mic input on the radio.

Download and Install Direwolf

Radio

I am using an Alinco DR-135MK III. Remove the microphone from the front of the radio and plug in the 8 Pin to RJ-45 cable that was supplied with the RIGblaster. Plug the round 8 pin jack into the radio and the RJ-45 into the Mic Out on the RIGblaster. Connct the 1/8 inch sterio mini-plug supplied by RIGblaster into the external speaker port on the back of the radio. Plug the other end of the 1/8 stereo cord into the supplied USB plug-and-play sound card mic jack. Note this is not the RIGblaster itself it is a seperate cable with an integrated sound card. Plug the USB end into the USB port on your computer.

RIGblaster Nomic

Configure the jumpers on the Nomic for your specific radio. In our case it will be an Alinco

RIGblaster Alinco Jumpers
RIGblaster Nomic Jumper settings for Alinco Radio
RIGBlaster USB Sound Card
RIGBlaster USB Sound Card
RIGblaster Nomic
RIGblaster Nomic

RIGblaster to Computer USB Interface and USB Sound Card

Plug the stereo cable into the headphone jack of the USB Sound Card. Plug the other end into the RIGblaster AUDIO IN jack.

Plug the serial to USB cable that came with the rig blaster into your computer USB port and type...

You should see a new USB device on mine it was ttyUSB0

At the command line type....

This will give you all the information you need about your new USB device ....


[51148.645250] usb 3-1.2.3: new full-speed USB device number 12 using xhci_hcd
[51148.770600] usb 3-1.2.3: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
[51148.770602] usb 3-1.2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[51148.770604] usb 3-1.2.3: Product: USB Serial Converter
[51148.770605] usb 3-1.2.3: Manufacturer: FTDI
[51148.770607] usb 3-1.2.3: SerialNumber: FTDKOMKB
[51148.776604] ftdi_sio 3-1.2.3:1.0: FTDI USB Serial Device converter detected
[51148.776627] usb 3-1.2.3: Detected FT232R
[51148.784827] usb 3-1.2.3: FTDI USB Serial Device converter now attached to ttyUSB0

You may use the ttyUSB0 device name but this may change depending on the sequence of how you plug in your USB devices. It would be best to create a persistent device name for the USB port for this device. So, we need to create a rule by doing the following.....

Add the following to the file above based on the device information you found in dmesg above...

ATTR{idVendor}=="0403", RUN+="/sbin/modprobe -q ftdi_sio", RUN+="/bin/sh -c 'echo 0403 $attr{idProduct} >/sys/bus/usb-serial/drivers/ftdi_sio/new_id'"

SUBSYSTEM=="tty", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",  SYMLINK+="NOMIC"

The first line of code makes sure the FTDI driver is loaded.

The second line creates a symlink or persistent name for the FTDI serial cable.

Note that the idVendor and idProduct are specific to your type of cable. This information can be found when you run sudo dmesg -w or sudo journalctl -f

Unplug the USB device

Restart the services by typing ...

Plug the device back in and then check if it is connected with the new symbolic link

USB Sound Card Interface to Receive Radio Audio

This receives audio from the radio for decoding by Direwolf.  The RigBlaster Nomic takes care of the PTT via the serial connection.

On the command line type the following....

This will list all sound capture devices in your system. The USB sound card that RIGblaster provided is identified below as Card 2 Device 0 or simply 2,0 which you will need for the Direwolf configuration file.

card 4: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0

Configure Direwolf

Edit the direwolf configuration file for your own settings. These are the initial settings I used to get things up and running and beacon my position. Don't forget to uncomment your settings by removing the "#" or they will not be active.

ADEVICE  plughw:4,0

CHANNEL 0

MYCALL N9WIB

MODEM 1200

PTT /dev/NOMIC RTS # note: this may also be /dev/ttyUSB0 RTS if I don't use a persistent Symlink

PBEACON delay=1  every=10 overlay=S symbol="digi" lat=42^58.00N long=089^46.47W power=50 height=20 gain=4 comment="Testing" via=WIDE1-1,WIDE2-1

AGWPORT 8000
KISSPORT 8001

Save the configuration settings above and go back to the command line and type direwolf to start the modem.

You should see the following information on the screen....

Dire Wolf version 1.6
Includes optional support for:  gpsd hamlib cm108-ptt

Reading config file direwolf.conf
Audio device for both receive and transmit: plughw:2,0  (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, E+, 44100 sample rate.
Ready to accept AGW client application 0 on port 8000 ...
Ready to accept KISS TCP client application 0 on port 8001 ...

 

Direwolf Systemd Startup at Boot

create a /et/systemd/system/direwolf.service file

[Unit]
Description=Direwolf
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/screen -S direwolf -d -m /usr/bin/direwolf -c /path/to/direwolf.conf
Restart=always

[Install]
WantedBy=default.target

---------------------

you may need to install "screen" if not already on  your system

you can see the output of direwolf by typeing: sudo screen -r direwolf