MKISS(8)
mkiss(8) π β attach a multi KISS interface
Okay bestie, this is the mkiss(8) page from the Linux System Managers Manual, and itβs lowkey iconic for anyone wiring up dual-port TNCs or multiple TNCs on one serial line. Letβs get into it π
β¨ NAME β¨
mkiss β Attach a multi KISS interface
π¦ SYNOPSIS π¦
mkiss [-c] [-f] [-h] [-l] [-s speed] [-p pollrate] [-v] [-x n_ptmx]
ttyinterface pty ..
πΈ DESCRIPTION πΈ
So, mkiss lets dual port TNCs β or multiple TNCs that share the same serial port β work with the Linux AX.25 kernel software. The AX.25 software itself has no support for dual port TNCs or multiple TNCs sharing the same serial line, which is the whole reason mkiss exists, periodt. The different ports get addressed by encoding the port number in the control byte of every KISS frame. mkiss watches a serial port and routes KISS frames to/from the pseudo ttys. Then the other side of those pseudo ttys gets attached with kissattach as normal. Slay.
Want stats on how mkiss is doing? Send the SIGUSR1 signal to the running program, bestie. When it receives that signal, mkiss will print a set of statistics to the system log if logging has been enabled. π
Even though the docs mention using pseudo ttys as the last arguments, those devices may also be normal serial ports. But heads up: mkiss provides no way to set their speed, so the speed has to be set by some other method. No cap.
If the pty argument is /dev/ptmx, then Unix98 behaviour automatically takes effect. With Unix98 ptys, the slave pty name could not be foreseen β thatβs literally why mkiss will print the corresponding slave pty name as a separate line on stdout. π
If the pty name is the special name none, no pty is opened. This is useful if you have a multiport TNC like the KPC-9612 on, i.e., /dev/ttyUSB0, and you only like to handle packets for the second port. The KPC has no option to configure the second TNC to listen on KISS port number 0. So, if you like to send all frames from the pty to KISS port number 1, we need to tell mkiss to tag them for port number 1. This is done by:
mkiss /dev/ttyUSB0 none /dev/ptmx
Frames received with port number 0 are discarded. π«Ά
π OPTIONS π
-cβ This enables a one-byte checksum on each incoming and outgoing KISS frame on the serial port. This checksum is used by G8BPQ KISS roms to maintain the integrity of KISS frames. β¨-fβ This enables a 16-bit checksum on each incoming and outgoing KISS frame on the serial port. This checksum is used by Flexnet Node and BayCom Mailbox to maintain the integrity of KISS frames. π₯-hβ Enables hardware handshaking on the serial line to the TNC. The KISS specification states that no hardware flow control shall be used, so the default is off. But some KISS implementations do use hardware flow control. π-lβ Enables system logging; the default is off. π-sspeedβ Set the speed of the serial port. β-ppollrateβ Enables polling. Polled mode is used by G8BPQ KISS roms to prevent contention on systems where multiple TNCs share the same serial line.pollrateis the interval between polls (in100msunits). π-vβ Display the version. π-xnumberβ This option is for Unix98 PTYs. It allocatesnumberptys; their names are written to stdout. When-xis used, the pty arguments are optional.mkiss -x 3 ttynameis a comfortable alternative tomkiss ttyname /dev/ptmx /dev/ptmx /dev/ptmx. π
π§ SEE ALSO π§
kissattach(8), ifconfig(8), kill(1).
π AUTHORS π
- Tomi Manninen OH2BNS
<oh2bns@sral.fi> - Jonathan Naylor G4KLX
<g4klx@g4klx.demon.co.uk> - Kevin Uhlir N0BEL
<kevinu@flochart.com>
Thatβs the whole vibe, bestie: Linux, dated 13 April 2010, manual tag MKISS(8) β and yes, it ate π β¨
π¦ where this page comes from
- alpine 3.24: ax25-tools-doc 1.1.0-r0 Β· GPL-2.0-or-later
- debian bookworm: ax25-tools 0.0.10-rc5+git20190411+3595f87-6
- debian trixie: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3 Β· GPL-2.0-only
- ubuntu noble: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-1build2 Β· GPL-2.0-only
- ubuntu questing: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3
- ubuntu resolute: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3build1 Β· GPL-2.0-only
- ubuntu stonking: ax25-tools 0.0.10-rc5+git20230513+d3e6d4f-3build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms