{"id":919,"date":"2022-04-16T11:50:26","date_gmt":"2022-04-16T09:50:26","guid":{"rendered":"https:\/\/www.i8zse.it\/en\/?p=919"},"modified":"2026-06-07T11:54:21","modified_gmt":"2026-06-07T09:54:21","slug":"packet-bbs","status":"publish","type":"post","link":"https:\/\/www.i8zse.it\/en\/packet-bbs\/","title":{"rendered":"Packet BBS"},"content":{"rendered":"<p>&#8220;`html<\/p>\n<h2>The Foundations: the Linux Kernel and the AX.25 Stack<\/h2>\n<p><strong><em>Packet Radio<\/em><\/strong> celebrates around 40 years of existence in 2022, considering the first experiments developed between the late 1970s and early 1980s. During those years, several amateur radio groups contributed to the development of this technology; among them, the American Radio Research and Development Corporation (AMRAD) proposed the use of an amateur-radio-adapted version of the CCITT X.25 standard, a packet networking protocol. This was something revolutionary compared to other digital amateur radio communication technologies of the time. AX.25 indeed allows, thanks to its shared medium access mechanism (CSMA), multiple stations (nodes) to operate on the same frequency, enabling the sharing of a single radio channel among multiple users. Furthermore, through nodes and digipeaters implementing <em>store-and-forward<\/em> mechanisms, reliable transfers can be achieved even between two stations that are not directly reachable. This was a completely different world compared to typical amateur digital communications, generally point-to-point, and extremely interesting also from an educational standpoint, considering that at the time data networks were still in their infancy even in the <em>business<\/em> world. The downside was that its implementation required each node to be equipped with a TNC (<em>terminal node controller<\/em>), a small dedicated microcomputer handling all processing required for data exchange.<\/p>\n<p>This was still technology largely developed by radio amateurs, driven in those years by the Tucson Amateur Packet Radio (TAPR) group: their TNC-1 kit appeared in the <a href=\"https:\/\/ia803006.us.archive.org\/12\/items\/hamradiomag\/ham_radio_magazine\/Ham%20Radio%20Magazine%201983\/07%20July%201983.pdf\" target=\"_blank\" rel=\"noopener\">July<\/a> and <a href=\"https:\/\/ia803006.us.archive.org\/12\/items\/hamradiomag\/ham_radio_magazine\/Ham%20Radio%20Magazine%201983\/08%20August%201983.pdf\" target=\"_blank\" rel=\"noopener\">August<\/a> 1983 issues of Ham Radio Magazine and became the first of a long series of amateur and commercial products.<\/p>\n<p>Although activating it in those years required significant investment \u2014 in addition to the TNC, a computer or terminal was essential \u2014 packet radio quickly gained a strong community of enthusiasts due to its ability to distribute and make amateur radio news and documentation available across regions. Its golden age lasted over 10 years. Then, in parallel with the development of the Internet, which gradually overshadowed this capability, it fell into near disuse. Today it is mainly used as support for APRS, but it still survives in local networks and experimental activities.<\/p>\n<p>That said, packet radio remains an excellent educational and experimental tool in the field of networks and digital communications \u2014 especially today, when technological advances have made it possible to implement it at negligible cost.<\/p>\n<p>An example is the packet node I assembled these days, operating from my shack on 144.875 MHz.<\/p>\n<p><a href=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/IMG_20220417-scaled-1.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3413 size-large\" src=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/IMG_20220417-scaled-1-1024x768.jpg\" alt=\"BBS Packet I8ZSE\" width=\"640\" height=\"480\" \/><\/a><\/p>\n<p>It is based on an old Raspberry Pi 1 B. To \u201cdo packet\u201d with a Raspberry Pi, which does not have a usable analog audio input, it is sufficient to add a USB audio \u201cdongle\u201d. The transceiver is an old Icom IC-02E.<\/p>\n<h3>The Operating System<\/h3>\n<p>Linux has native support for AX.25 and is therefore the most suitable operating system for this application. As a distribution I used <a href=\"https:\/\/www.devuan.org\/\" target=\"_blank\" rel=\"noopener\">Devuan<\/a>, a Debian-based system without <em>systemd<\/em>: the resources of the RPi-1 are quite limited, so it is useful to follow the <a href=\"https:\/\/it.wikipedia.org\/wiki\/KISS_(principio)\" target=\"_blank\" rel=\"noopener\">KISS<\/a> philosophy. I specifically used version 2 (called <em>ascii<\/em>), which uses kernel 4.14. For packet radio use it may be preferable to avoid very recent kernels, since in some configurations the AX.25 stack presents known unresolved issues. In particular, on Raspberry Pi systems there is also a <a href=\"https:\/\/bugs.launchpad.net\/raspbian\/+bug\/1819560\" target=\"_blank\" rel=\"noopener\">known bug<\/a> that may affect proper operation.<\/p>\n<p>TNC functions are implemented in software. On Linux there are two main solutions: <strong><em>soundmodem<\/em><\/strong> and <strong><em>direwolf<\/em><\/strong>. The latter is more modern and offers superior features, but on very limited hardware such as the RPi-1 it requires more resources. I therefore used the lighter <a href=\"https:\/\/github.com\/VK3FNG\/soundmodem\" target=\"_blank\" rel=\"noopener\">soundmodem<\/a> (a different project from the similarly named Windows version by UZ7HO), which still works very well with a low resource footprint.<\/p>\n<p>The packages to install via apt-get are therefore <em>soundmodem, libax25, libax25-dev, ax25-tools, ax25-apps<\/em>. It is convenient to disable onboard audio by editing \/boot\/config.txt and adding the line <code><strong>dtparam=audio=off<\/strong><\/code>.<\/p>\n<h3>The Transceiver<\/h3>\n<p>The project is intended for 24\/7 continuous operation, so it requires a dedicated device. The most suitable type is an HT, or <em>walkie talkie<\/em>. It is likely that you already have one unused in your shack, and nowadays they are extremely inexpensive anyway. I used an old Icom IC-02E, but I also tested other devices such as the Baofeng UV-5R. Since handheld radios do not have a standard method for transmit switching, a dedicated interface must be built.<\/p>\n<h3>The Interface<\/h3>\n<p>This can be adapted, with small variations, to multiple models: those that key by pulling the microphone hot line to ground through a resistor (Icom, Yaesu), and those that instead close the microphone ground to the speaker ground (Baofeng).<\/p>\n<p><a href=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/interfaccia.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3414\" src=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/interfaccia.png\" alt=\"Digital interface schematic\" width=\"450\" height=\"372\" \/><\/a><\/p>\n<p>The two audio lines are used to match the output levels of the Raspberry Pi and the HT (both designed for headphones\/speakers) to the microphone inputs of the counterpart, with DC isolation. I did not find it necessary to use isolation transformers.<\/p>\n<p>A third line is used for transmit switching (PTT). Some people use the HT VOX, but this is not an optimal solution: it is designed for voice and introduces unwanted delay in digital modes, increasing latency. The best solution, in the case of a Raspberry Pi, is to use a GPIO line such as GPIO4.<\/p>\n<p>Both soundmodem and direwolf allow direct use of a GPIO as PTT, as does hamlib for radios with CAT control, or classic serial control line interfaces.<\/p>\n<p>GPIO isolation (which operates at 3.3V) is handled by an optocoupler.<\/p>\n<p><a href=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/interfaccia1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3415\" src=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/interfaccia1.png\" alt=\"BBS\u2013RTX physical interface\" width=\"450\" height=\"315\" \/><\/a><\/p>\n<h3>AX.25<\/h3>\n<p>The next step is configuring the AX.25 stack. The first file to modify is <em>\/etc\/ax25\/axports<\/em>:<\/p>\n<table>\n<tbody>\n<tr>\n<td>\n<pre># \/etc\/ax25\/axports\r\n#\r\n# name callsign speed paclen window description\r\n#\r\nax0 I8ZSE-3 1200 255 2 144.875 (1200 bps)<\/pre>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The fields are: <strong>name<\/strong>, <strong>callsign<\/strong>, <strong>speed<\/strong>, <strong>paclen<\/strong>, <strong>window<\/strong>, and <strong>description<\/strong>.<\/p>\n<p>Once the port is defined, soundmodem is configured in <em>\/etc\/ax25\/soundmodem.conf<\/em>. [&#8230;]<\/p>\n<p>In the <strong><em>pkt<\/em><\/strong> line, <strong><em>mode<\/em><\/strong> can take two values: <strong><em>MKISS<\/em><\/strong> and <strong><em>KISS<\/em><\/strong>. MKISS allows multi-channel operation and can be used as a basis for more advanced configurations, while KISS creates a simple interface to the AX.25 stack.<\/p>\n<h3>Hamlib<\/h3>\n<p>[&#8230;]<\/p>\n<p>Soundmodem must always run in the background; it can be started automatically at boot, for example via <em>crontab<\/em> using an <code><strong>@reboot<\/strong><\/code> entry.<\/p>\n<p>After rebooting, the AX.25 stack should be configured and active.<\/p>\n<p>With more powerful hardware (such as an RPi-3\/4 or a PC), it is possible to use <em><strong>Direwolf<\/strong><\/em> instead of soundmodem as a soft-modem. It implements the basic functions of a KISS TNC but also offers many additional features. It can operate as an APRS GPS tracker, digipeater, and gateway without external software, and can be used over TCP\/IP as well as through the AX.25 stack. The full feature list is available on the project\u2019s <a href=\"https:\/\/github.com\/wb2osz\/direwolf\" target=\"_blank\" rel=\"noopener\">GitHub<\/a> page.<\/p>\n<p>Direwolf is available in the apt-get repositories; however, since it is an actively developed project, it may be preferable to download and compile the latest source code.<\/p>\n<p>The Direwolf configuration file is a simple text file. For TNC usage, the following example is equivalent to the soundmodem configuration shown earlier:<\/p>\n<pre>PTT GPIO 4\r\nACHANNELS 1\r\nCHANNEL 0\r\nMYCALL I8ZSE-1\r\nMODEM 1200<\/pre>\n<p>Direwolf supports several PTT control methods, all well documented. For example, for a Yaesu FT-897 connected via CAT at 38400 bps:<\/p>\n<pre>PTT RIG 1023 \/dev\/ttyUSB0 38400<\/pre>\n<p>Direwolf can display diagnostic information directly to stdout, which is very useful for system tuning. For this reason it is convenient to run it in a separate terminal so that it can be monitored at any time. For this purpose, GNU screen can be used, installable with <em>apt-get install screen<\/em>. <strong><em>Screen<\/em><\/strong> is a terminal multiplexer that allows persistent sessions detached from the original terminal, which can be reattached later.<\/p>\n<p>To start Direwolf I use the following script:<\/p>\n<pre>echo \"starting Direwolf...\"\r\n\/usr\/bin\/screen -d -m -S direwolf \/usr\/bin\/direwolf -p -c direwolf.conf -t 0\r\nsleep 2\r\nPTS=`ls -l \/tmp\/kisstnc | awk '{ print $11 }'`\r\n\/usr\/sbin\/kissattach $PTS ax0\r\n# set kiss parameters\r\n\/usr\/sbin\/kissparms -c 1 -p ax0 -r 125 -t 250 -s 20 -f n -l 20\r\necho \"... started\"<\/pre>\n<p>The command <em>\/usr\/bin\/screen -d -m -S direwolf<\/em> starts a detached session named <em>direwolf<\/em>, in which <em>\/usr\/bin\/direwolf -p -c direwolf.conf -t 0<\/em> is executed. The <em>-p<\/em> option creates a pseudo-terminal used to connect the AX.25 stack, while <em>-t 0<\/em> disables text coloring.<\/p>\n<p>Direwolf creates a symbolic link in <em>\/tmp\/kisstnc<\/em> to expose the dynamically assigned pseudo-terminal name. This value is read into the variable <em>PTS<\/em>, which is then used by <em>kissattach<\/em> to attach the AX.25 interface (ax0). The <em>kissparms<\/em> command is then used to configure AFSK channel timing parameters.<\/p>\n<p>Direwolf can be run in user space, provided the user has access to audio devices (audio group). However, some commands require elevated privileges; a simple solution is to enable the SUID bit (<em>chmod u+s<\/em>) on the required executables (direwolf, kissattach, kissparms, axlisten, axcall, etc.).<\/p>\n<h3>Audio Levels<\/h3>\n<p>Both soundmodem and Direwolf require careful adjustment of audio levels, both for transmission and reception. A first coarse adjustment can be made via the hardware interface, while fine tuning is done using the ALSA mixer (<em>alsamixer<\/em>):<\/p>\n<p><a href=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/alsamixer.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-3416\" src=\"https:\/\/www.i8zse.it\/wp-content\/uploads\/2022\/04\/alsamixer.jpg\" alt=\"ALSA mixer screenshot\" width=\"450\" height=\"241\" \/><\/a><\/p>\n<p>Transmit adjustment is relatively simple: even without measurement tools it is enough to monitor modulation using another radio. On reception it is useful to rely on Direwolf\u2019s diagnostic output, which indicates whether the audio level is too high or too low. Even on less powerful systems it can be useful to run it temporarily for calibration. It is advisable to disable automatic gain control to obtain more accurate results.<\/p>\n<p>Once configuration is complete, it is important to save it with <em>alsactl store<\/em>, otherwise it will be lost after reboot.<\/p>\n<p>To access the Direwolf session: <em>screen -r direwolf<\/em>. To detach while keeping it running: <strong>CTRL-A<\/strong> followed by <strong>D<\/strong>.<\/p>\n<h3>Modem<\/h3>\n<p>The AX.25 protocol does not define the type of modem to be used. The most common standard on VHF\/UHF is 1200 baud AFSK, with tones at 1200 and 2200 Hz (derived from Bell 202). This is an outdated and inefficient technology. More advanced alternatives exist, such as 9600 baud G3RUH, originally designed for satellite use but also adopted for terrestrial links, or solutions such as SuperVozelj.<\/p>\n<p>An alternative approach is the use of more efficient modulation schemes that better exploit the available bandwidth (about 2.2 kHz) with standard equipment. However, in amateur radio usage, speed is not always the priority, except for specific applications such as emergency communications.<\/p>\n<p>Direwolf also supports <em><a href=\"https:\/\/en.wikipedia.org\/wiki\/FX.25_Forward_Error_Correction\" target=\"_blank\" rel=\"noopener\">FX.25<\/a><\/em>, which introduces forward error correction mechanisms. Soundmodem also includes experimental modes such as <em><a href=\"https:\/\/en.wikipedia.org\/wiki\/Q15X25\" target=\"_blank\" rel=\"noopener\">Q15X25<\/a><\/em>.<\/p>\n<p>These are still interesting areas of experimentation: remaining tied to the TNC-2 model is quite limiting today.<\/p>\n<h3>Testing<\/h3>\n<p>Once levels are adjusted, it is time to test the system. For this purpose, the <a href=\"http:\/\/www.wa8lmf.net\/TNCtest\/\" target=\"_blank\" rel=\"noopener\">Test CD<\/a> by WA8LMF is very useful, containing recordings of radio traffic that can be used as a test source. In Linux, the <em>axlisten<\/em> command allows monitoring received traffic, while <em>axcall<\/em> allows establishing a connection with another station and testing the transmit chain.<\/p>\n<p>At this point, the packet radio layer of the system is operational, and applications can be installed.<\/p>\n<h3>LinFBB<\/h3>\n<p>F6FBB is a well-known BBS application used since the 1980s. LinFBB is the Linux version, installable via apt-get or from source. Its configuration requires several files; among them, one of the most significant is <em>port.sys<\/em>:<\/p>\n<pre># FBB7.0.10\r\n#\r\n#Ports TNCs\r\n1 1\r\n#\r\n#Com Interface Adress (Hex) Baud\r\n1 9 0 1200\r\n#\r\n#TNC NbCh Com MultCh Pacln Maxfr NbFwd MxBloc M\/P-Fwd Mode Freq\r\n0 0 0 0 0 0 0 0 00\/01 ---- File-fwd.\r\n1 4 1 ax0 250 7 2 10 30\/05 XUWYL 144.875\r\n#\r\n# End of file.\r\n#<\/pre>\n<p>LinFBB can be started automatically at system boot via <em>\/etc\/rc.local<\/em>. It is possible to connect locally using <em>xfbbC -c -i &lt;callsign&gt;<\/em> (TCP port 3386).<\/p>\n<p><em><strong>DxSpider beacon<\/strong><\/em><\/p>\n<p>On my node there is also an active beacon that displays spots coming from the DXCluster network, in particular from the node <a href=\"https:\/\/dxcluster.i8zse.eu\" target=\"_blank\" rel=\"noopener\">dxcluster.i8zse.eu<\/a>. The system waits for commands sent via UI packets (DXCLUSTER HELP or DXCLUSTER &lt;filter&gt;), temporarily enabling transmission of filtered spots.<\/p>\n<p>The software is available on <a href=\"https:\/\/github.com\/grutig\/ax25-dxspider-beacon\" target=\"_blank\" rel=\"noopener\">GitHub<\/a>.<\/p>\n<div class=\"ztit\" style=\"background-color:red; border: 1px solid red;\"><img decoding=\"async\" src=\"https:\/\/www.i8zse.it\/en\/wp-content\/plugins\/textbox\/irev.png\" style=\"background-color:red;\">Link utili<\/div><div class=\"zbox\" style=\"border: 1px solid red;\">\n<ul>\n<li><a href=\"\/wp-content\/uploads\/2022\/04\/Ax25-2.0.pdf\" target=\"_blank\" rel=\"noopener\">Ax25 Link Layer Protocol, 2.0, 1984<\/a><\/li>\n<li><a href=\"\/wp-content\/uploads\/2022\/04\/AX25.2.2.pdf\" target=\"_blank\" rel=\"noopener\">Ax25 Link Layer Protocol, 2.2, 1998<\/a><\/li>\n<li><a id=\"kiss\"><\/a>Protocol <a href=\"\/wp-content\/uploads\/2022\/04\/kiss.pdf\" target=\"_blank\" rel=\"noopener\">KISS TNC<\/a><\/li>\n<li>Soundmodem sources on <a href=\"https:\/\/github.com\/VK3FNG\/soundmodem\" target=\"_blank\" rel=\"noopener\">GitHub<\/a><\/li>\n<\/ul>\n<p><\/div><br \/>\n&#8220;`<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8220;`html The Foundations: the Linux Kernel and the AX.25 Stack Packet Radio celebrates around 40 years of existence in 2022, considering the first experiments developed between the late 1970s and early 1980s. During those years, several amateur radio groups contributed to the development of this technology; among them, the American Radio Research and Development Corporation [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":921,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[48,49],"tags":[50,51,52,53],"class_list":["post-919","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-packet","tag-bbs","tag-f6fbb","tag-hamlib","tag-interface"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Packet BBS - I8ZSE<\/title>\n<meta name=\"description\" content=\"A description of my packet bbs mad out a old handheld and a rpi\" \/>\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\/packet-bbs\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Packet BBS - I8ZSE\" \/>\n<meta property=\"og:description\" content=\"A description of my packet bbs mad out a old handheld and a rpi\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.i8zse.it\/en\/packet-bbs\/\" \/>\n<meta property=\"og:site_name\" content=\"I8ZSE\" \/>\n<meta property=\"article:published_time\" content=\"2022-04-16T09:50:26+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-07T09:54:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2022\/04\/bbsheader.png\" \/>\n\t<meta property=\"og:image:width\" content=\"989\" \/>\n\t<meta property=\"og:image:height\" content=\"502\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"giorgio@i8zse.eu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"giorgio@i8zse.eu\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/\"},\"author\":{\"name\":\"giorgio@i8zse.eu\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/#\\\/schema\\\/person\\\/b5b002dfac76285c57ab63e5fe76bf83\"},\"headline\":\"Packet BBS\",\"datePublished\":\"2022-04-16T09:50:26+00:00\",\"dateModified\":\"2026-06-07T09:54:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/\"},\"wordCount\":1865,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/#\\\/schema\\\/person\\\/b5b002dfac76285c57ab63e5fe76bf83\"},\"image\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/bbsheader.png\",\"keywords\":[\"BBS\",\"F6FBB\",\"Hamlib\",\"Interface\"],\"articleSection\":[\"linux\",\"packet\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/\",\"url\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/\",\"name\":\"Packet BBS - I8ZSE\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/bbsheader.png\",\"datePublished\":\"2022-04-16T09:50:26+00:00\",\"dateModified\":\"2026-06-07T09:54:21+00:00\",\"description\":\"A description of my packet bbs mad out a old handheld and a rpi\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/bbsheader.png\",\"contentUrl\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/wp-content\\\/uploads\\\/2022\\\/04\\\/bbsheader.png\",\"width\":989,\"height\":502},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/packet-bbs\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Packet BBS\"}]},{\"@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\"],\"url\":\"https:\\\/\\\/www.i8zse.it\\\/en\\\/author\\\/giorgioi8zse-eu\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Packet BBS - I8ZSE","description":"A description of my packet bbs mad out a old handheld and a rpi","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\/packet-bbs\/","og_locale":"en_GB","og_type":"article","og_title":"Packet BBS - I8ZSE","og_description":"A description of my packet bbs mad out a old handheld and a rpi","og_url":"https:\/\/www.i8zse.it\/en\/packet-bbs\/","og_site_name":"I8ZSE","article_published_time":"2022-04-16T09:50:26+00:00","article_modified_time":"2026-06-07T09:54:21+00:00","og_image":[{"width":989,"height":502,"url":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2022\/04\/bbsheader.png","type":"image\/png"}],"author":"giorgio@i8zse.eu","twitter_card":"summary_large_image","twitter_misc":{"Written by":"giorgio@i8zse.eu","Estimated reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/#article","isPartOf":{"@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/"},"author":{"name":"giorgio@i8zse.eu","@id":"https:\/\/www.i8zse.it\/en\/#\/schema\/person\/b5b002dfac76285c57ab63e5fe76bf83"},"headline":"Packet BBS","datePublished":"2022-04-16T09:50:26+00:00","dateModified":"2026-06-07T09:54:21+00:00","mainEntityOfPage":{"@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/"},"wordCount":1865,"commentCount":0,"publisher":{"@id":"https:\/\/www.i8zse.it\/en\/#\/schema\/person\/b5b002dfac76285c57ab63e5fe76bf83"},"image":{"@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2022\/04\/bbsheader.png","keywords":["BBS","F6FBB","Hamlib","Interface"],"articleSection":["linux","packet"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.i8zse.it\/en\/packet-bbs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/","url":"https:\/\/www.i8zse.it\/en\/packet-bbs\/","name":"Packet BBS - I8ZSE","isPartOf":{"@id":"https:\/\/www.i8zse.it\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/#primaryimage"},"image":{"@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2022\/04\/bbsheader.png","datePublished":"2022-04-16T09:50:26+00:00","dateModified":"2026-06-07T09:54:21+00:00","description":"A description of my packet bbs mad out a old handheld and a rpi","breadcrumb":{"@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.i8zse.it\/en\/packet-bbs\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/#primaryimage","url":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2022\/04\/bbsheader.png","contentUrl":"https:\/\/www.i8zse.it\/en\/wp-content\/uploads\/2022\/04\/bbsheader.png","width":989,"height":502},{"@type":"BreadcrumbList","@id":"https:\/\/www.i8zse.it\/en\/packet-bbs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.i8zse.it\/en\/"},{"@type":"ListItem","position":2,"name":"Packet BBS"}]},{"@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"],"url":"https:\/\/www.i8zse.it\/en\/author\/giorgioi8zse-eu\/"}]}},"_links":{"self":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/posts\/919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/types\/post"}],"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=919"}],"version-history":[{"count":2,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/posts\/919\/revisions"}],"predecessor-version":[{"id":922,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/posts\/919\/revisions\/922"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/media\/921"}],"wp:attachment":[{"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/media?parent=919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/categories?post=919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.i8zse.it\/en\/wp-json\/wp\/v2\/tags?post=919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}