<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Radio on Andrew's Memory Blog</title><link>https://andrewmemory.acornwall.net/tags/radio/</link><description>Recent content in Radio on Andrew's Memory Blog</description><generator>Hugo -- gohugo.io</generator><image><url>https://andrewmemory.acornwall.net/img/rss_image.png</url><title>Radio on Andrew's Memory Blog</title><link>https://andrewmemory.acornwall.net/</link></image><language>en</language><managingEditor>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</managingEditor><webMaster>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</webMaster><copyright>Copyright 2009--2025</copyright><lastBuildDate>Wed, 16 Apr 2025 22:45:00 -0700</lastBuildDate><atom:link href="https://andrewmemory.acornwall.net/tags/radio/index.xml" rel="self" type="application/rss+xml"/><item><title>More on using Uniden Sentinel BCDx36HP on Ubuntu 24.04 under Wine</title><link>https://andrewmemory.acornwall.net/blog/2025-04-16-more-on-uniden-sentinel-bcdx36hp-on-ubuntu-24.04-under-wine/</link><pubDate>Wed, 16 Apr 2025 22:45:00 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2025-04-16-more-on-uniden-sentinel-bcdx36hp-on-ubuntu-24.04-under-wine/</guid><description>&lt;p&gt;Running the Uniden Sentinel (BCD436HP/BCD536HP) programming software didn&amp;rsquo;t work on Wine when I was running on X on Ubuntu 24.04. After installing several versions of Wine with no joy, winetricksing random things, switching to the Intel non-free graphics driver, and more reinstalls than I want to remember, I finally hit upon success.&lt;/p&gt;
&lt;p&gt;My problem was that, after I&amp;rsquo;d started the BCDx36HP.exe, I&amp;rsquo;d see a dialog box. Then the editor window would come up. And then&amp;hellip; the editor window would disappear.&lt;/p&gt;
&lt;p&gt;The breakthrough came when I realized I could drag the editor window as it was drawing, and it would redraw correctly and stay on the screen. However, it would redecorate from the classic look to a more modern look.&lt;/p&gt;
&lt;p&gt;So&amp;hellip; I turned that setting off under the Graphics tab of &lt;code&gt;winecfg&lt;/code&gt;:&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="The winecfg dialog with the Graphics tab selected and &amp;lsquo;Allow the window manager to decorate the windows&amp;rsquo; unchecked, but &amp;lsquo;Allow the window manager to control the windows&amp;rsquo; checked"
width="418"
height="479"
src="https://andrewmemory.acornwall.net/blog/2025-04-16-more-on-uniden-sentinel-bcdx36hp-on-ubuntu-24.04-under-wine/images/winecfg-uncheck-window-manager-decorations.png"
srcset="https://andrewmemory.acornwall.net/blog/2025-04-16-more-on-uniden-sentinel-bcdx36hp-on-ubuntu-24.04-under-wine/images/winecfg-uncheck-window-manager-decorations.png 800w, https://andrewmemory.acornwall.net/blog/2025-04-16-more-on-uniden-sentinel-bcdx36hp-on-ubuntu-24.04-under-wine/images/winecfg-uncheck-window-manager-decorations.png 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2025-04-16-more-on-uniden-sentinel-bcdx36hp-on-ubuntu-24.04-under-wine/images/winecfg-uncheck-window-manager-decorations.png"&gt;&lt;/figure&gt;
&lt;p&gt;Once I&amp;rsquo;d done that, the &lt;a href="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/" &gt;usual instructions for using Sentinel&lt;/a&gt; worked.&lt;/p&gt;</description></item><item><title>Setting up and using Uniden Sentinel BCDx36HP on Ubuntu 22.04 under Wine</title><link>https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/</link><pubDate>Mon, 15 Jan 2024 22:37:00 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/</guid><description>&lt;p&gt;I finally have had success in programming my Uniden BCD436 (and would probably succeed with the Uniden BCD586 if I owned one) under Wine! This has been a problem that has persisted for ages, and now it appears that things have advanced enough that it&amp;rsquo;s possible.&lt;/p&gt;
&lt;h2 class="relative group"&gt;Installation
&lt;div id="installation" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#installation" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;First, uninstall Wine: (&lt;strong&gt;warning&lt;/strong&gt;: this will blow away all your Wine configs, so if you use it for more than just Sentinel, save everything first)&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ sudo apt remove wine
$ sudo apt autoremove&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;Next, install Wine from the WineHQ repo by adding the winehq key, adding it to your list of repos, and instaling the package (these instructions come from &lt;a href="https://wiki.winehq.org/Ubuntu" target="_blank" rel="noreferrer"&gt;https://wiki.winehq.org/Ubuntu&lt;/a&gt;):&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources$ wine --versionwine-8.0.2&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;Install Sentinel. Download it from &lt;a href="https://info.uniden.com/" target="_blank" rel="noreferrer"&gt;info.uniden.com&lt;/a&gt; and you&amp;rsquo;ll have a zip file with a name like: BCDx36HP_Sentinel_Version_2_&lt;em&gt;xx&lt;/em&gt;_&lt;em&gt;yy&lt;/em&gt;.zip&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ unzip BCDx36HP_Sentinel_Version_2_xx_yy.zip$ cd BCDx36HP_Sentinel_Version_2_xx_yy$ wine setup.exe&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Welcome to the BCDx36HP Sentinel Setup Wizard"
width="486"
height="112"
src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/sentinel-install.png"
srcset="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/sentinel-install.png 800w, https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/sentinel-install.png 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/sentinel-install.png"&gt;&lt;/figure&gt;
&lt;p&gt;Follow the normal Sentinel setup procedure.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve got Sentinel data files stored on my shared drive. Because of this, I had to do the following to get it reading my shared config. You probably won&amp;rsquo;t do this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Start Sentinel and download the master database.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Exit Sentinel&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;cd ~/.wine/drive_c/users/_myuser_/Documents/Uniden&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;mv BCDx36HP BCDx36HP-old&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;code&gt;ln -s /my/shared/uniden/data-directory BCDx36HP&lt;/code&gt; (this is the directory on the SMB share that contains ActivityLog, DiscoveryLog, FavoriteLists and Profile)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start Sentinel again and confirm you can read it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Exit Sentinel&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 class="relative group"&gt;Using Sentinel
&lt;div id="using-sentinel" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
&lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#using-sentinel" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;I adapted these instructions from &lt;a href="https://wiki.radioreference.com/index.php/Sentinel_%5C%28Uniden_software%5C%29#Using_Sentinel_Under_Wine" target="_blank" rel="noreferrer"&gt;https://wiki.radioreference.com/index.php/Sentinel_(Uniden_software)#Using_Sentinel_Under_Wine&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Step 1: Connect the BCD436 to your Linux device by turning it on and selecting &amp;ldquo;Mass Storage Mode&amp;rdquo; (press the E/yes key). You&amp;rsquo;ll see it automount on Linux.&lt;/p&gt;
&lt;p&gt;Step 2: Start Sentinel by clicking on Activities in the upper left and typing bcd, then clicking on the icon:&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Typing bcd in Activities"
width="395"
height="225"
src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/start-sentinel.png"
srcset="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/start-sentinel.png 800w, https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/start-sentinel.png 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/start-sentinel.png"&gt;&lt;/figure&gt;
&lt;p&gt;Step 3: Cancel out of the &amp;ldquo;Run updates&amp;rdquo; dialog. Instead, run &lt;code&gt;winecfg&lt;/code&gt; from the terminal.&lt;/p&gt;
&lt;p&gt;Step 4: In the dialog that comes up, click the Drives tab and then use cursor down to highlight the drive letter of the /media/ path that Ubuntu used when it automounted the drive.&lt;/p&gt;
&lt;p&gt;Step 5: Click &amp;ldquo;Show Advanced&amp;rdquo; and change the Type from &amp;ldquo;Autodetect&amp;rdquo; to &amp;ldquo;Floppy Disk&amp;rdquo;. Press &amp;ldquo;Apply&amp;rdquo; and then &amp;ldquo;OK&amp;rdquo;.&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Selecting Floppy disk under the Type field of the Drives tab of the Wine Config dialog"
width="406"
height="482"
src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/winecfg.png"
srcset="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/winecfg.png 800w, https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/winecfg.png 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/winecfg.png"&gt;&lt;/figure&gt;
&lt;p&gt;Step 6: In Sentinel, Update -&amp;gt; Update Firmware&amp;hellip;&lt;/p&gt;
&lt;p&gt;If all went well, you should see:&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="The Sentinel utility with an option to mapped a microSD drive to a drive letter for the scanner"
width="450"
height="290"
src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/readfromscanner.png"
srcset="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/readfromscanner.png 800w, https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/readfromscanner.png 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/readfromscanner.png"&gt;&lt;/figure&gt;
&lt;p&gt;Step 7. Click OK. Your firmware just got updated.&lt;/p&gt;
&lt;p&gt;At this point you should be able to Update -&amp;gt; Update Master Database(HPDB). You can also make changes. Once you&amp;rsquo;ve made your changes, Scanner -&amp;gt; Write to Scanner&amp;hellip;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; the Linux driver that talks to the scanner can be very slow when writing. You&amp;rsquo;ll have plenty of time to get a coffee, especially if you select &amp;ldquo;Force Write Full Database&amp;rdquo;. Just remember to come back in time to tell Sentinel how to handle conflicts.&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="A dialog box titled BCDx36HP Sentinel with the text &amp;ldquo;Finished writing to the scanner&amp;rdquo;"
width="519"
height="189"
src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/completed-1.png"
srcset="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/completed-1.png 800w, https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/completed-1.png 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/completed-1.png"&gt;&lt;/figure&gt;
&lt;p&gt;Step 8: When you&amp;rsquo;re done, shut down Sentinel and then unmount the device, then eject it:&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="The USB unmount/eject icon with Unmount selected"
width="198"
height="101"
src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/unmount.png"
srcset="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/unmount.png 800w, https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/unmount.png 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2024-01-15-setting-up-and-using-uniden-sentinel-bcdx36hp-on-ubuntu-22-04-under-wine/images/unmount.png"&gt;&lt;/figure&gt;
&lt;p&gt;Turn the radio off. Then unplug the cable. Congratulations, you&amp;rsquo;re done.&lt;/p&gt;</description></item><item><title>Finding the characteristic impedance of an antenna cable</title><link>https://andrewmemory.acornwall.net/blog/2020-05-24-finding-the-characteristic-impedance-of-an-antenna-cable/</link><pubDate>Sun, 24 May 2020 16:29:11 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2020-05-24-finding-the-characteristic-impedance-of-an-antenna-cable/</guid><description>&lt;p&gt;I recently stumbled on a &lt;a href="https://www.youtube.com/watch?v=afDSE_ejTNk" target="_blank" rel="noreferrer"&gt;cool video&lt;/a&gt; that showed how to compute the impedance of an antenna cable. Unfortunately it&amp;rsquo;s almost five minutes long, so I thought I&amp;rsquo;d summarize:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Measure the capacitance of the cable when it&amp;rsquo;s open (C) in farads (F).&lt;/li&gt;
&lt;li&gt;Short one end.&lt;/li&gt;
&lt;li&gt;Measure the inductance of the cable from the non-shorted end (L) in henrys (H).&lt;/li&gt;
&lt;li&gt;Impedance (Z) = √(L/C) in ohms (Ω).&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It works for both coaxial cables and ladder line. Neat trick!&lt;/p&gt;</description></item><item><title>Mapping a USB volume knob into a keyboard on Linux for SDR</title><link>https://andrewmemory.acornwall.net/blog/2019-12-16-mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/</link><pubDate>Mon, 16 Dec 2019 00:21:10 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2019-12-16-mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/</guid><description>&lt;p&gt;I recently discovered the existence of USB volume knobs. A Reddit user posted an &lt;a href="https://www.reddit.com/r/amateurradio/comments/e8v30z/en_subs_vfo_knob_for_sdrs_from_a_volume_control/" target="_blank" rel="noreferrer"&gt;article about reflashing the firmware&lt;/a&gt; on one to convert it to a keyboard.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="IMG_20191216_010138"
width="400"
height="362"
src="https://andrewmemory.acornwall.net/blog/2019-12-16-mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/images/img_20191216_010138.jpg"
srcset="https://andrewmemory.acornwall.net/blog/2019-12-16-mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/images/img_20191216_010138.jpg 800w, https://andrewmemory.acornwall.net/blog/2019-12-16-mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/images/img_20191216_010138.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2019-12-16-mapping-a-usb-volume-knob-into-a-keyboard-on-linux-for-sdr/images/img_20191216_010138.jpg"&gt;&lt;/figure&gt;
&lt;p&gt;Inspired, I picked one up for $18 on eBay (&amp;quot;&lt;a href="https://www.ebay.com/sch/i.html?_nkw=USB&amp;#43;Volume&amp;#43;Controller&amp;#43;Knob&amp;#43;Adjuster&amp;#43;Switcher&amp;#43;for&amp;#43;Tablet&amp;#43;PC&amp;#43;Speaker&amp;#43;Audio" target="_blank" rel="noreferrer"&gt;USB Volume Controller Knob Adjuster Switcher for Tablet PC Speaker Audio&lt;/a&gt;&amp;quot;) and thought that I might be able to do something similar.&lt;/p&gt;
&lt;p&gt;It turns out, under Linux, this is pretty easy.&lt;/p&gt;
&lt;p&gt;First, I plugged in the volume knob and saw that Linux detected it correctly and used it to adjust the volume. That was a promising start. I could see it show the &amp;ldquo;HDMI / DisplayPort&amp;rdquo; volume - and it went up when I turned the knob to the right, down when I turned the knob to the left, and muted when I pressed the knob.&lt;/p&gt;
&lt;p&gt;Next, I wanted to see what events were being generated. I found some very useful instructions at &lt;a href="https://yulistic.gitlab.io/2017/12/linux-keymapping-with-udev-hwdb/" target="_blank" rel="noreferrer"&gt;https://yulistic.gitlab.io/2017/12/linux-keymapping-with-udev-hwdb/&lt;/a&gt; and did them:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ cat /proc/bus/input/devices
...
I: Bus=0003 Vendor=0483 Product=572d Version=0111
N: Name=&amp;#34;STMicroelectronics USB Volume Control&amp;#34;
P: Phys=usb-0000:00:1d.0-1.7.2.4.3.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.7/2-1.7.2/2-1.7.2.4/2-1.7.2.4.3/2-1.7.2.4.3.1/2-1.7.2.4.3.1:1.0/0003:0483:572D.0008/input/input14
U: Uniq=2070363C4250
H: Handlers=kbd event8
B: PROP=0
B: EV=13
B: KEY=3800000000 e000000000000 0
B: MSC=10
...&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;This showed me a few useful things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The device vendor for my device is 0483 (the &amp;ldquo;I:&amp;rdquo; line)&lt;/li&gt;
&lt;li&gt;The product ID for my device is 572d (also on the &amp;ldquo;I:&amp;rdquo; line)&lt;/li&gt;
&lt;li&gt;The device is attached on /dev/input/event8 (on the &amp;ldquo;H:&amp;rdquo; line)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So now I could scan the events that came across when I moved the knob:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ sudo evtest /dev/input/event8
Input driver version is 1.0.1
Input device ID: bus 0x3 vendor 0x483 product 0x572d version 0x111
Input device name: &amp;#34;STMicroelectronics USB Volume Control&amp;#34;
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 113 (KEY_MUTE)
Event code 114 (KEY_VOLUMEDOWN)
Event code 115 (KEY_VOLUMEUP)
Event code 163 (KEY_NEXTSONG)
Event code 164 (KEY_PLAYPAUSE)
Event code 165 (KEY_PREVIOUSSONG)
Event type 4 (EV_MSC)
Event code 4 (MSC_SCAN)
Properties:
Testing ... (interrupt to exit)
Event: time 1576479720.245227, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e9
Event: time 1576479720.245227, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 1
Event: time 1576479720.245227, -------------- SYN_REPORT ------------
Event: time 1576479720.253248, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e9
Event: time 1576479720.253248, type 1 (EV_KEY), code 115 (KEY_VOLUMEUP), value 0
Event: time 1576479720.253248, -------------- SYN_REPORT ------------
Event: time 1576479722.325231, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00ea
Event: time 1576479722.325231, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 1
Event: time 1576479722.325231, -------------- SYN_REPORT ------------
Event: time 1576479722.333224, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00ea
Event: time 1576479722.333224, type 1 (EV_KEY), code 114 (KEY_VOLUMEDOWN), value 0
Event: time 1576479722.333224, -------------- SYN_REPORT ------------
Event: time 1576479724.381251, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e2
Event: time 1576479724.381251, type 1 (EV_KEY), code 113 (KEY_MUTE), value 1
Event: time 1576479724.381251, -------------- SYN_REPORT ------------
Event: time 1576479724.389251, type 4 (EV_MSC), code 4 (MSC_SCAN), value c00e2
Event: time 1576479724.389251, type 1 (EV_KEY), code 113 (KEY_MUTE), value 0
Event: time 1576479724.389251, -------------- SYN_REPORT ------------&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;Neat, even more useful things. In particular:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When I turn the knob to the right, I get an MSC_SCAN event of type c00e9 (along with a KEY_VOLUMEUP event)&lt;/li&gt;
&lt;li&gt;When I turn the knob to the left, I get an MSC_SCAN event of type c00ea (along with a KEY_VOLUMEDOWN event)&lt;/li&gt;
&lt;li&gt;When I push on the knob, I get an MSC_SCAN event of type c00e2 (along with a KEY_MUTE event)&lt;/li&gt;
&lt;li&gt;Apparently the firmware supports KEY_NEXTSONG, KEY_PREVIOUSSONG and KEY_PLAYPAUSE as well. Huh.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I want to map those MSC_SCAN events to different key codes. In particular, I want a cursor-left key when I turn the knob to the left, a cursor-right key when I turn the knob to the right, and something useful (say, pressing the &amp;ldquo;m&amp;rdquo; key) when I press the knob. So I created a hwdb file for my device:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ cat /etc/udev/hwdb.d/99-usb-knob.hwdb
evdev:input:b*v0483p572D*
KEYBOARD_KEY_c00ea=left
KEYBOARD_KEY_c00e9=right
KEYBOARD_KEY_c00e2=m&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;You&amp;rsquo;ll recognize the vendor (0483) and the device (572d) that I found earlier. It&amp;rsquo;s important to use uppercase hex codes for vendor and product in the hwdb file - but &lt;em&gt;not&lt;/em&gt; for the scan codes, which should be lowercase. The values on the right have to be lowercase, and correspond to the KEY_LEFT, KEY_RIGHT and KEY_M values from &lt;a href="https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h" target="_blank" rel="noreferrer"&gt;/usr/include/linux/input-event-codes.h&lt;/a&gt;. (You can pick any of the KEY_ values from there.) Then a quick bit of Linux magic to update the hardware database:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ sudo systemd-hwdb update
$ sudo udevadm trigger&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;&amp;hellip;and&amp;hellip; exactly the same as before. I got the volume control displayed when I turned the knob.&lt;/p&gt;
&lt;p&gt;After scratching my head and doing some searching, I happened on &lt;a href="https://catswhisker.xyz/log/2018/8/27/use_vecinfinity_usb_foot_pedal_as_a_keyboard_under_linux/" target="_blank" rel="noreferrer"&gt;https://catswhisker.xyz/log/2018/8/27/use_vecinfinity_usb_foot_pedal_as_a_keyboard_under_linux/&lt;/a&gt; which gave me the clue I needed. My knob was being detected, but not as a keyboard - so it wasn&amp;rsquo;t being used as a keyboard input device.&lt;/p&gt;
&lt;p&gt;So I created this file:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;$ cat /etc/udev/rules.d/99-usb-knob.rules
ACTION==&amp;#34;add|change&amp;#34;, KERNEL==&amp;#34;event[0-9]*&amp;#34;,
ATTRS{idVendor}==&amp;#34;0483&amp;#34;, ATTRS{idProduct}==&amp;#34;572d&amp;#34;,
ENV{ID_INPUT_KEYBOARD}=&amp;#34;1&amp;#34;&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;(That&amp;rsquo;s all on one line on my machine.) You&amp;rsquo;ll recognize the vendor and product ID from earlier, using lowercase for the hex this time. I added ID_INPUT_KEYBOARD to the list of attributes for this device. Unplug the device, plug it back in, and hooray! I&amp;rsquo;m doing what I wanted to! When I turn the knob left, I go left. When I turn the knob right, I go right. When I press the knob, &amp;ldquo;m&amp;rdquo; shows up on the screen.&lt;/p&gt;
&lt;p&gt;Now I just need to install an SDR program&amp;hellip; and an SDR&amp;hellip;.&lt;/p&gt;</description></item><item><title>Building Signalink Cables</title><link>https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/</link><pubDate>Sun, 12 Jun 2016 23:58:18 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/</guid><description>&lt;p&gt;Many of us have sound card interfaces for our radios that use the standard RJ-45 plug on one end and a custom connector for the radio on the other. If you&amp;rsquo;ve got more than one radio, it&amp;rsquo;s sometimes possible to buy additional interface cables. That can get pricey, though – and depending on the connector on your radio, an interface cable might no longer be available.&lt;/p&gt;
&lt;p&gt;For many rigs it&amp;rsquo;s possible to buy a connector that ends in bare wire fairly cheaply. I hit eBay and found a cheapie Kenwood connector for $2.49 (&amp;ldquo;4 Wire Speaker Mic Cable for Baofeng UV5R Kenwood TK-240&amp;rdquo;).&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Kenwood style connector with bare ends"
width="2552"
height="1836"
src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300045_cable_alone_hu_6c8c4f61fc5c9bff.jpg"
srcset="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300045_cable_alone_hu_6c8c4f61fc5c9bff.jpg 800w, https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300045_cable_alone_hu_fb536cf533473c3a.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300045_cable_alone.jpg"&gt;&lt;/figure&gt;
&lt;p&gt;While holding one of these in my hand, I noticed that the individual wires in the radio cable were roughly the same diameter as the wires in cat-5 network cable.&lt;/p&gt;
&lt;p&gt;Before doing anything else I wrote down which wires connected to which pins on the radio. All of the wires in my cable had different colors, which made identification a lot easier. Next, I determined which pin in the RJ-45 plug should be connected to which wire. This varies depending on the radio connector and sound card interface you use. In my case, green went to the 2.5mm plug tip aka speaker, red went to the 3.5mm ring aka mic, black went to the 3.5mm sleeve aka PTT, and white went to the 2.5mm sleeve aka ground. I found &lt;a href="http://www.tigertronics.com/sl_wireht_sep.htm" target="_blank" rel="noreferrer"&gt;this Tigertronics page&lt;/a&gt; useful.&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Close-up of connector and wire"
width="948"
height="616"
src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300049_wires_apart_hu_bf8fc9ccd58b5d53.jpg"
srcset="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300049_wires_apart_hu_bf8fc9ccd58b5d53.jpg 800w, https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300049_wires_apart.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300049_wires_apart.jpg"&gt;&lt;/figure&gt;
&lt;p&gt;After that, I cut the interface cable straight across with diagonal cutters. My cable came with an integrated strain relief, and I cut that off as well. Then I carefully removed a little more than half an inch (about 13mm) of the cable jacket, being careful not to nick the wires inside.&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Cable together but before crimping"
width="1668"
height="1440"
src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300051_pre-crimp_hu_540bcb9f72e35be7.jpg"
srcset="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300051_pre-crimp_hu_540bcb9f72e35be7.jpg 800w, https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300051_pre-crimp_hu_5a6a34d0d983265d.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/p4300051_pre-crimp.jpg"&gt;&lt;/figure&gt;
&lt;p&gt;I arranged the wires in the correct order they&amp;rsquo;d need to be into the RJ-45 plug. The wires were solid core, so I was able to spread them more or less into position. Next I inserted the cable into the RJ-45 plug, being careful to slip each wire into the appropriate channel. One or two recalcitrant wires needed persuasion with a pin to find the right home.&lt;/p&gt;
&lt;p&gt;Once all the wires were in their channels, I pushed hard on the cable to ensure all the wires were as far forward in the plug as they would go. At this point I crimped the RJ-45 plug. There are two nice things about an RJ-45 crimp: there&amp;rsquo;s no need to strip the wires (the plug bites down on them to make the connection), and the crimp forces part of the plug&amp;rsquo;s shell against the cable, which keeps it in place.&lt;/p&gt;
&lt;p&gt;Then came the moment of truth: I tested continuity of each pin on the connector. Success!&lt;/p&gt;
&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="Completed cable"
width="1038"
height="752"
src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/complete_hu_3b0ec02f062ed2b2.jpg"
srcset="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/complete_hu_3b0ec02f062ed2b2.jpg 800w, https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/complete.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2016-06-12-building-signalink-cables/images/complete.jpg"&gt;&lt;/figure&gt;
&lt;p&gt;The radio&amp;rsquo;s connectors were in the right place, and I had a professional-looking interface cable for a radio that needed it.&lt;/p&gt;</description></item><item><title>Turning a Raspberry Pi 2 into a packet station</title><link>https://andrewmemory.acornwall.net/blog/2016-03-31-turning-a-raspberry-pi-2-into-a-packet-station/</link><pubDate>Thu, 31 Mar 2016 23:25:27 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2016-03-31-turning-a-raspberry-pi-2-into-a-packet-station/</guid><description>&lt;p&gt;I keep thinking it&amp;rsquo;s a good idea for emergency communications to have a packet station. Since I&amp;rsquo;m cheap, I didn&amp;rsquo;t want to get extra hardware - instead I wanted to use what I had. Luckily, Dire Wolf is better than any hardware packet decoder out there. Here&amp;rsquo;s how I got a working packet station on a Pi 2 running Raspbian Jessie Lite.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Connect the radio to the Pi. In my case, I had a spare Signalink SL1+ hanging around which made things easier. I  bought a &lt;a href="http://www.amazon.com/external-Adapter-Windows-Microphone-SD-CM-UAUD/dp/B001MSS6CS" target="_blank" rel="noreferrer"&gt;Syba CMedia USB sound card&lt;/a&gt; to talk from the Pi to the Signalink, and a &lt;a href="http://www.ebay.com/itm/371536438103" target="_blank" rel="noreferrer"&gt;Kenwood speaker mic cable&lt;/a&gt; to talk from the Signalink to the radio. Here&amp;rsquo;s a useful hint: the diameter of the wires in the speaker mic cable are roughly the same as the diameter of the wires in regular Ethernet cable - meaning that you can (if you&amp;rsquo;re careful) strip the outer jacket, put the inner wires in the right places of an RJ-45 connector and crimp direct to them with no soldering at all.&lt;/li&gt;
&lt;li&gt;Download and build Dire Wolf. Instructions for doing so on a Pi are &lt;a href="https://github.com/wb2osz/direwolf/blob/master/doc/Raspberry-Pi-APRS.pdf" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. I mounted my home directory on a networked drive to make life easier.&lt;/li&gt;
&lt;li&gt;Configure Dire Wolf with your callsign (I used the SSID -15 after my call) and sound card. Be sure to avoid the &amp;ldquo;# ADEVICE - plughw:1,0&amp;rdquo; line - it looks a lot like the correct &amp;ldquo;ADEVICE  plughw:1,0&amp;rdquo; line, but takes input from stdin instead of the sound card.&lt;/li&gt;
&lt;li&gt;Run &amp;ldquo;direwolf&amp;rdquo; and tune the radio to 144.390 (APRS). Make sure you&amp;rsquo;re decoding packets. You might have to go to alsamixer and adjust input/output. Mine ended up being 51 for speaker, 29 and 12 for mic. Also adjust the radio volume so it&amp;rsquo;s not too high or too low. (Hit F6 to get your sound card, then F5 to see all devices. I&amp;rsquo;m not sure which mic I was using; I had two - a stereo and a mono one. The mono one was 29, the stereo one was 12.) It&amp;rsquo;s probably a good idea to turn off the squelch on the radio as well.&lt;/li&gt;
&lt;li&gt;sudo apt-get install ax25-tools ax25-apps&lt;/li&gt;
&lt;li&gt;Edit /etc/ax25/axports and set one line to: vhf   &lt;em&gt;mycall&lt;/em&gt;-15 1200 255 2 VHF link (1200 bps)&lt;/li&gt;
&lt;li&gt;Make sure all the other lines in axports have # in front of them (it doesn&amp;rsquo;t like blank lines).&lt;/li&gt;
&lt;li&gt;Run &amp;ldquo;direwolf -p&amp;rdquo; to get the KISS port. It will show up as something like /dev/pts/2. Once it&amp;rsquo;s running, move to another terminal window.&lt;/li&gt;
&lt;li&gt;Change frequency to the freq that you&amp;rsquo;re going to use.&lt;/li&gt;
&lt;li&gt;sudo /usr/sbin/kissattach /dev/pts/2 vhf &lt;em&gt;(your IP address in AMPR 44.0.0.0)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;sudo /usr/sbin/kissparms -p vhf -t 200 -s 20 -r 64 -l 50 -f n These parameters took a little tweaking. If the transmit delay (-t) was too big, things timed out. If it was too small, things stepped on each other. I had to adjust transmit tail delay as well (-l). I found &lt;a href="http://www.choisser.com/packet/part14.html" target="_blank" rel="noreferrer"&gt;this page&lt;/a&gt; useful for some values.&lt;/li&gt;
&lt;li&gt;sudo route del -net 44.0.0.0 netmask 255.0.0.0 (because I&amp;rsquo;d set up a route beforehand and needed to nuke it)&lt;/li&gt;
&lt;li&gt;sudo /sbin/route add -net 44.0.0.0 netmask 255.0.0.0 dev ax0&lt;/li&gt;
&lt;li&gt;ping -i 10 &lt;em&gt;(someone else&amp;rsquo;s IP who also has a machine on the AMPR 44.0.0.0 net)&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Assuming that works, you might want to apt-get install telnet telnetd talk talkd and try to log into your friend&amp;rsquo;s machine or have your friend log into yours.&lt;/li&gt;
&lt;li&gt;Last but not least: I ran into problems with arp. I increased the arp timeout in /etc/sysctl.d/local.conf:&lt;code&gt;net.ipv4.neigh.default.base_reachable_time_ms=1200000&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Controlling T-Series Vector Impedance Analyzer from a netbook</title><link>https://andrewmemory.acornwall.net/blog/2016-03-21-controlling-t-series-vector-impedance-analyzer-from-a-netbook/</link><pubDate>Mon, 21 Mar 2016 22:22:58 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2016-03-21-controlling-t-series-vector-impedance-analyzer-from-a-netbook/</guid><description>&lt;p&gt;I&amp;rsquo;ve been using the T-Series Vector Impedance Analyzer program from Times Technology Company to control my dad&amp;rsquo;s MFJ-226 antenna analyzer (aka Times Technology T200). Both he and I ran into problems with it on a netbook with a screen size of 1024x600. Most of the &amp;ldquo;interesting&amp;rdquo; buttons were off screen!&lt;/p&gt;
&lt;p&gt;The right solution for Windows 7 and higher appears to be to allow scaling of the netbook&amp;rsquo;s screen. That&amp;rsquo;s documented &lt;a href="https://andrewmemory.acornwall.net/blog/2016-03-21-increasing-netbook-screen-size/" &gt;here&lt;/a&gt;. But for those unfortunates who are stuck on Windows XP or for some other reason can&amp;rsquo;t increase the screen size, here&amp;rsquo;s what I ended up doing.&lt;/p&gt;
&lt;p&gt;To start/stop the connection to the analyzer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click the &amp;ldquo;SWR&amp;rdquo; button&lt;/li&gt;
&lt;li&gt;Press \[Tab\] \[Tab\] \[Cursor back &lt;-\] \[Space\]&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To load a file from the analyzer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click the &amp;ldquo;Save to File&amp;rdquo; button&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Cancel&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Press \[Tab\] \[Tab\] \[Tab\] - you are now on the file to load&lt;/li&gt;
&lt;li&gt;Press \[Backspace\] \[Backspace\] \[Backspace\] \[Del\] \[Del\] \[Del\]&lt;/li&gt;
&lt;li&gt;Enter the file you want to load from the analyzer (1, 3, 12, etc.)&lt;/li&gt;
&lt;li&gt;Press \[Shift-Tab\]&lt;/li&gt;
&lt;li&gt;Press \[Enter\]&lt;/li&gt;
&lt;li&gt;Now you can click the &amp;ldquo;Save to file&amp;rdquo; button and save the data.&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Foot Switch for the Insane</title><link>https://andrewmemory.acornwall.net/blog/2014-12-28-foot-switch-for-the-insane/</link><pubDate>Sun, 28 Dec 2014 15:28:28 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2014-12-28-foot-switch-for-the-insane/</guid><description>&lt;p&gt;I&amp;rsquo;ve been looking for a foot switch for a while now to act as a PTT for a radio. Yesterday at a thrift store, I came across the Koino KH-8012: [&lt;figure&gt;&lt;img
class="my-0 rounded-md"
loading="lazy"
decoding="async"
fetchpriority="auto"
alt="SPST Foot switch with NEMA 1-15 plug"
width="500"
height="375"
src="https://andrewmemory.acornwall.net/blog/2014-12-28-foot-switch-for-the-insane/images/pc270226-small1.jpg"
srcset="https://andrewmemory.acornwall.net/blog/2014-12-28-foot-switch-for-the-insane/images/pc270226-small1.jpg 800w, https://andrewmemory.acornwall.net/blog/2014-12-28-foot-switch-for-the-insane/images/pc270226-small1.jpg 1280w"
sizes="(min-width: 768px) 50vw, 65vw"
data-zoom-src="https://andrewmemory.acornwall.net/blog/2014-12-28-foot-switch-for-the-insane/images/pc270226-small1.jpg"&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p&gt;Do you see anything wrong with this picture? That is indeed a SPST foot switch with a &lt;a href="https://en.wikipedia.org/wiki/NEMA_connector#NEMA_1" target="_blank" rel="noreferrer"&gt;NEMA 1-15 plug&lt;/a&gt; on the end. I can&amp;rsquo;t think of any reason that you would want to do that - the switch is rated at 15 A / 125 V AC (as well as 14 V DC), so it&amp;rsquo;s not like it was meant for a European destination where the corresponding socket wouldn&amp;rsquo;t be found in the wild.&lt;/p&gt;
&lt;p&gt;The label is a lie too - it&amp;rsquo;s normally open, and conducts when closed. It is not SPDT: there are only two conductors coming out of the switch.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve since rendered it safe and unable to short out household wiring by cutting off the NEMA 1-15 and adding a &lt;a href="https://en.wikipedia.org/wiki/Phone_connector_%28audio%29" target="_blank" rel="noreferrer"&gt;1/4 inch jack&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;All I can find about this switch is that it&amp;rsquo;s available from China and Vietnam, and costs USD $6.49 each when bought in large lots. Any idea what this was originally used for, or why on earth anyone would want to terminate it in a way that seems designed to blow fuses? Leave a comment.&lt;/p&gt;</description></item><item><title>Repairing a MFJ-259B Antenna Analyzer</title><link>https://andrewmemory.acornwall.net/blog/2014-11-29-repairing-a-mfj-259b-antenna-analyzer/</link><pubDate>Sat, 29 Nov 2014 21:48:24 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2014-11-29-repairing-a-mfj-259b-antenna-analyzer/</guid><description>&lt;p&gt;I&amp;rsquo;ve had an MFJ-259B antenna analyzer for a while, and for the most part it&amp;rsquo;s been pretty good. However, in the last few months I&amp;rsquo;ve seen it intermittently give me really high SWR as opposed to normal SWR.&lt;/p&gt;
&lt;p&gt;Usually, that means there&amp;rsquo;s a break in a transmission line somewhere, but I kept seeing it on different lines. Curiously, it usually went away when I touched the antenna connector.&lt;/p&gt;
&lt;p&gt;I wondered if I was adding capacitance or something to the system, but finally I realized it happened when the feedline cable pulled down on the analyzer. It was just a break between the antenna connector and the analyzer.&lt;/p&gt;
&lt;p&gt;I took the analyzer apart, re-soldered the SO-239 and I was back in business.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what I learned when I took the antenna analyzer apart:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Take the battery cover off first (two screws on the bottom)&lt;/li&gt;
&lt;li&gt;Next, unscrew both sides (four screws on each side)&lt;/li&gt;
&lt;li&gt;At this point, you&amp;rsquo;ll have access to the battery compartment. Take out the two top batteries and the two bottom batteries (don&amp;rsquo;t need to take out the rest).&lt;/li&gt;
&lt;li&gt;You&amp;rsquo;ll see four screws that hold the battery compartment to the analyzer. Actually, that&amp;rsquo;s a lie - only the two right-side screws hold the battery compartment to the analyzer. The left screws are screwed into Delrin insulators. Don&amp;rsquo;t unscrew the left screws or the insulators will drop off and you&amp;rsquo;ll have to look under the table for them. Just unscrew the right screws (top and bottom).&lt;/li&gt;
&lt;li&gt;At this point you can move the battery compartment to the side, and get easy access to the SO-239 connector. Don&amp;rsquo;t lose the lock washers that are under the screws.&lt;/li&gt;
&lt;li&gt;I suspect they used lead-free solder to solder the connector, which is more prone to cracking than 60/40. I upped the heat a little and mixed in some 60/40 solder to make it more durable.&lt;/li&gt;
&lt;li&gt;At this point you can put the 4 batteries back in and test with a dummy load and a good cable. I did this and verified my problems with mystery SWR were gone.&lt;/li&gt;
&lt;li&gt;Put things back together in the reverse order that you took them apart.&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Editions of ARRL Hints and Kinks Books</title><link>https://andrewmemory.acornwall.net/blog/2014-02-14-editions-of-arrl-hints-and-kinks-books/</link><pubDate>Fri, 14 Feb 2014 21:51:02 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2014-02-14-editions-of-arrl-hints-and-kinks-books/</guid><description>&lt;p&gt;I&amp;rsquo;ve been looking around the web for a list of the ARRL &amp;ldquo;Hints &amp;amp; Kinks for the Radio Amateur&amp;rdquo; editions. I wasn&amp;rsquo;t able to find one, so here&amp;rsquo;s what I know:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Edition&lt;/th&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Orig Price&lt;/th&gt;
&lt;th&gt;Preface&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;First volume (unlabeled)&lt;/td&gt;
&lt;td&gt;1933&lt;/td&gt;
&lt;td&gt;0.50&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Volume Two&lt;/td&gt;
&lt;td&gt;1937&lt;/td&gt;
&lt;td&gt;0.50&lt;/td&gt;
&lt;td&gt;Ross A. Hull (VK3JU operating as ARRL station W1MK/W1AW?)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Volume Three&lt;/td&gt;
&lt;td&gt;1945&lt;/td&gt;
&lt;td&gt;0.50&lt;/td&gt;
&lt;td&gt;unsigned&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Volume Four&lt;/td&gt;
&lt;td&gt;1949&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;A. L. Budlong (W1BUD)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Volume Five&lt;/td&gt;
&lt;td&gt;1954&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;A. L. Budlong (W1BUD)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Volume Six&lt;/td&gt;
&lt;td&gt;1959&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;A. L. Budlong (W1BUD)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Volume Seven&lt;/td&gt;
&lt;td&gt;1965&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;John Huntoon W1LVQ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;8th Edition&lt;/td&gt;
&lt;td&gt;1968&lt;/td&gt;
&lt;td&gt;1.00&lt;/td&gt;
&lt;td&gt;John Huntoon W1LVQ&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9th Edition&lt;/td&gt;
&lt;td&gt;1973? 1974?&lt;/td&gt;
&lt;td&gt;2.00&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Edition&lt;/td&gt;
&lt;td&gt;Year&lt;/td&gt;
&lt;td&gt;Orig Price&lt;/td&gt;
&lt;td&gt;Editor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10th Edition&lt;/td&gt;
&lt;td&gt;1978&lt;/td&gt;
&lt;td&gt;4.00&lt;/td&gt;
&lt;td&gt;Stuart Leland W1JEC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;11th Edition&lt;/td&gt;
&lt;td&gt;1982&lt;/td&gt;
&lt;td&gt;4.00&lt;/td&gt;
&lt;td&gt;Charles L. Hutchinson K8CH, Stuart B. Leland W1JEC, Larry D. Wolfgang WA3VIL&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12th Edition&lt;/td&gt;
&lt;td&gt;1989&lt;/td&gt;
&lt;td&gt;5.00&lt;/td&gt;
&lt;td&gt;Charles L. Hutchinson K8CH, David Newkirk AK7M&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;13th Edition&lt;/td&gt;
&lt;td&gt;1992&lt;/td&gt;
&lt;td&gt;10.00&lt;/td&gt;
&lt;td&gt;David Newkirk WJ1Z&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;14th Edition&lt;/td&gt;
&lt;td&gt;1997&lt;/td&gt;
&lt;td&gt;12.00&lt;/td&gt;
&lt;td&gt;Robert Schetgen KU7G, David Newkirk W9VES&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15th Edition&lt;/td&gt;
&lt;td&gt;2000&lt;/td&gt;
&lt;td&gt;12.00&lt;/td&gt;
&lt;td&gt;Larry Wolfgang WR1B&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;16th Edition&lt;/td&gt;
&lt;td&gt;2003&lt;/td&gt;
&lt;td&gt;15.95&lt;/td&gt;
&lt;td&gt;Steve Ford WB8IMY&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;17th Edition&lt;/td&gt;
&lt;td&gt;2004&lt;/td&gt;
&lt;td&gt;17.95&lt;/td&gt;
&lt;td&gt;Dana G. Reed W1LC&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;18th Edition&lt;/td&gt;
&lt;td&gt;2012&lt;/td&gt;
&lt;td&gt;22.95&lt;/td&gt;
&lt;td&gt;Steve Ford WB8IMY&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All the editions from 10 on are the large format (8 x 11 inches) and have an editor; the editions from 1 through 9 are 6 x 9 inch and sometimes have the writer of the preface/forward listed. &lt;a href="http://www.n4mw.com/ARRL/arrl10.htm" target="_blank" rel="noreferrer"&gt;N4MW has info about the earlier editions&lt;/a&gt; as well as &lt;a href="http://www.n4mw.com/ARRL/arrlpubs.htm" target="_blank" rel="noreferrer"&gt;other classic ARRL publications&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks also to James Smith for clarifications about three of the earlier editions.&lt;/p&gt;</description></item><item><title>Standard for 12 volt DC Edison sockets</title><link>https://andrewmemory.acornwall.net/blog/2013-09-02-standard-for-12-volt-dc-edison-sockets/</link><pubDate>Mon, 02 Sep 2013 18:15:21 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2013-09-02-standard-for-12-volt-dc-edison-sockets/</guid><description>&lt;p&gt;I recently decided to create a 12 V DC lamp for emergency lighting. I started with a 120 V AC desk lamp from a big box store ($5.99) and added one of the 2W 12V DC bulbs that use the &lt;a href="https://en.wikipedia.org/wiki/Edison_screw#Types" target="_blank" rel="noreferrer"&gt;Edison E26/E27&lt;/a&gt; socket.&lt;/p&gt;
&lt;p&gt;Of course, I needed to remove the existing &lt;a href="https://en.wikipedia.org/wiki/NEMA_connector#NEMA_1" target="_blank" rel="noreferrer"&gt;NEMA 1&lt;/a&gt; plug and replace it with something that can&amp;rsquo;t be plugged into household current. I chose PowerPole connectors. That brought up the question: what should be the positive terminal and what should be the negative?&lt;/p&gt;
&lt;p&gt;I did a lot of searching in RV and boat wiring, but couldn&amp;rsquo;t find anything regarding polarity of Edison E26 / E27 sockets. So in the end I just went with what seemed sensible. I wired what used to be connected to the wide blade of the 120 V plug (neutral) to negative, and what used to be connected to the narrow blade to the positive terminal.&lt;/p&gt;
&lt;p&gt;This means that in the E26 / E27 socket, the brass projection ends up connected to the + terminal and the shell ends up connected to the - terminal.&lt;/p&gt;
&lt;p&gt;That seems to make sense to me - but if anyone knows a better standard I&amp;rsquo;d love to hear about it.&lt;/p&gt;</description></item><item><title>Useful resources for filter design</title><link>https://andrewmemory.acornwall.net/blog/2013-03-30-useful-resources-for-filter-design/</link><pubDate>Sat, 30 Mar 2013 01:58:45 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2013-03-30-useful-resources-for-filter-design/</guid><description>&lt;p&gt;Some useful links I&amp;rsquo;ve found for designing passive RF filters:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.daycounter.com/Calculators/LC-Resonance-Calculator.phtml" target="_blank" rel="noreferrer"&gt;LC resonance calculator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.coilcraft.com/kits/c320.html" target="_blank" rel="noreferrer"&gt;Coilcraft 1206CS SMT designer kit contents&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/North_American_broadcast_television_frequencies" target="_blank" rel="noreferrer"&gt;North American broadcast TV frequencies&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.hamuniverse.com/vhfuhfbands.html" target="_blank" rel="noreferrer"&gt;Ham Bands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://tonnesoftware.com/svcfilter.html" target="_blank" rel="noreferrer"&gt;Standard Value Filter (SVC) Filter Designer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.linear.com/designtools/software/#LTspice" target="_blank" rel="noreferrer"&gt;LTSpice IV&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://forum.allaboutcircuits.com/showthread.php?t=52617" target="_blank" rel="noreferrer"&gt;Setting up LTSpice with an AC voltage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://kom.aau.dk/~hmi/Teaching/LTspice/restrict/LTspicedoc/LTspice_guide.pdf" target="_blank" rel="noreferrer"&gt;Intro to LTSpice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://pages.suddenlink.net/wa5bdu/ltguide.pdf" target="_blank" rel="noreferrer"&gt;Another quick guide to LTSpice&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Setting up soundmodem on Ubuntu 10.04</title><link>https://andrewmemory.acornwall.net/blog/2011-06-29-setting-up-soundmodem-on-ubuntu-10-04/</link><pubDate>Wed, 29 Jun 2011 22:23:42 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2011-06-29-setting-up-soundmodem-on-ubuntu-10-04/</guid><description>&lt;p&gt;After a long delay, I finally decided to upgrade to 10.04 LTS and get soundmodem running again.&lt;/p&gt;
&lt;p&gt;Luckily, there was help this time. I started with my config, and merged with this post: &lt;a href="http://ubuntuforums.org/showthread.php?p=10864691" target="_blank" rel="noreferrer"&gt;ubuntuforums.org/showthread.php?p=10864691&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s the config I ended up using:&lt;/p&gt;
&lt;p&gt;Configuration: AX.25 IO: Mode: soundcard Audio Driver: /dev/dsp Half Duplex: selected PTT Driver: none&lt;/p&gt;
&lt;p&gt;Channel Access: TxDelay: 150 Slot Time: 100 P-Persistence: 40 Full Duplex: not selected TxTail: 10&lt;/p&gt;
&lt;p&gt;Channel 0: Modulator: Mode: afsk Bits/s: 1200 Freq 0: 1200 Freq 1: 2200 Differential: selected&lt;/p&gt;
&lt;p&gt;Demodulator: Mode: afsk Bits/s: 1200 Freq 0: 1200 Freq 1: 2200 Differential: selected&lt;/p&gt;
&lt;p&gt;Packet IO: Mode: MKISS Interface: sm0 Callsign: mycall IP address: 10.0.0.1 Network mask: 255.255.255.0 Broadcast addr: 10.0.0.255&lt;/p&gt;
&lt;p&gt;I also set up /etc/ax25/axports to have:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sm0 mycall 1200 255 7 144.39 APRS (1200 bps)&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;Finally, I made sure Avahi was set to ignore sm0. This is easier than it was &lt;a href="https://andrewmemory.acornwall.net/blog/2009-10-17-radio-packet-soundmodem-losing-the-squeaks/" &gt;prevously&lt;/a&gt; - now you just add:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;deny-interfaces=sm0&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;to /etc/avahi/avahi-daemon.conf&lt;/p&gt;
&lt;p&gt;Once that&amp;rsquo;s done, don&amp;rsquo;t forget to chmod 4755 /usr/bin/xastir so it can open sm0 and things are good.&lt;/p&gt;</description></item><item><title>Adding fldigi from the Berlios repository</title><link>https://andrewmemory.acornwall.net/blog/2010-01-15-adding-fldigi-from-the-berlios-repository/</link><pubDate>Fri, 15 Jan 2010 00:32:30 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2010-01-15-adding-fldigi-from-the-berlios-repository/</guid><description>&lt;p&gt;The version of fldigi that&amp;rsquo;s built for Ubuntu 9.10 is a bit out of date. Luckily, the Berlios repository has a more recent version, and you can install that.&lt;/p&gt;
&lt;p&gt;The instructions are &lt;a href="https://fedorahosted.org/fldigi/wiki/Packages" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;. In short form (specific to Ubuntu 9.10):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Edit /etc/apt/sources.list and add the following lines:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;# Berlios repository for updated FLDigi
deb http://download2.berlios.de/pub/fldigi/binaries karmic main&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Get the key for fldigi&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sudo apt-key adv --recv-keys --keyserver http://fldigi.berlios.de/binaries/fldigi-pkg-key.asc 8E7306F5&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Install fldigi&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sudo aptitude update; sudo aptitude install fldigi&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;/li&gt;
&lt;/ol&gt;</description></item><item><title>Compiling soundmodem-0.14 on Ubuntu 9.10</title><link>https://andrewmemory.acornwall.net/blog/2009-11-21-compiling-soundmodem-0-14-on-ubuntu-9-10/</link><pubDate>Sat, 21 Nov 2009 00:00:47 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2009-11-21-compiling-soundmodem-0-14-on-ubuntu-9-10/</guid><description>&lt;p&gt;The soundmodem that ships with Ubuntu 9.10 is not the latest. The latest is available here:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.baycom.org/~tom/ham/soundmodem/" target="_blank" rel="noreferrer"&gt;http://www.baycom.org/~tom/ham/soundmodem/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In order to compile it, you need to install a bunch of development packages. Here&amp;rsquo;s what I did:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sudo aptitude install libasound2-dev
sudo aptitude install libxml2-dev
sudo aptitude install libgtk2.0-dev
sudo aptitude install libaudiofile-dev&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;Also, if you don&amp;rsquo;t have the compiler already you&amp;rsquo;ll need:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sudo aptitude install g&amp;#43;&amp;#43;&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;Then:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;tar xzvf soundmodem-0.14.tar.gz
cd soundmodem-0.14
sh ./configure
make&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;To test it, go to the configapp/src directory and run&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sudo ./soundmodemconfig&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;to set up the configuration. Finally, go to the soundcard directory and run:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sudo ./soundmodem -v5&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;Assuming you&amp;rsquo;ve configured everything correctly, you should see something like:&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sm[10093]: mkiss: ifname sm0 mtu 256 hwaddr CALLSIGN-0 ipaddr 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255
sm[10093]: unknown node &amp;#34;text&amp;#34;
ALSA: Using sample rate 9600, sample format 2, significant bits 16, buffer size 4800, period size 150
ALSA: Using sample rate 9600, sample format 2, significant bits 16, buffer size 4800, period size 150
sm[10093]: audio: starting &amp;#34;plughw:0,0&amp;#34;&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;In a different terminal, you can then ifconfig sm0 to see that it&amp;rsquo;s there.&lt;/p&gt;</description></item><item><title>Stopping the squeaks with soundmodem as ax.25</title><link>https://andrewmemory.acornwall.net/blog/2009-10-17-radio-packet-soundmodem-losing-the-squeaks/</link><pubDate>Sat, 17 Oct 2009 07:23:59 -0700</pubDate><author>andrewmemoryblog@gmail.com (Andrew's Memory Blog)</author><guid>https://andrewmemory.acornwall.net/blog/2009-10-17-radio-packet-soundmodem-losing-the-squeaks/</guid><description>&lt;p&gt;I tried to set up soundmodem as an AX.25 device in order to run xastir on my machine. Unfortunately, Ubuntu by default has a bunch of services installed that prevent this. (Not so much prevent it as try to shove 100k of data through the 1200-baud soundmodem, which kills it and drives you nutty if the audio is turned up.)&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what I did to get around this:&lt;/p&gt;
&lt;p&gt;1. Change /etc/samba/smb.conf to include only the eth0 interface.&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;interface = eth0&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;2. Go into /etc/cups/cupsd.conf and turn off broadcasting (instructions &lt;a href="http://lists.pdxlinux.org/pipermail/plug/2007-February/052881.html" target="_blank" rel="noreferrer"&gt;here&lt;/a&gt;):&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;# Browsing was on.
#Browsing On
Browsing Off
BrowseInterval 0
# end trying to get around sm0 problem&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;3. Stop the AVAHI daemon by moving /etc/rc5.d/S18avahi-daemon to /etc/rc5.d/K18avahi-daemon and running /etc/rc5.d/K18avahi-daemon stop&lt;/p&gt;
&lt;p&gt;Note that on Ubuntu 9.10, avahi has been moved into Upstart. Stop it with&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;sudo stop avahi-daemon&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;then edit /etc/init/avahi-daemon.conf and comment out the&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;#start on (filesystem
# and started dbus)&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;
&lt;p&gt;and&lt;/p&gt;
&lt;figure class="highlight"&gt;
&lt;pre tabindex="0"&gt;&lt;code class="language-" data-lang=""&gt;#respawn&lt;/code&gt;&lt;/pre&gt;
&lt;/figure&gt;</description></item></channel></rss>