Packet radio with the Kenwood TM-D710GE

When I got my amateur radio licence, I knew that one of the things I'd like to investigate a bit more was packet radio. I planned to get, amongst other things, a VHF/UHF radio and a terminal node controller (TNC). I ended up getting a Kenwood TM-D710GE. It's a well-designed, feature-rich radio that I've enjoyed using. One of its selling points is the built-in support for APRS, but the internal TNC that this depends on is also very accessible to the user. Partly because of this, so far I've had relative success in getting it to connect to packet radio networks.

This is an attempt to document my process in getting onto packet with the TM-D710GE, in the hope that it will save others a bit of time. I got going with a lot of help from Paul G4APL. His Kenwood THD7e and Kenwood TS2000e notes are useful reading, as well as the link in his AX25 notes to David Ranch KI6ZHD's setup guide. The TM-D710GE's detailed support documentation has been very useful too.

Getting connected

In order to connect your computer to packet, you need to connect it to your radio. For this you need cable PG-5G. It's relatively expensive, but, on the other hand, easy to make your own using the diagram from Kenwood. The other crucial bit of information is that the cable connects to the COM port on the back of the panel. The PC port on the back of the transceiver doesn't appear to do the same thing, despite appearances. The DATA terminal does something entirely different, so that won't work either. Cables will often be terminated at the other end by a 9-pin RS232 connector, though this can be easily converter to USB with a suitable converter.

I neither bought the official cable nor made my own. Instead I just bought a cable from a third-party supplier. It has worked really well so far. The cable I bought was terminated in a USB connector. It uses the SiLabs CP2102 USB to serial chipset, for which drivers are easily available. An FTDI FT232 version is also available for a few pounds more.

The radio appears as a COM (serial) port on the computer. It's possible to communicate in two modes. You can either use the computer as a serial terminal, sending commands to the TNC's command interface, or enable KISS mode, and use AX25 support in the Linux kernel via kissattach. I'll be talking about the former for now, and hopefully exploring AX25 networking later.

Tuning in

Find your local packet frequency and tune the radio to it. After a while you should hear packets flying around. The Signal Identification Guide wiki has some examples of what packet sounds like at various speeds.

The radio will not send out data unless the channel is free. The correct setting of the squelch is therefore important. I found that setting it at just above the background noise level allows things to work fairly smoothly.

Sending commands through a serial terminal

I use the serial communication program minicom under macOS, though of course the setup is similar under Linux. I only ever use minicom for packet, so I've just set the default configuration to what I need to connect to my radio. To do this:

minicom --setup

The following menu will appear:


            +-----[configuration]------+
            | Filenames and paths      |
            | File transfer protocols  |
            | Serial port setup        |
            | Modem and dialing        |
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+

Select ‘Serial port setup’. From this menu you can select items A to G and set them up in turn. The drivers I installed for my cable are such that the device appears at /dev/tty.SLAB_USBtoUART. I'm also using the default baud rate of 9600 and assuming that the default setting for hardware flow control (FLOW) is ON.


    +-----------------------------------------------------------------------+
    | A -    Serial Device      : /dev/tty.SLAB_USBtoUART                   |
    | B - Lockfile Location     : /usr/local/Cellar/minicom/2.7.1/var       |
    | C -   Callin Program      :                                           |
    | D -  Callout Program      :                                           |
    | E -    Bps/Par/Bits       : 9600 8N1                                  |
    | F - Hardware Flow Control : Yes                                       |
    | G - Software Flow Control : No                                        |
    |                                                                       |
    |    Change which setting?                                              |
    +-----------------------------------------------------------------------+
            | Screen and keyboard      |
            | Save setup as dfl        |
            | Save setup as..          |
            | Exit                     |
            | Exit from Minicom        |
            +--------------------------+

When you set the baud rate, parity and bits, you'll get a menu like this:


    +-----------------+---------[Comm Parameters]----------+----------------+
    | A -    Serial De|                                    |                |
    | B - Lockfile Loc|     Current:  9600 8N1             |2.7.1/var       |
    | C -   Callin Pro| Speed            Parity      Data  |                |
    | D -  Callout Pro| A: <next>        L: None     S: 5  |                |
    | E -    Bps/Par/B| B: <prev>        M: Even     T: 6  |                |
    | F - Hardware Flo| C:   9600        N: Odd      U: 7  |                |
    | G - Software Flo| D:  38400        O: Mark     V: 8  |                |
    |                 | E: 115200        P: Space          |                |
    |    Change which |                                    |                |
    +-----------------| Stopbits                           |----------------+
            | Screen a| W: 1             Q: 8-N-1          |
            | Save set| X: 2             R: 7-E-1          |
            | Save set|                                    |
            | Exit    |                                    |
            | Exit fro| Choice, or <Enter> to exit?        |
            +---------+------------------------------------+

Cycle through the baud rates with A and B until you see 9600, or just press C if it's offered like here, and press Q for 8 data bits, 1 stop bit, and no parity. When you have finished, press Enter to leave the menu and select Save setup as dfl (i.e., ‘default’). Now when you enter minicom from the command line, it should connect straight to the radio's packet TNC.

You will see a prompt, at which you can type commands.

cmd:

Settings

My sitation isn't ideal for packet operation. The BBS I connect to is GB7CIP, about 25km directly south of me, whereas my antenna is a 2m Slim-Jim hanging inside a window in my flat. The window faces east onto a densely-populated area with lots of buildings eveywhere. With lots of help from Paul G4APL, I found a set of changes from the default settings which work well. If you're better situated, you might find the default settings work better. For me, however, there was a big improvement.

To (re)set a setting, just type the name of the setting and the new value. The TNC will confirm the change, showing the setting's former value.


cmd:MYCALL M6OSR
MYCALL   was NOCALL
cmd:MYCALL M6OSR
MYCALL   was M6OSR

A full list of settings and defaults can be found in the support documentation associated with the TM-D710GE.

I am a foundation licensee, which means that I am restricted, mainly in the requirement that the station is attended. These setting reflect these restrictions. However, they still hopefully represent a good starting point even for those with higher levels of licence.

A set of TM-D710GE TNC settings intended to work better for a UK foundation licensee under less reliable conditions. By sending a RESET command and then each of these settings in sequence, a particular configuration can be created.
Command name Effect Default New setting
MYCALL Specifies your callsign. <your callsign>
PACLEN Lengthens the data portion of a packet. The packet length turns out to be pretty critical. (Thanks to Paul G4APL for clarifying this.) People often recommend that for nearby stations, an increased PACLEN is better, and for distant ones, a decreased PACLEN. However, this assumes that there is a large buffer to store the packets while waiting for the dropped ones to finally make it. The TM-D710GE does not have a large buffer to handle all the retries, and so a large PACLEN is recommended. We use the maximum of 255 bytes. 128 255
MAXFRAME Reduces the maximum number of packets to be transmitted at one time. 4 1
TXDELAY Specifies the time delay between PTT ON and the start of transmission, in units of 10ms. I find that 0.7s works well for my own connection conditions. 30 70
DAYUSA Replaces the default date representation of MM/DD/YY to the more intuitive (to Europeans) DD-MM-YY. Unfortunately there's no ISO 8601, the correct way, but at least it's not middle-endian. ON OFF

A number of further settings are notable, but are already set appropriately in the defaults:

A set of TM-D710GE TNC settings intended to work better for a UK foundation licensee under less reliable conditions, and for which the defaults are useful.
Command name Effect Default
HBAUD Selects 1200bps as the transfer rate between packet stations. 1200
MBOD Because I am a foundation licensee, I disable the TNC's mailbox. I could enable the mailbox for when I am at the radio, but I prefer to just make this facility unavailable at all times. It's simpler. OFF
MONITOR Monitoring is reading packets from stations on the frequency that you're tuned to but that you aren't connected to. This can be interesting to look at if you're not using a BBS, etc. ON
DIGIPEAT This enables the TNC's digipeater functionality, allowing other stations to use mine as a repeater. Because I am a UK foundation licensee, this is permitted, but I may not do this when the station is unattended. See Clause 14 in the terms, conditions and limitations and in Ofcom's Amateur Radio Licence: Guidance for licensees. (Thanks to Russ M6MMO and Marrold 2E0SIP for clarifying this.) ON
XFLOW Causes the TNC to perform software flow control when ON, or hardware flow control when OFF. To be consistent with our minicom settings, this needs to be off. OFF
BEACON Some people like to beacon a message regularly. Sometimes this contains meaningful information like BBSs sending out notifications of who has mail waiting, or the current weather conditions on emergency packet networks. Beaconing an unchanging message that you're simply listening is seen as clutter by some, especially on busy channels. For this reason I disable beaconing. The commands for setting up a beacon are BEACON and BTEXT and are described in David Ranch KI6ZHD's guide. It's worth mentioning that the TM-D710GE uses units of 10s each, and allows BEACON AFTER, where the TNC will instead transmit a beacon if it hears no activity for the time given. EVERY 0

A connection to a local BBS

As a starting point, you should try to find the details for the packet BBS in your area, and use their BBS frequency. For those nearish to Caterham (UK), GB7CIP uses 144.9375MHz. On a good day, I can reach this from my flat 25km away.

The CON indicator shows a connection to the local packet BBS, with BUSY telling us some data is coming in.
The screen of a Kenwood TM-D710GE transceiver shows a connection to the packet BBS GB7CIP

After connecting the cable, running minicom, turning the radio on and pressing the TNC softkey until PACKET12 appears, we see this in the terminal window:


Kenwood Radio Modem
AX.25 Level 2 Version 2.0
Release 09/Mar/11 3Chip ver 1.02
Checksum $1859
cmd:DA 140101000000
cmd:HB 1200
HBAUD    was 1200
cmd:

To connect, enter CONNECT and the name of the station to connect to, for example:

CONNECT GB7CIP

You may need to connect through a more local digipeater. For this, use the VIA keyword, for example:

CONNECT GB7CIP VIA G8MNY

To demonstrate, here is a transcript of a short session connecting to GB7CIP.

cmd:CONNECT GB7CIP
cmd:*** CONNECTED to GB7CIP
[FBB-7.0.8-AB1FHMRX$]
GB7CIP BBS, QTH IO91WH.
Hello Simon, you are now on channel 17.
Here are 2862 active messages, 274466 is last message and
271381 is the last you have listed.

Assigned channels:
Ch. 17  (144MHZ) :  M6OSR-0  - Mon 12/03/18 20:37
Ch. 71 (POPSMTP) : GB7CIP-0  - Mon 12/03/18 20:36
Ch. 72 (POPSMTP) : GB7CIP-0  - Mon 12/03/18 20:36

North Surrey England  World IP-AX25-PACTOR  International Gateway
Information on this system       enter the command 'I' for Info.(10KB)
enter  PACTOR  for list of GB7CIP HF PACTOR (QRG) frequencies
enter  GWAY    for QRG list and example how to use the Gateway facility
enter  TBIRD   for how to configure Thunderbird to access this BBS.
enter  CIPBLOG for the GB7CIP Maintenance support blog (24KB)

You have 2 new (unread) message(s).

(1) GB7CIP BBS (H for help) >
LN

Msg#   TSLD  Size To    @Route  From   Date/Time Subject  [LC-choice: *]
273990 PNL     53 M6OSR         M0SKF  0308/1606 Re: Hello! I'm now connecting
273906 PN    1176 M6OSR         G4APL  0307/1727 Re: Temptation!!
You have 2 new (unread) message(s).

(1) GB7CIP BBS (H for help) >
R 273990
From        : M0SKF
To          : M6OSR
Type/Status : PN
Date/Time   : 08-Mar-18 16:06
BID (MID)   : 11846_GB7CIP
Message #   : 273990
Subject     : Re: Hello! I'm now connecting over radio and pretty smoothl

(This message has been read 5   times so far in this BBS).

Good stuff! Great to see you're operating on packet!

         --- End of message#: 273990 from M0SKF to M6OSR ---

You have 1 new (unread) message(s).
(1) GB7CIP BBS (H for help) >
R 273906
From        : G4APL
To          : M6OSR
Type/Status : PN
Date/Time   : 07-Mar-18 17:27
BID (MID)   : 49595G4APL
Message #   : 273906
Subject     : Re: Temptation!!

(This message has been read 3   times so far in this BBS).

Path: !GB7CIP!GB7CIP!
T:From: Paul Lewis <g4apl@gb7cip.ampr.org>
T:To: m6osr%gb7cip.#32.gbr.euro@gb7cip.ampr.org
T:Message-Id: <alpine.DEB.2.10.1803071723220.26068@gb7cip.ampr.org>

Good to get another 'tick' in the box
Would be interested in all the related setting
so that I can add that to my support pages
Have fun exploring this 'new' world
I have a document that I originally wrote on my web site
re using a NetRom node (still applies to todays systems)
back in 1990

73 de Paul G4APL

amprnet g4apl@gb7cip.ampr.org  ax25 g4apl@gb7cip.#32.gbr.euro
amprnet http://gb7cip.ampr.org Inet http://www.theskywaves.net

On Wed, 7 Mar 2018, m6osr%gb7cip.#32.gbr.euro@gb7cip.ampr.org wrote:
> From: M6OSR@GB7CIP.#32.GBR.EURO
> To  : G4APL@GB7CIP.AMPR.ORG
>
> Hello Paul,
>
> This now seems to be working very well with the settings you
> suggested. I am able to connect to the BBS directly (I think)
> via an antenna in an eastward-facing window, and you are 25km
> from me. Very cool.
>
> I will try to digipeat via G8MNY in future.
>
> Thanks for your help!
>
> Simon
>

         --- End of message#: 273906 from G4APL to M6OSR ---

(1) GB7CIP BBS (H for help) >
KM
Message #273906 has been killed.
Message #273990 has been killed.

(1) GB7CIP BBS (H for help) >
B
You have been connected 8mn 13s - Computer time :  0s
Bye, Simon, and welcome back.
*** DISCONNECTED

Mistakes? Anything to add?

There are almost certainly mistakes in this and corrections to be made! If you have a correction, please get in touch.

If anyone knows any of the following, please tell me!

Coming next

This document will continue to grow as I learn more and more. The next thing for me to try is using the TNC for AX25 under KISS mode. Since Since AX25 is built right into the kernel, it offers lots of opportunities to get things going easily.

See also