These configuration files work on the current version of Ubuntu Linux. I make no promises that they will work in the future or on any other version. If you find on obvious error, or find a better way to do something, please let me know. I do allow comments on the site but they are moderated and require a user login.

The first thing I had to do was to make sure both the USB names for the radio and the Alsa sound device names were a constant. So, first the usb-dev in /etc/udev/rules.d

/etc/udev/rules.d/50-usb-serial.rules


SUBSYSTEM==”tty”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6015″, SYMLINK+=”FT-840-CAT”
SUBSYSTEM==”tty”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″, SYMLINK+=”FT-818-CAT”
SUBSYSTEM==”tty”, ATTRS{idVendor}==”067b”, ATTRS{idProduct}==”23a3″, SYMLINK+=”FT-150″
SUBSYSTEM==”tty”, KERNELS==”3-2.1:1.0″, SYMLINK+=”FT-710-CAT-1″
SUBSYSTEM==”tty”, KERNELS==”3-2.1:1.1″, SYMLINK+=”FT-710-CAT-2″
SUBSYSTEM==”tty”, ATTRS{idVendor}==”051d”, ATTRS{idProduct}==”0002″, SYMLINK+=”UPS-APC1350″

Then the Alsa sound file name, again in /etc/udev/rules.d

/etc/udev/rules.d/99-my-audio-names.rules

SUBSYSTEM=="sound", KERNELS=="pci-0000:05:00.4-usb-0:1.3:1.0", ATTR{id}="HF_SL"
SUBSYSTEM=="sound", ATTRS{idVendor}=="0d8c", ATTRS{idProduct}=="0013", ATTR{id}="FT710"

Then we have to start rigctld with the rigctld-710.service file in /usr/lib/systemd/system/rigctld-710.service

/usr/lib/systemd/system/rigctld-710.service

[Unit]
Description=rigctld Hamradio rig controler ft818
After=syslog.target network.target
[Service]
Type=simple
#ExecStart=/usr/local/bin/rigctld -m 1049 -r /dev/ttyUSB4 -t 4534 -s 38400
ExecStart=/usr/bin/rigctld -m 1049 -r /dev/FT-710-CAT-1 -t 4532 -s 38400 --set-conf=data_bits=8,stop_bits=1,serial_parity=None,serial_handshake=None
 -D NONE -vvv
ExecReload=/bin/kill -HUP $MAINPID
RestartSec=60
Restart=always
User=root
Group=root
[Install]
WantedBy=multi-user.target

Make sure you enable that with systemctl enable rigctld-710.service and then start it with service rigctld-710 start.

Finally, we have to start direwolf, but the the configuration file that works for me is in /etc/direwolf.conf

#############################################################
#                                                           #
#               Configuration file for Dire Wolf            #
#                                                           #
#                   Linux version                           #
#                   Windows version                         #
#                   Macintosh version                       #
#                                                           #
#############################################################
#
#
#	The sample config file was getting pretty messy
#	with the Windows and Linux differences.
#	It would be a maintenance burden to keep most of
#	two different versions in sync.
#	This common source is now used to generate the 
#	two different variations while having only a single
#	copy of the common parts.
#
#	The first column contains one of the following:
#
#		R	remark which is discarded.
#		C	common to both versions.
#		W	Windows version only.
#		L	Linux version only.
#		M	Macintosh version and possibly others (portaudio used).
#
#
# Consult the User Guide for more details on configuration options.
#
#
# These are the most likely settings you might change:
#
#	(1)   	MYCALL 	-  call sign and SSID for your station.
#
#			Look for lines starting with MYCALL and 
#			change NOCALL to your own.
#
#	(2)	PBEACON	-  enable position beaconing.
#
#			Look for lines starting with PBEACON and 
#			modify for your call, location, etc.
#
#	(3)	DIGIPEATER  -  configure digipeating rules.
#
#			Look for lines starting with DIGIPEATER.
#			Most people will probably use the given example.
#			Just remove the "#" from the start of the line
#			to enable it.
#
#	(4)	IGSERVER, IGLOGIN  - IGate server and login
#
#			Configure an IGate client to relay messages between 
#			radio and internet servers.
#
#
# The default location is "direwolf.conf" in the current working directory.
# On Linux, the user's home directory will also be searched.
# An alternate configuration file location can be specified with the "-c" command line option.  
#
# As you probably guessed by now, # indicates a comment line.
#
# Remove the # at the beginning of a line if you want to use a sample
# configuration that is currently commented out.
#
# Commands are a keyword followed by parameters.
#
# Command key words are case insensitive.  i.e. upper and lower case are equivalent.
#
# Command parameters are generally case sensitive.  i.e. upper and lower case are different.
#
LOGFILE /usr/local/bpq32/logs/direwolf.log
#LOGDIR .\logs\
#############################################################
#                                                           #
#               FIRST  AUDIO DEVICE PROPERTIES              #
#               (Channel 0 + 1 if in stereo)                #
#		THIS IS VHF APRS / PACKET		    #
#                                                           #
#############################################################
ADEVICE plughw:1,0
ACHANNELS 1
#############################################################
#                                                           #
#               CHANNEL 0 PROPERTIES VHF APRS               #
#                                                           #
#############################################################
CHANNEL 0
MODEM 1200
# 


#############################################################
#                                                           #
#               SECOND AUDIO DEVICE PROPERTIES              #
#               (Channel 2 + 3 if in stereo)                #
#                                                           #
#############################################################
#ADEVICE1  plughw:3,0
ADEVICE1  plughw:FT710,0
FX25TX 1
ACHANNELS 2
#PTT RIG 2 localhost:4532
#############################################################
#                                                           #
#               CHANNEL C PROPERTIES NET105                 #
#                                                           #
#############################################################
CHANNEL 2
MODEM 300 900:1100 E
PTT RIG 2 localhost:4532
#TXDELAY 40
#TXTAIL 40
# 

#############################################################
#                                                           #
#               THIRD AUDIO DEVICE PROPERTIES               #
#               (Channel 4 + 5 if in stereo)                #
#                                                           #
#############################################################
#ADEVICE2 plughw:3,0
#FX25TX 1
#ACHANNELS 1
#############################################################
#                                                           #
#               CHANNEL E PROPERTIES                        #
#              HF Packet Robust                            #
#############################################################
#CHANNEL 4
#MODEM 300 1900:2100 E
#TXDELAY 25
#TXTAIL 30


#############################################################
#          `                                                #
#               FOURTH AUDIO DEVICE PROPERTIES              #
#               (Channel 6 + 7 if in stereo)                #
#                                                           #
#############################################################
#ADEVICE3  plughw:3,0
#IL2PTX
#ACHANNELS 1
#############################################################
#                                                           #
#               CHANNEL F PROPERTIES                        #
#                 HF PACKET IL2OPTX                         #
#############################################################
#CHANNEL 6
#MODEM 300 2150:2350 E
#MYCALL KO4YAW-6
#MODEM 1200
#TXDELAY 40
#TXTAIL 40
#DTMF
# 
#

#############################################################
#                                                           #
#               TEXT TO SPEECH COMMAND FILE                 #
#                                                           #
#############################################################


#SPEECH dwespeak.sh

#############################################################
#                                                           #
#               VIRTUAL TNC SERVER PROPERTIES               #
#                                                           #
#############################################################

#
# Dire Wolf acts as a virtual TNC and can communicate with
# client applications by different protocols:
#
#	- the "AGW TCPIP Socket Interface" - default port 8000
#	- KISS protocol over TCP socket - default port 8001
#	- KISS TNC via pseudo terminal   (-p command line option)
#

AGWPORT 8205
KISSPORT 8100


#
# It is sometimes possible to recover frames with a bad FCS.
# This applies to all channels.  
#
#	0  [NONE] - Don't try to repair.
#	1  [SINGLE] - Attempt to fix single bit error.  (default)
#	2  [DOUBLE] - Also attempt to fix two adjacent bits.
#	... see User Guide for more values and in-depth discussion.
#
FIX_BITS 0
#	
#############################################################
#                                                           #
#               BEACONING PROPERTIES                        #
#                                                           #
#############################################################

#
# Beaconing is configured with these two commands:
#
#	PBEACON		- for a position report (usually yourself)
#	OBEACON		- for an object report (usually some other entity)
#
# Each has a series of keywords and values for options.  
# See User Guide for details.
#
# Example:
#
# This results in a broadcast once every 10 minutes.
# Every half hour, it can travel via two digipeater hops.
# The others are kept local.
#

#PBEACON delay=1  every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA" via=WIDE1-1,WIDE2-1 
#PBEACON delay=11 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA"  
#PBEACON delay=21 every=30 overlay=S symbol="digi" lat=42^37.14N long=071^20.83W power=50 height=20 gain=4 comment="Chelmsford MA"  

# With UTM coordinates instead of latitude and longitude.

#PBEACON delay=1 every=10 overlay=S symbol="digi" zone=19T easting=307477 northing=4720178 

#
# When the destination field is set to "SPEECH" the information part is
# converted to speech rather than transmitted as a data frame.
#

#CBEACON dest="SPEECH" info="Club meeting tonight at 7 pm."

# Similar for Morse code.  If SSID is specified, it is multiplied
# by 2 to get speed in words per minute (WPM).

#CBEACON dest="MORSE-6" info="de KM4ACK"

#
# Modify for your particular situation before removing 
# the # comment character from the beginning of appropriate lines above.
# 

#############################################################
#                                                           #
#               DIGIPEATER PROPERTIES                       #
#                                                           #
#############################################################

#
# For most common situations, use something like this by removing
# the "#" from the beginning of the line below.  
#

#DIGIPEAT 0 0 ^WIDE[3-7]-[1-7]$|^TEST$ ^WIDE[12]-[12]$ TRACE 

# See User Guide for more explanation of what this means and how
# it can be customized for your particular needs.
 
# Filtering can be used to limit was is digipeated.
# For example, only weather weather reports, received on channel 0,
# will be retransmitted on channel 1.
#

#FILTER 0 1 t/wn 


#############################################################
#                                                           #
#               INTERNET GATEWAY                            #
#                                                           #
#############################################################

# First you need to specify the name of a Tier 2 server.  
# The current preferred way is to use one of these regional rotate addresses:

#	noam.aprs2.net 		- for North America
#	soam.aprs2.net		- for South America
#	euro.aprs2.net		- for Europe and Africa
#	asia.aprs2.net 		- for Asia
#	aunz.aprs2.net		- for Oceania 

# IGSERVER noam.aprs2.net
# You also need to specify your login name and passcode. 
# Contact the author if you can't figure out how to generate the passcode.
 
IGLOGIN KKKKK (change KKKK to your callsign) XXXXXXX (Change XXX'S to your own passcode

# That's all you need for a receive only IGate which relays
# messages from the local radio channel to the global servers.

# Some might want to send an IGate client position directly to a server
# without sending it over the air and relying on someone else to 
# forward it to an IGate server.  This is done by using sendto=IG rather
# than a radio channel number. Overlay R for receive only, T for two way.

# PBEACON sendto=IG delay=0:30 every=30:00 symbol="igate" overlay=R lat=27^49.93N long=081^30.91W 
#PBEACON sendto=IG delay=0:30 every=60:00 symbol="igate" overlay=T lat=42^37.14N long=071^20.83W 

# To relay messages from the Internet to radio, you need to add
# one more option with the transmit channel number and a VIA path.

#IGTXVIA 0 WIDE1-1

# You might want to apply a filter for what packets will be obtained from the server.
# Read about filters here:  http://www.aprs-is.net/javaprsfilter.aspx
# Example, positions and objects within 50 km of my location:

#IGFILTER m/50 

# That is known as a server-side filter.  It is processed by the IGate server.
# You can also apply local filtering to limit what will be transmitted on the 
# RF side.  For example, transmit only "messages" on channel 0 and weather 
# reports on channel 1. 

#FILTER IG 0 t/m
#FILTER IG 1 t/wn

# Finally, we don't want to flood the radio channel.  
# The IGate function will limit the number of packets transmitted 
# during 1 minute and 5 minute intervals.   If a limit would 
# be exceeded, the packet is dropped and message is displayed in red.

# IGTXLIMIT 6 10

#############################################################
#                                                           #
#               APRStt GATEWAY                              #
#                                                           #
#############################################################

#
# Dire Wolf can receive DTMF (commonly known as Touch Tone)
# messages and convert them to packet objects.
#
# See separate "APRStt-Implementation-Notes" document for details.
#

#
# Sample gateway configuration based on:
#
#	http://www.aprs.org/aprstt/aprstt-coding24.txt
#	http://www.aprs.org/aprs-jamboree-2013.html
#

# Define specific points.

#TTPOINT  B01  37^55.37N  81^7.86W  			
#TTPOINT  B7495088  42.605237  -71.34456		
#TTPOINT  B934  42.605237  -71.34456			

#TTPOINT B901  42.661279  -71.364452 
#TTPOINT B902  42.660411  -71.364419 
#TTPOINT B903  42.659046  -71.364452 
#TTPOINT B904  42.657578  -71.364602 

# For location at given bearing and distance from starting point.

#TTVECTOR  B5bbbddd  37^55.37N  81^7.86W  0.01  mi

# For location specified by x, y coordinates.

#TTGRID   Byyyxxx    37^50.00N  81^00.00W  37^59.99N  81^09.99W   

# UTM location for Lowell-Dracut-Tyngsborough State Forest.

#TTUTM  B6xxxyyy  19T  10  300000  4720000

# Location for the corral.

#TTCORRAL   37^55.50N  81^7.00W  0^0.02N

# Compact messages - Fixed locations xx and object yyy where 
#   	Object numbers 100 - 199	= bicycle	
#	Object numbers 200 - 299	= fire truck
#	Others				= dog

#TTMACRO  xx1yy  B9xx*AB166*AA2B4C5B3B0A1yy
#TTMACRO  xx2yy  B9xx*AB170*AA3C4C7C3B0A2yy
#TTMACRO  xxyyy  B9xx*AB180*AA3A6C4A0Ayyy

#TTMACRO  z  Cz

# Receive on channel 0, Transmit object reports on channel 1 with optional via path.
# You probably want to put in a transmit delay on the APRStt channel so it
# it doesn't start sending a response before the user releases PTT.
# This is in 10 ms units so 100 means 1000 ms = 1 second.

#TTOBJ 0 1 WIDE1-1
#CHANNEL 0
#DWAIT 100

# Advertise gateway position with beacon.

# OBEACON DELAY=0:15 EVERY=10:00 VIA=WIDE1-1 OBJNAME=WB2OSZ-tt SYMBOL=APRStt LAT=42^37.14N LONG=71^20.83W COMMENT="APRStt Gateway"  


# Sample speech responses.
# Default is Morse code "R" for received OK and "?" for all errors.

#TTERR  OK               SPEECH  Message Received.
#TTERR  D_MSG            SPEECH  D not implemented.
#TTERR  INTERNAL         SPEECH  Internal error.
#TTERR  MACRO_NOMATCH    SPEECH  No definition for digit sequence.
#TTERR  BAD_CHECKSUM     SPEECH  Bad checksum on call.
#TTERR  INVALID_CALL     SPEECH  Invalid callsign.
#TTERR  INVALID_OBJNAME  SPEECH  Invalid object name.
#TTERR  INVALID_SYMBOL   SPEECH  Invalid symbol.
#TTERR  INVALID_LOC      SPEECH  Invalid location.
#TTERR  NO_CALL          SPEECH  No call or object name.
#TTERR  SATSQ            SPEECH  Satellite square must be 4 digits.
#TTERR  SUFFIX_NO_CALL   SPEECH  Send full call before using suffix.

Once that is saved and customized to what your needs are start direwolf. On Ubuntu direwolf will install with a service file and it will look for the configuration in /etc/direwolf. Just issue a “service direwolf start” and you can see what it is doing by “tail -f /var/log/syslog”

I am not going to post the whole linbpq32 configuration on this page as I am still tweeking it. Please note, the above direwolf file does not include any APRS configuration. I handle that though BPQ32.

I am not an expert on this and always willing to learn new things so please let me know if you see something I don’t.