HamBSD FAQ: Terminal Node Controllers



A list of TNCs that are known to work with HamBSD's kiss(4) driver are maintained in the manual page. Most, if not all, TNCs that implement the KISS protocol over a serial interface should be supported. This includes those with RS-232 interfaces, USB-to-serial interfaces, or using a pseudo-terminal (pty(4)).

To configure a TNC to be used as an AX.25 network interface on boot, create a hostname.if(5) file. For the first interface on the system this should be named /etc/hostname.axkiss0.

lladdr N0CALL up
!ldattach -s 1200 kiss cua00
Replace N0CALL with your callsign. This also assumes the TNC's serial port (not on-air baud rate) operates at 1200 baud and is connected to the first serial port. For USB-to-serial interfaces, the first interface will be cuaU0.

A chat(8) script may be used to initialise a TNC that requires configuration before it enters KISS mode. The following example works for the Kenwood TM-D700E:

cmd:--cmd: 'kiss on'
cmd: 'mon off'
cmd: restart

This script can be stored as /etc/kiss.chat and run automatically by adding the following to the relevant hostname.if(5) file before calling ldattach:

!stty -f /dev/cuaXX 9600
!chat -f /etc/kiss.chat <>/dev/cuaXX >&0

There is currently no reliable method for this, as a broken TCP connection will not be reconnected. If the station will be attended as this is acceptable, first install net/socat from ports or packages:

pkg_add socat

You can then use socat to bridge a TCP connection to a pty. Assuming the KISS TCP server is at 192.0.2.8 on port 8001:

socat tcp:192.0.2.8:8001 pty &

You can now proceed using the new pseudo-terminal as the serial port. You may wish to increase socat's verbosity to have it print the pty in use to avoid trial-and-error.