{"id":901,"date":"2026-06-07T11:37:09","date_gmt":"2026-06-07T09:37:09","guid":{"rendered":"https:\/\/www.i8zse.it\/en\/?page_id=901"},"modified":"2026-06-07T11:37:09","modified_gmt":"2026-06-07T09:37:09","slug":"packet-linux","status":"publish","type":"page","link":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/","title":{"rendered":"Packet &#038; Linux"},"content":{"rendered":"<h2>Foundations: the Linux kernel and the AX.25 stack<\/h2>\n<p>Linux is the only operating system in the world with native AX.25 support directly in the kernel. AX.25, NET\/ROM, and ROSE are all supported directly in the Linux kernel, which means a Linux system can act as a full packet node without relying on third-party software for the network layer.<\/p>\n<p>On top of the kernel sit three fundamental packages (operating in user space), maintained by the community (active VE7FET fork on GitHub):<\/p>\n<ul>\n<li><strong>libax25<\/strong> \u2014 shared libraries for AX.25 applications<\/li>\n<li><strong>ax25tools<\/strong> \u2014 configuration tools (kissattach, kissparms, axparms, mheardd\u2026)<\/li>\n<li><strong>ax25apps<\/strong> \u2014 user applications (call, listen, beacon, PMS\u2026)<\/li>\n<\/ul>\n<h2>TNC Software (Modem\/Soundcard)<\/h2>\n<p>Beyond the classic serial TNC, it is now far more convenient to use software equivalents that directly use the PC\u2019s audio interfaces.<\/p>\n<p><strong>Dire Wolf<\/strong> (wb2osz)<br \/>\nThe current reference for those who want a software TNC. It is an AX.25 \u201csoundcard\u201d modem\/TNC and APRS encoder\/decoder. It can be used independently to monitor APRS traffic, as a digipeater, APRStt gateway, or Internet Gateway (IGate). It supports 300, 1200, and 9600 bps, can interface with SDRs, and acts as a virtual TNC for dozens of external applications via KISS or AGWPE. It runs on Linux, Windows, and macOS, and is the most common choice on Raspberry Pi systems.<br \/>\nNote that 9600 baud operation is possible if the radio supports this mode.<\/p>\n<p><strong>Soundmodem<\/strong> (Thomas Sailer, HB9JNX)<br \/>\nA software TNC that connects directly to the Linux kernel AX.25 stack. Older than Dire Wolf, but still used in some contexts, especially for HF configurations at 300 bps (where it requires careful attention to tone frequencies due to a known bug).<\/p>\n<h2>TNC \u2194 Kernel attachment<\/h2>\n<p>To operate with the Linux networking stack, the TNC must be logically <em>connected<\/em> to the kernel. For this purpose, the following tools are available:<\/p>\n<p><strong>kissattach<\/strong><br \/>\nThe classic tool (part of ax25tools) used to connect a KISS-mode TNC to a Linux AX.25 network interface (e.g. <code>ax0<\/code>). It creates a network interface that the system treats like any other network card. It works well but requires AX.25 kernel modules to be loaded.<\/p>\n<p><strong>tncattach<\/strong><br \/>\nRemoves the need for specific Linux kernel AX.25 packages and eliminates the overhead introduced by kissattach when Ethernet framing is not required. It also introduces the ability to send Ethernet frames over any TNC (including Dire Wolf), making full TCP\/IP over amateur radio easier than ever. It is the modern alternative to kissattach, especially useful on distributions where kernel AX.25 support is reduced.<\/p>\n<p><strong>mkiss<\/strong><br \/>\nUtility for multi-port TNCs (e.g. dual-channel KPC-9612): it splits the serial connection into multiple PTYs, one per port, each then attached via kissattach.<\/p>\n<h2>Terminal Client \/ Packet Chat<\/h2>\n<p>For those who want to operate packet in a traditional way:<\/p>\n<p><strong>LinPac<\/strong><br \/>\nA console-oriented program for AX.25 keyboard-to-keyboard chat and PBBS, modular, using the Linux AX.25 stack. It includes support for multiple concurrent connected sessions, a screen for unconnected UI messages, and an automatic packet messaging client. A historic Linux packet client, now developed in version 2.0.<\/p>\n<p><strong>AX25_POPT<\/strong> (DerHirschi)<br \/>\nA modern, cross-platform packet terminal for AX.25. It supports flexible connections such as KISS over TCP\/Serial, AXIP over UDP, and native Linux AX.25 devices. More recent than LinPac, it includes support for BBS, YAPP file transfer, and APRS.<\/p>\n<p><strong>call<\/strong><br \/>\nA command-line client included in ax25apps. It allows direct AX.25 connections from the terminal, useful for testing and minimal operation.<\/p>\n<p><strong>listen<\/strong><br \/>\nAlso part of ax25apps: captures and displays all received AX.25 frames on the interface, the command-line equivalent of a TNC hardware <code>MON ON<\/code> mode.<\/p>\n<h2>APRS Clients<\/h2>\n<p>The most common use of packet radio today remains APRS (<em>Automatic Packet Reporting System<\/em>)<\/p>\n<p><strong>Xastir<\/strong><br \/>\nA program for receiving and plotting APRS position packets. It supports 125 map formats, multiple TNC types and weather stations, Festival speech synthesis, AX.25 networks (Soundmodem\/Baycom\/SCC), and seven languages. It is the reference graphical APRS client on Linux, mature and highly configurable.<\/p>\n<p><strong>YAAC<\/strong> (Yet Another APRS Client)<br \/>\nA Java-based cross-platform APRS client. Modern interface, supports connection to Dire Wolf via KISS TCP, OpenStreetMap mapping, and APRS messaging. A good alternative to Xastir for those who prefer a more modern interface.<\/p>\n<div class=\"ztit\" style=\"background-color:rgb(102, 156, 155);; border: 1px solid rgb(102, 156, 155);;\"><img decoding=\"async\" src=\"https:\/\/www.i8zse.it\/en\/wp-content\/plugins\/textbox\/irev.png\" style=\"background-color:rgb(102, 156, 155);;\">Info<\/div><div class=\"zbox\" style=\"border: 1px solid rgb(102, 156, 155);;\"><br \/>\nA global map of active APRS stations is available at <a href=\"https:\/\/aprs.fi\" target=\"_blank\" rel=\"noopener\">aprs.fi<\/a><br \/>\n<\/div>\n<h2>BBS and Nodes<\/h2>\n<p>Packet radio BBS systems are now less useful than in the past, but some colleagues (myself included) still keep them active.<\/p>\n<p><strong>F6FBB (FBB)<\/strong><br \/>\nThe most widely used packet BBS in the Linux world. Debian includes the full FBB BBS software. FBB is somewhat unusual in configuration, as its startup script generates configuration files on first run. It supports automatic BBS forwarding, personal messages, and bulletins, and is compatible with the Linux AX.25 kernel stack.<\/p>\n<p><strong>LinBPQ \/ BPQ32<\/strong><br \/>\nLinux port of the popular BPQ32 by John Wiseman (G8BPQ). It is a full AX.25 node\/switch that can handle multiple ports simultaneously (KISS, AXIP, Winlink, VARA, ARDOP, Telnet) and integrate BBS, digipeater, RMS gateway, and DX cluster. Widely used for public nodes and Winlink gateways on Raspberry Pi systems.<\/p>\n<p><strong>Uronode<\/strong><br \/>\nA front-end for AX.25\/NET\/ROM\/ROSE nodes, designed as a modern replacement for the classic <code>node<\/code>. It integrates with the Linux stack and BPQ32, and presents the user with an interactive prompt for navigating the packet network (connect, nodes, links, routes\u2026).<\/p>\n<h2>Routing and Tunneling<\/h2>\n<p>This is a somewhat borderline area with respect to pure radio operation, but the technology also makes it possible to use the Internet as a transport medium.<\/p>\n<p><strong>ax25ipd<\/strong><br \/>\nImplements AXIP, a protocol for routing AX.25 frames over the Internet. It is not the same as Telnet: it is mainly used as a long-distance backbone link between AX.25 nodes, tunneling packet traffic over IP between geographically distant stations.<\/p>\n<p><strong>axudp \/ ax25ip<\/strong><br \/>\nVariants of AX.25 tunneling over UDP\/IP, used for backbone links between nodes when TCP latency is undesirable.<\/p>\n<h2>In summary<\/h2>\n<p>Linux provides a complete and modular ecosystem: every component is interchangeable, allowing the construction of anything from a simple packet client to a full multi-function public node with Winlink gateway, APRS digipeater, and BBS, even on low-cost hardware such as a Raspberry Pi.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Foundations: the Linux kernel and the AX.25 stack Linux is the only operating system in the world with native AX.25 support directly in the kernel. AX.25, NET\/ROM, and ROSE are all supported directly in the Linux kernel, which means a Linux system can act as a full packet node without relying on third-party software for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":902,"parent":884,"menu_order":7,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-901","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Packet &amp; Linux - I8ZSE<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Packet &amp; Linux - I8ZSE\" \/>\n<meta property=\"og:description\" content=\"Foundations: the Linux kernel and the AX.25 stack Linux is the only operating system in the world with native AX.25 support directly in the kernel. AX.25, NET\/ROM, and ROSE are all supported directly in the Linux kernel, which means a Linux system can act as a full packet node without relying on third-party software for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/\" \/>\n<meta property=\"og:site_name\" content=\"I8ZSE\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/06\/xastir.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"952\" \/>\n\t<meta property=\"og:image:height\" content=\"594\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/\",\"url\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/\",\"name\":\"Packet & Linux - I8ZSE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/xastir.jpg\",\"datePublished\":\"2026-06-07T09:37:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/xastir.jpg\",\"contentUrl\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/xastir.jpg\",\"width\":952,\"height\":594},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/packet-linux\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux\",\"item\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/linux\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Packet &#038; Linux\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/\",\"name\":\"I8ZSE\",\"description\":\"Hamradio\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/#\\\/schema\\\/person\\\/b5b002dfac76285c57ab63e5fe76bf83\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/#\\\/schema\\\/person\\\/b5b002dfac76285c57ab63e5fe76bf83\",\"name\":\"giorgio@i8zse.eu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/it-header.png\",\"url\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/it-header.png\",\"contentUrl\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/it-header.png\",\"width\":452,\"height\":150,\"caption\":\"giorgio@i8zse.eu\"},\"logo\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/it-header.png\"},\"sameAs\":[\"https:\\\/\\\/www.hamlinux.it\\\/en\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Packet & Linux - I8ZSE","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/","og_locale":"en_GB","og_type":"article","og_title":"Packet & Linux - I8ZSE","og_description":"Foundations: the Linux kernel and the AX.25 stack Linux is the only operating system in the world with native AX.25 support directly in the kernel. AX.25, NET\/ROM, and ROSE are all supported directly in the Linux kernel, which means a Linux system can act as a full packet node without relying on third-party software for [&hellip;]","og_url":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/","og_site_name":"I8ZSE","og_image":[{"width":952,"height":594,"url":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/06\/xastir.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Estimated reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/","url":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/","name":"Packet & Linux - I8ZSE","isPartOf":{"@id":"https:\/\/www.i8zse.it\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/#primaryimage"},"image":{"@id":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/#primaryimage"},"thumbnailUrl":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/06\/xastir.jpg","datePublished":"2026-06-07T09:37:09+00:00","breadcrumb":{"@id":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/#primaryimage","url":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/06\/xastir.jpg","contentUrl":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/06\/xastir.jpg","width":952,"height":594},{"@type":"BreadcrumbList","@id":"https:\/\/www.i8zse.it\/en\/linux\/packet-linux\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.i8zse.it\/en\/"},{"@type":"ListItem","position":2,"name":"Linux","item":"https:\/\/www.i8zse.it\/en\/linux\/"},{"@type":"ListItem","position":3,"name":"Packet &#038; Linux"}]},{"@type":"WebSite","@id":"https:\/\/www.i8zse.it\/en\/#website","url":"https:\/\/www.i8zse.it\/en\/","name":"I8ZSE","description":"Hamradio","publisher":{"@id":"https:\/\/www.i8zse.it\/en\/#\/schema\/person\/b5b002dfac76285c57ab63e5fe76bf83"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.i8zse.it\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/www.i8zse.it\/en\/#\/schema\/person\/b5b002dfac76285c57ab63e5fe76bf83","name":"giorgio@i8zse.eu","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/03\/it-header.png","url":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/03\/it-header.png","contentUrl":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/03\/it-header.png","width":452,"height":150,"caption":"giorgio@i8zse.eu"},"logo":{"@id":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2026\/03\/it-header.png"},"sameAs":["https:\/\/www.hamlinux.it\/en"]}]}},"_links":{"self":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/pages\/901","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/comments?post=901"}],"version-history":[{"count":1,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/pages\/901\/revisions"}],"predecessor-version":[{"id":903,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/pages\/901\/revisions\/903"}],"up":[{"embeddable":true,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/pages\/884"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/media\/902"}],"wp:attachment":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/media?parent=901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}