Skip to content

Instantly share code, notes, and snippets.

Last active May 7, 2023 10:59
  • Star 8 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
basic ax25 setup


sudo apt-get install direwolf ax25-apps ax25-tools

Setting up direwolf

Direwolf is our software TNC

  1. Set the correct frequency and offset on your radio (439.100MHz no offset)
  2. Connect radio to digirig.
  3. Set squelch to off
  4. Check in pulse audio volcume control (pavucontrol) under input devices that the digirig input (CM108) volume isn't maxing out the bar. Change the radio volume until the bar is around 80% full.
  5. Save direwolf-uv5r.conf somewhere. Update the VK4XSS callsign under MYCALL to be your callsign. Update /dev/ttyUSB0 to be the digirig serial port if you have more than one USB serial device connected
  6. Make sure the serial port is accessible to your user either by adding your user to the dialout group or doing something like sudo chmod 777 /dev/ttyUSB0 # yolo
  7. Run direwolf direwolf -p -c direwolf-uv5r.conf
  8. Check to see if there are any errors on start up (like can't open sound card, can't open serial port)
  9. Note down the /dev/pts/{num} file name
  10. Check in pulse audio volume control that the playback and recording of direwolf is set to the digirig / CM108 sound card
  11. At this point you should have a working TNC. You can use echo "c000abcdefabcdefabcdefabcdefabcdefabcdefabcdefabcdefc0" | xxd -r -p > /dev/pts/5 (update the /dev/pts/5 to match what direwolf said on startup) to test. Running this should TX a packet. You can tune in another radio to hear it.

Setting up the Linux Kernel AX25

  1. Edit /etc/ax25/axports. It should have a line that looks something like this (replace out VK4XSS for your callsign)
    # /etc/ax25/axports
    # The format of this file is:
    # name callsign speed paclen window description
    1       VK4XSS-1  1200    512    1       Meow
  2. Next we attach our TNC to the kernel using kissattach -l /dev/pts/4 1 (update the pts filename to the direwolf one). 1 is our ax25 port name we defined up
  3. We need to turn off CRC checks in the AX25 kernel driver. Use kissparms -c 1 -p 1. This changes the CRC type to none on ax port named 1

Making a call

Now that the kernel driver is setup, we can try to make a connection.

axcall 1 VK3FUR-11

axcall takes your ax25 port name (from /etc/ax25/axports that we configured above as 1) followed by the station you want to call VK3FUR-11

All going well your radio will start TXing and the axcall window will open. Typing into this window and hitting enter will transmit to the other end. You can exit by typing ~. on a new line.

# /etc/ax25/axports
# The format of this file is:
# name callsign speed paclen window description
1 VK4XSS-1 1200 512 1 Meow
# Audio device
ADEVICE pulse pulse
# Modem speed
MODEM 1200
#Ports to interface with (though we are using a TTY)
# we use RTS for the digirig
PTT /dev/ttyUSB0 RTS
# radio is slowww to tx
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment