{"id":82,"date":"2008-12-19T07:39:58","date_gmt":"2008-12-19T07:39:58","guid":{"rendered":"http:\/\/blog.danplanet.com\/wordpress\/?p=82"},"modified":"2008-12-19T07:39:58","modified_gmt":"2008-12-19T07:39:58","slug":"outpost-on-linux-with-wine","status":"publish","type":"post","link":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/","title":{"rendered":"Outpost on Linux with WINE"},"content":{"rendered":"<p>I recently decided to play around with packet radio while I had some time off of work for the holidays.&nbsp; I just wanted something to get my feet wet with, not knowing if it would be something I really wanted to get into.&nbsp; So, I ended up with a pair of <a href=\"http:\/\/www.kantronics.com\/\" mce_href=\"http:\/\/www.kantronics.com\/\">Kantronics<\/a> <a href=\"http:\/\/www.geocities.jp\/tnc_gallery\/kpc2-e.htm\" mce_href=\"http:\/\/www.geocities.jp\/tnc_gallery\/kpc2-e.htm\"> KPC-2<\/a>s for the right price of $25 total.&nbsp; Interestingly, these are from the mid-eighties and the manual describes how to interface to computers like the VIC-20, C64, Apple II, etc.&nbsp; Even though I have a working VIC-20 up in the attic, I decided I&#8217;d go forward with my modern PC.<\/p>\n<p>The local group uses <a href=\"http:\/\/www.outpostpm.org\" mce_href=\"http:\/\/www.outpostpm.org\">Outpost<\/a>  to connect to packet BBSes for message exchange.&nbsp; Even though this is a Windows app, I decided to play nice and do what I could to set myself up to use it.&nbsp; I immediately tried running it under KVM, passing my serial port through.&nbsp; It worked just fine, which meant I had a reasonable solution at the very least.&nbsp; However, this is less than ideal because it requires me to run a full copy of Windows, and it requires me to dedicate a serial port to KVM whenever it&#8217;s booted (since KVM doesn&#8217;t let go of it while running).<\/p>\n<p>So, I went down the path of running Outpost under <a href=\"http:\/\/www.winehq.com\" mce_href=\"http:\/\/www.winehq.com\">WINE<\/a>.&nbsp; The program installed fine and seemed to run normally.&nbsp; However, it refused to speak to the serial port properly.&nbsp; I could see that it was opening the port, and I could even send commands to the TNC but no serial data would flow back to Outpost.&nbsp; Running under CrossoverOffice and regular WINE, I&#8217;d get the following errors:<\/p>\n<blockquote style=\"font-family: Courier New,Courier,mono;\"><p>fixme:comm:set_queue_size insize 1024 outsize 512 unimplemented stub<br \/>fixme:comm:GetCommProperties (0x80 0x32f514 )<\/p><\/blockquote>\n<p>Some diggging seemed to reveal that this may be related to my use of a USB-to-serial adapter, although I&#8217;m not sure how.&nbsp; Since it&#8217;s not likely I&#8217;ll be increasing the number of machines in my possession that have real serial ports, I figured this was mostly the end of the road for using Outpost under WINE to access the serial port.&nbsp; I&#8217;m not a Windows programmer, so I wouldn&#8217;t know much about how to even bring it up with the Outpost folks.<\/p>\n<p>Not to be defeated, I decided to try another approach.&nbsp; Outpost has the ability to connect to a BBS over telnet directly, without using a TNC.&nbsp; Since networking under WINE usually works quite well, I decided to try to work up a proxy.&nbsp; I ended up with a small C program that opens the serial port and listens on a socket.&nbsp; When it receives a socket connection, it instructs the TNC to call the BBS and proxies the traffic until a disconnect occurs.&nbsp; The result is that I can use Outpost directly in WINE, talking to my proxy program running natively in Linux.<\/p>\n<p>It&#8217;s a total hack, but it works, and it also means that you can remote your TNC and radio from the machine you run Outpost on, which can be kinda handy.&nbsp; If you&#8217;re interested, you can grab the source <a href=\"http:\/\/static.danplanet.com\/preserve\/serproxy.c\" mce_href=\"http:\/\/static.danplanet.com\/preserve\/serproxy.c\">here<\/a>.&nbsp; Note that you should configure Outpost to send no password, and set the username equal to the BBS you want to connect to.&nbsp; The proxy will read the login and use that callsign in the connect command to the TNC.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I recently decided to play around with packet radio while I had some time off of work for the holidays.&nbsp; I just wanted something to get my feet wet with, not knowing if it would be something I really wanted &hellip; <a href=\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-82","post","type-post","status-publish","format-standard","hentry","category-radio"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Outpost on Linux with WINE - Right Angles<\/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.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Outpost on Linux with WINE - Right Angles\" \/>\n<meta property=\"og:description\" content=\"I recently decided to play around with packet radio while I had some time off of work for the holidays.&nbsp; I just wanted something to get my feet wet with, not knowing if it would be something I really wanted &hellip; Continue reading &rarr;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\" \/>\n<meta property=\"og:site_name\" content=\"Right Angles\" \/>\n<meta property=\"article:published_time\" content=\"2008-12-19T07:39:58+00:00\" \/>\n<meta name=\"author\" content=\"Dan\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dan\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\"},\"author\":{\"name\":\"Dan\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\"},\"headline\":\"Outpost on Linux with WINE\",\"datePublished\":\"2008-12-19T07:39:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\"},\"wordCount\":591,\"publisher\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\"},\"articleSection\":[\"Radio\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\",\"url\":\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\",\"name\":\"Outpost on Linux with WINE - Right Angles\",\"isPartOf\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#website\"},\"datePublished\":\"2008-12-19T07:39:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.danplanet.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Outpost on Linux with WINE\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/#website\",\"url\":\"https:\/\/www.danplanet.com\/blog\/\",\"name\":\"Right Angles\",\"description\":\"If they&#039;re not right...they&#039;re wrong\",\"publisher\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.danplanet.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c\",\"name\":\"Dan\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g\",\"caption\":\"Dan\"},\"logo\":{\"@id\":\"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/\"},\"url\":\"https:\/\/www.danplanet.com\/blog\/author\/dan\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Outpost on Linux with WINE - Right Angles","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.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/","og_locale":"en_US","og_type":"article","og_title":"Outpost on Linux with WINE - Right Angles","og_description":"I recently decided to play around with packet radio while I had some time off of work for the holidays.&nbsp; I just wanted something to get my feet wet with, not knowing if it would be something I really wanted &hellip; Continue reading &rarr;","og_url":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/","og_site_name":"Right Angles","article_published_time":"2008-12-19T07:39:58+00:00","author":"Dan","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Dan","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/#article","isPartOf":{"@id":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/"},"author":{"name":"Dan","@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c"},"headline":"Outpost on Linux with WINE","datePublished":"2008-12-19T07:39:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/"},"wordCount":591,"publisher":{"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c"},"articleSection":["Radio"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/","url":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/","name":"Outpost on Linux with WINE - Right Angles","isPartOf":{"@id":"https:\/\/www.danplanet.com\/blog\/#website"},"datePublished":"2008-12-19T07:39:58+00:00","breadcrumb":{"@id":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.danplanet.com\/blog\/2008\/12\/19\/outpost-on-linux-with-wine\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.danplanet.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Outpost on Linux with WINE"}]},{"@type":"WebSite","@id":"https:\/\/www.danplanet.com\/blog\/#website","url":"https:\/\/www.danplanet.com\/blog\/","name":"Right Angles","description":"If they&#039;re not right...they&#039;re wrong","publisher":{"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.danplanet.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/0f6920aa6d63cae437bf8b122200287c","name":"Dan","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9b73782704be64dd8c030087af2d1ae0c1dc488cad69093ff0366dbaad2de673?s=96&d=mm&r=g","caption":"Dan"},"logo":{"@id":"https:\/\/www.danplanet.com\/blog\/#\/schema\/person\/image\/"},"url":"https:\/\/www.danplanet.com\/blog\/author\/dan\/"}]}},"_links":{"self":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/posts\/82","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/comments?post=82"}],"version-history":[{"count":0,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/posts\/82\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/media?parent=82"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/categories?post=82"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.danplanet.com\/blog\/wp-json\/wp\/v2\/tags?post=82"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}