Topics

Configuring W3DJS V1.0 Direwolf questions.


Dennis Blanchard
 

I have the W3DJS V1.0 package running on a Raspberry Pi, 3. So far, so good, I have WSJT-x and Fldigi running. I'd like to set up Direwolf so that it works something like my old KPC-2 Kantronics TU. With the Kantronics, I could get on two meter packet and issue a "C calletter" command and connect to local digipeaters.

I haven't been able to successfully make it receive or transmit. I left it running for a while yesterday and it must have been really exercising the CPU because the thermometer popped up on the screen, so I killed Direwolf. It had a message in red, but I didn't capture it. Something about I should use the Linux command "top" to check CPU usage.

The Direwolf login text says something about: "gpsd hamlib cm108-ptt"  I would imagine that it should say something about the FT817, but doesn't.

So, do I have to enable something like Linpac so I can type commands to Direwolf and the radio packet tool?

Here is the config file, the Direwolf login screen text is at the bottom:
#############################################################
#                                                           #
#               Configuration file for Dire Wolf            #
#                                                           #
#                   Linux version                           #
#                                                           #
#############################################################
#
# 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.
#
#############################################################
#                                                           #
#               FIRST AUDIO DEVICE PROPERTIES               #
#               (Channel 0 + 1 if in stereo)                #
#                                                           #
#############################################################
#
# Many people will simply use the default sound device.
# Some might want to use an alternative device by choosing it here.
#
# Linux ALSA is complicated.  See User Guide for discussion.
# To use something other than the default, generally use plughw
# and a card number reported by "arecord -l" command.  Example:
 
ADEVICE  plughw:1,0
 
# Starting with version 1.0, you can also use "-" or "stdin" to
# pipe stdout from some other application such as a software defined
# radio.  You can also specify "UDP:" and an optional port for input.
# Something different must be specified for output.
 
# ADEVICE - plughw:1,0
# ADEVICE UDP:7355 default
#
# Number of audio channels for this soundcard:  1 or 2.
#
ACHANNELS 1
#ACHANNELS 2
 
#############################################################
#                                                           #
#               SECOND AUDIO DEVICE PROPERTIES              #
#               (Channel 2 + 3 if in stereo)                #
#                                                           #
#############################################################
 
#ADEVICE1  ...
 
#############################################################
#                                                           #
#               THIRD AUDIO DEVICE PROPERTIES               #
#               (Channel 4 + 5 if in stereo)                #
#                                                           #
#############################################################
 
#ADEVICE2  ...
 
#############################################################
#                                                           #
#               CHANNEL 0 PROPERTIES                        #
#                                                           #
#############################################################
 
CHANNEL 0
 
#
# The following MYCALL, MODEM, PTT, etc. configuration items
# apply to the most recent CHANNEL.
#
 
#
# Station identifier for this channel.
# Multiple channels can have the same or different names.
#
# It can be up to 6 letters and digits with an optional ssid.
# The APRS specification requires that it be upper case.
#
# Example (don't use this unless you are me):  MYCALL WB2OSZ-5
#
 
MYCALL K1YPP-5
 
#
# Pick a suitable modem speed based on your situation.
# 1200 Most common for VHF/UHF.  Default if not specified.
# 300 Low speed for HF SSB.
# 9600 High speed - Can't use Microphone and Speaker connections.
#
# In the simplest form, just specify the speed.
#
 
MODEM 1200
#MODEM 300
#MODEM 9600
 
#
# These are the defaults should be fine for most cases.  In special situations,
# you might want to specify different AFSK tones or the baseband mode which does
# not use AFSK.
#
#MODEM 1200 1200:2200
#MODEM 300  1600:1800
#MODEM 9600 0:0
#
#
# On HF SSB, you might want to use multiple demodulators on slightly different
# frequencies to compensate for stations off frequency.  Here we have 7 different
# demodulators at 30 Hz intervals.  This takes a lot of CPU power so you will
# probably need to reduce the audio sampling rate with the /n option.
 
#MODEM 300 1600:1800 7@30 /4
 
#
# Uncomment line below to enable the DTMF decoder for this channel.
#
 
#DTMF
 
#
# If not using a VOX circuit, the transmitter Push to Talk (PTT)
# control is usually wired to a serial port with a suitable interface circuit.
# DON'T connect it directly!
#
# For the PTT command, specify the device and either RTS or DTR.
# RTS or DTR may be preceded by "-" to invert the signal.
# Both can be used for interfaces that want them driven with opposite polarity.
#
# COM1 can be used instead of /dev/ttyS0, COM2 for /dev/ttyS1, and so on.
#
 
#PTT COM1 RTS
#PTT COM1 RTS -DTR
PTT RIG 1020 /dev/ttyUSB0
 
#
# On Linux, you can also use general purpose I/O pins if
# your system is configured for user access to them.
# This would apply mostly to microprocessor boards, not a regular PC.
# See separate Raspberry Pi document for more details.
# The number may be preceded by "-" to invert the signal.
#
 
#PTT GPIO 25
 
# The Data Carrier Detect (DCD) signal can be sent to the same places
# as the PTT signal.  This could be used to light up an LED like a normal TNC.
 
#DCD COM1 -DTR
#DCD GPIO 24
 
#############################################################
#                                                           #
#               CHANNEL 1 PROPERTIES                        #
#                                                           #
#############################################################
 
#CHANNEL 1
 
#
# Specify MYCALL, MODEM, PTT, etc. configuration items for
# CHANNEL 1.   Repeat for any other channels.
 
#############################################################
#                                                           #
#               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 8000
KISSPORT 8001
 
#
# 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 MYCALL"
 
#
# 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 WB2OSZ-5 123456
 
# 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=60:00 symbol="igate" overlay=R lat=42^37.14N long=071^20.83W
#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.

Here is the Direwolf login text:

Dire Wolf DEVELOPMENT version 1.6 G (Jun 18 2020)
Includes optional support for:  gpsd hamlib cm108-ptt
 
Reading config file direwolf.conf
Audio device for both receive and transmit: plughw:1,0  (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, E+, 44100 sample rate / 3.
Ready to accept AGW client application 0 on port 8000 ...
Ready to accept KISS TCP client application 0 on port 8001 ...
 
c
  

de K1YPP
 


David Ranch
 


Hello Dennis,

I have the W3DJS V1.0 package running on a Raspberry Pi, 3. So far, so good, I have WSJT-x and Fldigi running. I'd like to set up Direwolf so that it works something like my old KPC-2 Kantronics TU. With the Kantronics, I could get on two meter packet and issue a "C calletter" command and connect to local digipeaters.

This discussion would probably better to have on direwolf@groups.io .  Anyway..


I haven't been able to successfully make it receive or transmit. I left it running for a while yesterday and it must have been really exercising the CPU because the thermometer popped up on the screen, so I killed Direwolf.

That's not normal as Direwolf is very light weight.


It had a message in red, but I didn't capture it. Something about I should use the Linux command "top" to check CPU usage.

We need to see the specific errors to give you any specific help.


The Direwolf login text says something about: "gpsd hamlib cm108-ptt"  I would imagine that it should say something about the FT817, but doesn't.

That text is only reporting what features Direwolf was build with.  In this case:
   GPS for obtaining your location
   hamlib for PTT control
   cm108-ptt for asserting PTT on specific sound devices


So, do I have to enable something like Linpac so I can type commands to Direwolf and the radio packet tool?

Direwolf doesn't directly offer any command line interface to create packet connections.  You can use the "call" program from the "ax25apps", you can use Linpac, etc. to create connected packet connections, or use one of the many other Linux or AGW-enabled terminal programs: SV2AGW's ag2term, UZ7HO's easyterm, Outpost's ipserial. etc)



direwolf.conf
--

Direwolf.conf
--
#This seems fine assuming this is the right sound device per "aplay -l" and "arecord -l"
ADEVICE  plughw:1,0

#These are fine
ACHANNELS 1
CHANNEL 0
MYCALL K1YPP-5
MODEM 1200

#This is using Hamlib to assert PTT though I don't know what rig "1020" is.  It's assumed you *already* have CAT
#control already working with your radio using a serial port
PTT RIG 1020 /dev/ttyUSB0
AGWPORT 8000
KISSPORT 8001


Here is the Direwolf login text:

Dire Wolf DEVELOPMENT version 1.6 G (Jun 18 2020)
Includes optional support for:  gpsd hamlib cm108-ptt
 
Reading config file direwolf.conf
Audio device for both receive and transmit: plughw:1,0  (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, E+, 44100 sample rate / 3.
Ready to accept AGW client application 0 on port 8000 ...
Ready to accept KISS TCP client application 0 on port 8001 ...
 
c

I assume this bottom "c" is you trying to give a TNC2-like command line response.  Direwolf doesn't work that way.  See above.  If you really really want a classic TNC-like interface, you can consider configuring Direwolf to wort with LinBPQ32 and then configure it's TNC2 interface emulator.

--David
KI6ZHD


Dennis Blanchard
 

Thanks David, I'll bring it over to the HamPi forum, to be honest, I didn't notice that I had it here and shouldn't have.

73'
Dennis, K1YPP


Dennis Blanchard
 

I'm still not having any success with Direwolf and the Raspberry Pi. I have made some progress though.
It now shows received data in the Direwolf interface. I have set up YAAC  and have a map showing my station and some local stations on 144.390, APRS stations.
I've tried to enable the beacon on YAAC and whenever it tries to transmit, I get the error message:
 
"Hamlib Error: rig_set_ptt command for channel 0 PTT Communication timed out."
 
I'm using the Pi with an FT-817ND, CAT-62 Yaesu cable. The direwolf.conf file has:
PTT RIG 1020 /dev/ttyUSB0
 
I've also tried RIG 1022 and /dev/ttyS0, to no avail. With the ttyS0 there is a Direwolf startup error message, and none with the USB0 device, so it does seem to see the device.
 
The rig does key from FLdigi, FLrig and WSJT-X using /dev/ttyUSB0. It only fails with the Hamlib error in Direwolf.
 
I've entered this same problem on the Ham-Pi group, but it has been several days and there were no responses.
What else could I possibly look at to make this work? I'm so close, but no cigar.
 
Oh, I also tried Xastir and see the same failure message.
 
Thanks...
 
Dennis, K1YPP


David Ranch
 


Hello Dennis,

"Hamlib Error: rig_set_ptt command for channel 0 PTT Communication timed out."
 
I'm using the Pi with an FT-817ND, CAT-62 Yaesu cable. The direwolf.conf file has:
PTT RIG 1020 /dev/ttyUSB0

Did you setup the right access permissions for this serial port?  It seems the Direwolf UserGuide has missed this but assuming you log into your Raspberry Pi as user "k1ypp"  (it's NOT recommended to use the "pi" account), you would do:

   sudo usermod -G dialout k1ypp


Once that's setup, you need either log out of that account and log back in or better yet, just reboot the Rpi.



I've also tried RIG 1022 and /dev/ttyS0, to no avail. With the ttyS0 there is a Direwolf startup error message, and none with the USB0 device, so it does seem to see the device.

Whenever you see errors on the terminal window, please include them in your support request.  Those messages are CRITICAL to give you effective support.


The rig does key from FLdigi, FLrig and WSJT-X using /dev/ttyUSB0. It only fails with the Hamlib error in Direwolf.

Ok.. how are you keying things with Fldigi?  Are you using Flrig?  If so, that's a different method than hamlib.  WSJT-X brings in it's OWN version of Hamlib.  Did you know what version that includes today?

What version of hamlib and hamlib-devel do you have installed?   What version of Direwolf do you have installed?  Does it have Hamlib support built in?   What would be best is you to copy/paste in the output in the terminal when Direwolf starts up.


I've entered this same problem on the Ham-Pi group, but it has been several days and there were no responses.

The issue there is that the HamPi group is for issues SPECIFIC to using that image.  Once you have problems with the individual programs, it's doubtful if you'll get support there.  Technically speaking this question should be posted on the direwolf@groups.io email list for BEST support.


What else could I possibly look at to make this work? I'm so close, but no cigar.
 
Oh, I also tried Xastir and see the same failure message.

Please copy/paste in the failure message.  Without it, we'll all just guessing what you might be seeing.

--David
KI6ZHD


Dennis Blanchard
 

Thanks for jumping in to help David. Here are some data dumps from the RPI:
Direwolf startup dialog:
 
Dire Wolf DEVELOPMENT version 1.6 G (Jun 18 2020)
Includes optional support for:  gpsd hamlib cm108-ptt
 
Reading config file direwolf.conf
Audio device for both receive and transmit: plughw:1,0  (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, E+, 44100 sample rate / 3.
Ready to accept AGW client application 0 on port 8000 ...
Ready to accept KISS TCP client application 0 on port 8001 ...
 
Attached to AGW client application 0...
 
Ready to accept AGW client application 1 on port 8000 ...
Hamlib Error: rig_set_ptt command for channel 0 PTT
Communication timed out
[0L] K1YPP>APJYC1,WIDE1-1,WIDE2-1:=2726.00N/08251.06W# K1YPP testing  station<0x0d>
Hamlib Error: rig_set_ptt command for channel 0 PTT
Communication timed out
 
 
Yes, I had already set up: sudo usermod -G dialout k1ypp
 
The only error message I see is the one I originally posted.
 
In Fldigi I use the Rigcat or Hamlib configs, either works. They use /dev/ttyUSB0 device, which is the Yaesu CAT-62 cable.
 
I was aware that Direwolf uses it's own hamlib. If I do a list of rigs (rigctl --list):
 
  1020  Yaesu    FT-817            20200616.0      Stable      RIG_MODEL_FT817
  1021  Yaesu    FT-100            20200323.0      Beta        RIG_MODEL_FT100
  1022  Yaesu    FT-857            20200323.0      Stable      RIG_MODEL_FT857
  1023  Yaesu    FT-897            20200607.0      Stable      RIG_MODEL_FT897
 
 
W3DJL builds the whole ham package into one .iso build and I burned an SD card with it. It is built with hamlib, WSJT-X, Fligi, etc. I haven't been able to figure out exactly where it keeps the hamlib data. Somehow, it must not be using the hamlib data correctly, but I don't understand how.

Anyway, I'll keep trying. I can't believe that I am the only one that has run into this.

Dennis, K1YPP


David Ranch
 


Hello Dennis,

Dire Wolf DEVELOPMENT version 1.6 G (Jun 18 2020)
Includes optional support for:  gpsd hamlib cm108-ptt

Ok.. perfect.. looks good.


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

Ok.. also looks good


Attached to AGW client application 0...
Ready to accept AGW client application 1 on port 8000 ...
Hamlib Error: rig_set_ptt command for channel 0 PTT
Communication timed out

Ok, I recommend to try some specific testing outside of Direwolf first.  For example, try reading the state of your radio's PTT.  Here is the command I use for my FT950 with an older version of Hamlib:

  rigctl -m 128 -r /dev/USI_CAT -s 38400 -P RIG t

I get a result of "0" meaning PTT is not asserted.  If you substitute in your proper rig number, serial port device, and serial port speed, does that command work for you?  It *must*.


Next up, what is the permissions of your serial port?  Run the following command:

   ls -la /dev/ttyUSB0


In Fldigi I use the Rigcat or Hamlib configs, either works. They use /dev/ttyUSB0 device, which is the Yaesu CAT-62 cable.

Ok.. you previously also mentioned Flrig works which is also it's own type of rig control. 


I was aware that Direwolf uses it's own hamlib. If I do a list of rigs (rigctl --list):
 
  1020  Yaesu    FT-817            20200616.0      Stable      RIG_MODEL_FT817
  1021  Yaesu    FT-100            20200323.0      Beta        RIG_MODEL_FT100
  1022  Yaesu    FT-857            20200323.0      Stable      RIG_MODEL_FT857
  1023  Yaesu    FT-897            20200607.0      Stable      RIG_MODEL_FT897

It's not that Direwolf uses it's own Hamlib, it just uses libraries to communicate to whatever hamlib you have installed.  WSJT-X is different as it brings in it's own special copy of Hamlib which is localized for WSJTX only.

--David
KI6ZHD


Dennis Blanchard
 

Here are some results David. Sorry it takes so long, I've been doing a lot of care taking for family and haven't had much free time.

pi@raspberrypi:~ $ 
pi@raspberrypi:~ $ rigctl -m 1020 -r /dev/ttyUSB0 -s 4800 -P RIG t
0
pi@raspberrypi:~ $ ls -la /dev/ttyUSB0
crw-rw---- 1 root dialout 188, 0 Aug 26 16:24 /dev/ttyUSB0
pi@raspberrypi:~ $ 

At the moment the system is stand alone. Once I get all this figured out, I'll burn a bigger SD card and do it all over again, so I'm just using the root account.
I played with the rigctl stuff and was able to read the rig's frequency and make changes, so it seems to be communicating over the cable. Of course that was the case with Fldigi, so no surprise there. All I can think of is somehow Direwolf is having a permission problem. Either that, or some sort of group membership problem.

Thanks...

Dennis, K1YPP


David Ranch
 


Hello Dennis,


pi@raspberrypi:~ $ rigctl -m 1020 -r /dev/ttyUSB0 -s 4800 -P RIG t
0
and
I played with the rigctl stuff and was able to read the rig's frequency and make changes, so it seems to be communicating over the cable. Of course that was the case with Fldigi, so no surprise there. All I can think of is somehow Direwolf is having a permission problem. Either that, or some sort of group membership problem.

Ok.. I think you highlighted the issue here... "-s 4800"!   In your first post in this thread, you stated your direwolf.conf has:
--
PTT RIG 1020 /dev/ttyUSB0
--


Notice you're not specifying a speed here as well as the fact that you CANNOT tell Direwolf what speed to use.  Looking at the current Hamlib 3.3 stable release (uses RIG 120), the default speed for a Yaesu 817 is:
--
./rigctl -m 120 -L

. . .
serial_speed: "Serial port baud rate"
        Default: 0, Value: 38400
        Range: 300.0..115200.0, step 1.0
--

Hamlib defaults to 0 bps?!  That doesn't see right.  Will your above "rigctl" tests work without specifying the "-s 4800" parameter (which is the Yaesu FT817's default speed)?  If not, that seems like a bug in Hamlib and this also highlights that Direwolf should be able to support any required Hamlib parameters.

--David
KI6ZHD


Dennis Blanchard
 

Your suspicion is correct David, it does not work if I remove the speed parameter, it just hangs there until I hit control-C.

Is there a possible work around for this?

Dennis, K1YPP


David Ranch
 


I think you have a few options:

   Option 1: Setup Hamlib's rigctld daemon which is a client/server system.  WIth this, you would re-configure Direwolf to communicate to rigctld using rig type "2".  Then you configure and run rigctld to communicate to your FT817 with the required serial port speed.  See Direwolf's UserGuide for some hints but configuring rigctld itself isn't covered there.  Check out https://github.com/Hamlib/Hamlib/wiki/Documentation on how to get that going.

   Option 2: Stop trying to use CAT-based PTT and instead, use classic serial port based PTT control using say the RTS signal.  This working or not will depend if your serial adapter includes hardware flow control signals like RTS, CTS, etc.  This change WILL require you to create an adapter to connect that RTS signaling pin to the PTT line on the FT817's "PTT" pin on the 6 pin "DATA" connector
 
   Option 3: It looks like the missing serial speed configuration could be hard coded into line 1005 of src/ptt.c for now but the proper fix would be to enhance the processing of the direwolf.conf to learn of the additional settings there

--David
KI6ZHD
  

On 08/28/2020 10:10 PM, Dennis Blanchard via groups.io wrote:
Your suspicion is correct David, it does not work if I remove the speed parameter, it just hangs there until I hit control-C.

Is there a possible work around for this?

Dennis, K1YPP


Dennis Blanchard
 

My latest progress on this Direwolf adventure: David, when I looked at your options I realized that maybe there was a 4th one. The FT-8** transceivers do have bit rates that can be adjusted to other than the default 4800 bps. I tried a few others and found that 38400 works with Direwolf! As soon as I hit that bit rate, the transmitter went into action.

Oddly, I couldn't receive a thing on the APRS frequency of 144.390 Mhz. It seemed to stop working when the transmitter started working. In the end, it was nothing to do with the Direwolf and more to do with hurricane Laura going by the region. The winds had knocked over my two meter antenna on the roof and grounded it. I couldn't see it until I went up there.

At present am seeing my beacon on APRS.fi so, at long last, there is some progress. Now I have to study up on how all this APRS stuff works, I know almost nothing about it at this point. At least I am not seeing any red messages in Direwolf and am seeing lots of traffic.

https://aprs.fi/#!mt=roadmap&z=13&lat=27.2580&lng=-82.5063&timerange=3600&tail=3600

Thanks for all the help, sorry I was such a dummy. The Direwolf manual is a daunting piece of work and I have much studying to do.

Dennis, K1YPP


David Ranch
 

Hello Dennis,

My latest progress on this Direwolf adventure: David, when I looked at your options I realized that maybe there was a 4th one. The FT-8** transceivers do have bit rates that can be adjusted to other than the default 4800 bps. I tried a few others and found that 38400 works with Direwolf! As soon as I hit that bit rate, the transmitter went into action.

Interesting.. so Direwolf is attempting to communicate to the radio at a default of 38400.  While I whole heartly recommend higher speeds like this for snappy rig control, 4800bps is usually the default on many radios.  At minimum, I feel Direwolf should output what speed it's trying to do CAT PTT control at.  On the longer term, this and other parameters needs to be configurable.

I've created an issue to track this:  https://github.com/wb2osz/direwolf/issues/290


Oddly, I couldn't receive a thing on the APRS frequency of 144.390 Mhz. It seemed to stop working when the transmitter started working. In the end, it was nothing to do with the Direwolf and more to do with hurricane Laura going by the region. The winds had knocked over my two meter antenna on the roof and grounded it. I couldn't see it until I went up there.

Ok.. that was problem #2 to solve and you've already fixed that.  Good.



At present am seeing my beacon on APRS.fi so, at long last, there is some progress. Now I have to study up on how all this APRS stuff works, I know almost nothing about it at this point. At least I am not seeing any red messages in Direwolf and am seeing lots of traffic.

https://aprs.fi/#!mt=roadmap&z=13&lat=27.2580&lng=-82.5063&timerange=3600&tail=3600

Ok.. good.


Thanks for all the help, sorry I was such a dummy. The Direwolf manual is a daunting piece of work and I have much studying to do.

No doubt there is a log of material in the Direwolf UserGuide and the other great documentation found in:

   https://github.com/wb2osz/direwolf/tree/dev/doc


If you're looking for an APRS Beginner's Guide, I host a copy of K9DCI's excellent guide here:

   http://www.trinityos.com/HAM/Aprs/APRS%20Beginner%20Guide%20-%20K9DCI%20Ver%205-1.pdf

--David
KI6ZHD