{"id":1024,"date":"2026-09-05T16:41:19","date_gmt":"2026-09-05T21:41:19","guid":{"rendered":"https:\/\/www.we8chz.org\/?p=1024"},"modified":"2026-09-05T16:41:19","modified_gmt":"2026-09-05T21:41:19","slug":"winlink-on-a-debian-using-pat-mercury-and-or-direwolf","status":"publish","type":"post","link":"https:\/\/www.we8chz.org\/?p=1024","title":{"rendered":"Winlink on a Debian using Pat, Mercury and\/or Direwolf"},"content":{"rendered":"\n<h5 class=\"wp-block-heading\">Let&#8217;s start off with getting everything installed.<\/h5>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If using a pi, image your microSD card with a minimal RasPiOS.<\/li>\n\n\n\n<li>Install rigctl with <code>sudo apt install -y libhamlib-utils<\/code> <\/li>\n\n\n\n<li>Install Mercury following their <a href=\"https:\/\/github.com\/la5nta\/pat\/releases\/\">instructions<\/a>.<\/li>\n\n\n\n<li>Download the <a href=\"https:\/\/github.com\/la5nta\/pat\/releases\/\">latest release<\/a> of Pat. Install with <code>sudo apt install .\/pat_{ver}_linux_{arch}.deb<\/code> .<\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Lets get things started!<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">First we will run the apps in different terminals to very things are working before we write some .service files for each one. First we will fire up rigctld to manage our radio. This will be different for each radio. Mine is only using rts to key ptt. You will likely want to use CAT to change freq automatically.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Start rigctl:  <code>rigctld -p \/dev\/serial\/by-id\/usb-Silicon_Labs_CP2102N_USB_to_UART_Bridge_Controller-if00-port0 -P RTS<\/code><\/li>\n\n\n\n<li>Using <code>mercury -z<\/code> check what audio interfaces are available to mercury. Take note of what audio devices are available. If you are unsure which to use, unplug your device and check which one disappears using <code>mercury -z<\/code>. Mine is <code>plughw:1,0<\/code>, so that is what I will here.<\/li>\n\n\n\n<li>Start Mercury, telling it what rigctl interface to use and which audio interfaces to use, if you plan on using <code>mercury_ui<\/code>, add the <code>-G<\/code> option:  <code>mercury -R 2 -G -i plughw:1,0 -o plughw:1,0<\/code> <\/li>\n\n\n\n<li>Start Pat <code>pat http -a 0.0.0.0:8088<\/code><\/li>\n<\/ul>\n\n\n\n<h5 class=\"wp-block-heading\">Let&#8217;s get it configured<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\"><br>If everything started correctly, you should now have a fully running instance. Let&#8217;s go ahead and configure Pat. When you browse to the host&#8217;s address on port 8088, you should be greeted with a config page. Go ahead and fill out your stats, you will be prompted to setup a winlink account if you haven&#8217;t already.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"933\" height=\"638\" src=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image.png\" alt=\"\" class=\"wp-image-1025\" srcset=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image.png 933w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-300x205.png 300w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-768x525.png 768w\" sizes=\"auto, (max-width: 933px) 100vw, 933px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">A little farther down you will configure your transports. Since Mercury is VARA compatible, we will use the Vara HF transport. <code>Enable<\/code> <code>Listen p2p inbound traffic<\/code> here if you want people to connect to you. You can also connect to DireWolf\/GrayWolf if you want to bridge between HF and VHF\/UHF AX.25 packet.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"695\" src=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-1.png\" alt=\"\" class=\"wp-image-1026\" srcset=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-1.png 935w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-1-300x223.png 300w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-1-768x571.png 768w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Direwolf\/Graywolf config:<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"906\" height=\"818\" src=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-3.png\" alt=\"\" class=\"wp-image-1029\" srcset=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-3.png 906w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-3-300x271.png 300w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-3-768x693.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Once everything is configured how you&#8217;d like, go ahead and click <code>Save Changes<\/code>. It will restart and bring you to the inbox page.<br><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"982\" height=\"291\" src=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-2.png\" alt=\"\" class=\"wp-image-1027\" srcset=\"https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-2.png 982w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-2-300x89.png 300w, https:\/\/www.we8chz.org\/wp-content\/uploads\/2026\/09\/image-2-768x228.png 768w\" sizes=\"auto, (max-width: 982px) 100vw, 982px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Et voil\u00e0! <\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Congrats, now you can send your location, compose messages, connect to another Mercury host and transfer messages. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s start off with getting everything installed. Lets get things started! First we will run the apps in different terminals to very things are working before we write some .service files for each one. First we will fire up rigctld to manage our radio. This will be different for each radio. Mine is only using [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[34,6],"tags":[105,101,75,98,104,100,102,103,99],"class_list":["post-1024","post","type-post","status-publish","format-standard","hentry","category-digital-modes","category-technical-articles","tag-ax-25","tag-debian","tag-linux","tag-mercury","tag-packet","tag-pat","tag-rigctl","tag-rigctld","tag-winlink"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"rttpg_featured_image_url":null,"rttpg_author":{"display_name":"WO8E","author_link":"https:\/\/www.we8chz.org\/?author=10"},"rttpg_comment":0,"rttpg_category":"<a href=\"https:\/\/www.we8chz.org\/?cat=34\" rel=\"category\">Digital Modes<\/a> <a href=\"https:\/\/www.we8chz.org\/?cat=6\" rel=\"category\">Technical Articles<\/a>","rttpg_excerpt":"Let&#8217;s start off with getting everything installed. Lets get things started! First we will run the apps in different terminals to very things are working before we write some .service files for each one. First we will fire up rigctld to manage our radio. This will be different for each radio. Mine is only using&hellip;","_links":{"self":[{"href":"https:\/\/www.we8chz.org\/index.php?rest_route=\/wp\/v2\/posts\/1024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.we8chz.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.we8chz.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.we8chz.org\/index.php?rest_route=\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.we8chz.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1024"}],"version-history":[{"count":7,"href":"https:\/\/www.we8chz.org\/index.php?rest_route=\/wp\/v2\/posts\/1024\/revisions"}],"predecessor-version":[{"id":1035,"href":"https:\/\/www.we8chz.org\/index.php?rest_route=\/wp\/v2\/posts\/1024\/revisions\/1035"}],"wp:attachment":[{"href":"https:\/\/www.we8chz.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.we8chz.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.we8chz.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}