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.
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.
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.
NB: 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. The settting
FULLDUP may get around this. I need to try it out!
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:
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 (
+-----------------------------------------------------------------------+ | 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
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.
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.
What follows is 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. Note that 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.
Each line shows the command to change a parameter to its recommended value, describes the effect of the change, and finally the default value in brackets.
MYCALL <your callsign>— Specifies your callsign. Default:
PACLEN 255— 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. Default:
MAXFRAME 1— Reduces the maximum number of packets to be transmitted at one time. Default:
TXDELAY 70— 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. Default:
DAYUSA OFF— 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. Default:
A number of further settings work better for a UK foundation licensee under less reliable conditions, but are already set appropriately in the defaults:
HBAUD 1200— Selects 1200bps as the transfer rate between packet stations.
MBOD OFF— 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.
MONITOR ON— 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.
DIGIPEAT ON— 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.)
XFLOW OFF— 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.
BEACON EVERY 0— 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.
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.
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:
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 <email@example.com> T:To: firstname.lastname@example.org T:Message-Id: <alpine.DEB.email@example.com> 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 firstname.lastname@example.org ax25 g4apl@gb7cip.#32.gbr.euro amprnet http://gb7cip.ampr.org Inet http://www.theskywaves.net On Wed, 7 Mar 2018, email@example.com 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!
- The size of the TM-D710GE's internal buffer. We talk about good settings for
PACLENto take the buffer's size into account, but what is the size? How many packets will fit in there?
- Great APRS setups for the TM-D710 mobile, a text file about how to set up for APRS, which you may also be interested in.