YubiKey GPG key for SSH authentication

In this post I’m going to go over the steps to configure your YubiKey for SSH authentication using a GPG key stored on the YubiKey itself.

This guide goes through the steps for setting this up on a Mac running OS X. Although the concepts of doing this under Linux and Windows are the same, the exact steps will be different.

Ensure your YubiKey has CCID mode enabled

Per Yubico’s site, this is usually enabled by default:

“Note that all YubiKey NEOs shipped after November 2015 come preconfigured with all modes enabled.” —

If you’re using an older YubiKey and need to enable it, you’ll want to download the YubiKey NEO Manager from Yubico’s website and run it to ensure that your YubiKey has CCID mode enabled. The link to this tool and instructions to run it are here.

Once you’re certain that CCID mode is enabled, you can move ahead with the next section.

Install GPG

The remainder of the steps in this guide use the command line interface for GPG tools. If you don’t have either GPG Tools or GnuPG installed, install one of them. If you already have one installed, you can skip on to the next section.

GPG Tools provides a nice set of GUI tools and is recommend for most users, but if you’re not afraid of the command line and have Homebrew installed on your Mac, you can install GnuPG2 using Homebrew with the following command:

brew install gnupg2

Decide if you want to require touch

YubiKey will prompt for your PIN during SSH authentication. Starting with YubiKey version 4, YubiKey can also require a touch on the sensor during authentication. Enabling this will require a touch confirmation on the touch sensor for each and every SSH connection.

If you want to enable this, it is highly recommend that you install and use the Yubikey Manager CLI using the instructions from this page. Once installed, you can enable touch using the following command:

ykman openpgp touch aut <'on'|'off'|'fixed'>

If you want more information on these specific policies, please see this page under the heading “Yubikey 4 touch”. IMPORTANT NOTE: A link to a bash script to enable touch is found on that page. Because the behavior of that script requires providing your admin key on the command line, it should be considered insecure. I highly recommend using the ykman tool instead whenever possible.

Unless you set ‘fixed’, (ON_FIXED), you can always come back and change this setting later. If you set fixed, you can’t change it until you put a new secret key onto the YubiKey.

Change the YubiKey PINs

Before continuing, it’s you should change the YubiKey PINs from their defaults if you have not already. The default PIN is 123456 and the default admin pin is 12345678.

To do this, start by running: gpg --card-edit

Once you have the card editor open, allow admin commands by running admin

Then, open the PIN change dialog with passwd

From here, set your PIN, Admin PIN, and reset code. Store these in a safe place.

Once you’ve set your PINs, you can further personalize the data on the card. Here’s the full list of commands available after running admin:

gpg/card> help
quit       quit this menu
admin      show admin commands
help       show this help
list       list all available data
name       change card holder's name
url        change URL to retrieve key
fetch      fetch the key specified in the card URL
login      change the login name
lang       change the language preferences
sex        change card holder's sex
cafpr      change a CA fingerprint
forcesig   toggle the signature force PIN flag
generate   generate new keys
passwd     menu to change or unblock the PIN
verify     verify the PIN and list all data
unblock    unblock the PIN using a Reset Code

Generate and move a GPG key to the YubiKey

If you already have a set of GPG tools installed and your own key generated and available within those tools, good on you! Run the following commands to be sure:

gpg --list-keys
gpg --list-secret-keys

If your public and secret keys do show up as expected, there’s no need to generate another key. You simply need to move your existing key to the YubiKey.

IMPORTANT NOTE: If you want to make use of the ability to revoke your key in the future, then you must generate the revocation certificate before moving the key to your YubiKey. Once you move a key to your YubiKey, it is not possible to generate a revocation certificate unless you have a full backup of the secret key somewhere and are able to re-import it to your GPG keyring.

To move your secret key from your GPG keyring to your YubiKey, go to this page and start where it says “To import the key on your YubiKey”

If you need to generate a GPG key for SSH authentication, take a look at this guide and follow one of the two methods provided.

Once your key is generated and moved to the card, you’re all set to move on to the next section.

Making it all work locally

This part requires editing just a few files to make gpg-agent work as expected.

Add the following to ~/.bash_profile:

[ -f ~/.gpg-agent-info ] && source ~/.gpg-agent-info
if [ -S "${GPG_AGENT_INFO%%:*}" ]; then
    export GPG_AGENT_INFO
    export SSH_AUTH_SOCK
    export SSH_AGENT_PID
    eval $( gpg-agent --daemon --write-env-file ~/.gpg-agent-info )

Add the following to ~/.gnupg/gpg-agent.conf:

write-env-file ~/.gpg-agent-info
pinentry-program /usr/local/MacGPG2/libexec/

Restart gpg-agent:

sudo killall gpg-agent
source ~/.bash_profile
source ~/.gpg-agent-info

Get your SSH public key

Use the following command to get the SSH public key that corresponds to the key installed on your YubiKey:

ssh-add -L | grep cardno

This can be installed on any server that you want to use your YubiKey-stored key to access.


Leave a comment

Why I am canceling my Ham Radio license

I’ve been a licensed member of the Ham Radio community for a few years now. While I haven’t been active much in the past few months, there’s always been one thing has really been a sore spot for me: the need for the Ham radio community to know your physical location.

The FCC considers Ham Radio licenses to be in the public record. That includes your name and mailing address. You can use any address that you can receive mail at, such as a neighbors house, a PO Box, or a private mailbox service, and the FCC is perfectly fine with this. The Ham Radio community is big on geolocation data when exchanging messages, and frequently query the FCC database and use the information that you’ve provided to direct antennas, mail you QSL cards, or even to provide you other things. So, having an address that isn’t immediately near your actual, physical location will get you questioned, or sometimes even scolded, by your fellow operators.

In 2015, the FCC sought comments on an NPRM that would increase the privacy of previous address information on licenses. The FCC themselves admitted that this was a “partial solution,” as previous address information would still be visible. To date, there haven’t been any significant changes made in the ULS system that would help protect the privacy of individual operators, and previous address information is still available for licenses. Some ham radio forums even publish your address information as part of their site updates, which writes that information onto the internet with ink — an ink that’s hard, or even impossible, to remove.

In an age of almost-daily security breaches and compromises involving sensitive or compromising information, everyone should be conscious of the information that’s available about them in public databases. Maintaining a publicly searchable database of addresses is in stark contrast to this, and keeping an address that’s not near to your physical address or location seems to run afoul to standard operating practice in the community.

With this, I’m filing an FCC 605 form to cancel my license, and I strongly encourage the FCC to consider privacy-supporting changes for the ULS system for the future.

Leave a comment

WiFi not working on Asus T100TA

Today I ran into an issue with my Asus Transformer T100 where the Wi-Fi would not work under Windows 10 and going into Device Manager showed an issue with the Broadcom Serial Bus Driver over UART Bus Enumerator. Opening that shows “This device cannot start. (Code 10)” and the following message:

{Drive not Ready} The drive is not ready for use; its door may be open. Please check drive %hs and make sure that a disk is inserted and that the drive door is closed.

The first thing you will want to do to try to resolve this is to go into the BIOS by shutting the tablet down and then holding volume down + power to boot up into the BIOS. Once there, find “Network Stack” and set it to “Enabled” if it is not already. Save changes and exit.

If this does not resolve your issue, use a working system to download the drivers from Asus’ website and then transfer them to the Asus using a USB stick so you can reinstall the drivers. Optionally, you can use a USB-to-Ethernet adapter to get yourself back on the network and update the drivers.

At this point you should have resolved this. If not, go back and start over to ensure you followed the previous steps correctly. If it’s still not working, you should either restore to a previously-working restore point or reset/reinstall Windows. If that doesn’t help, you may have a hardware issue, so reach out to Asus for further support.


Leave a comment

Getting your Amateur Radio license

Want to get into Ham Radio? You need a license. No, wait! Don’t run away just yet, it’s not as bad as it sounds.

Getting your ham radio license is not any harder than getting your driver’s license, really. We’re just dealing with radio operations and regulations, electrical and RF safety, some basic components, and equipment know-how, rather than speed limits, stopping distance, following the lines, and knowing how to read signs. And you’re getting your exam graded by other licensed volunteers rather than those cheery folks at the DMV. So, how do you get started?

I should preface this by saying the following instructions are for US citizens living in the US. While I realize that Ham Radio is an international hobby, I only know how my little corner of the world works. At least in this case.

First, you need to find some study materials for your exam, and that first exam is the Technician’s class license exam. You’re exam is going to be 35 multiple choice questions sort-of-randomly picked from a pool of about 350 or so. Here are a few places to get that knowledge:

  • The ARRL Technician Class Training Course (video) – This video is about 6 hours long, so don’t try to take it all in one sitting. There’s a little bit of video corruption around the 10 minute mark, but it works itself out. The video is a few years old, but is still spot-on and very in-depth. I recommend you start here.
  • (interactive) – If you’re an interactive-flashcard-type learner, this site will work out well for you. Flashcards will have you choose your answer, will keep track of your progress, and will offer explanations on the questions and answers. There are even practice tests. This site includes study material for the General and Extra class licenses, as well as some commercial licenses.
  • KB6NU’s study guides (PDF) – KB6NU has put together a PDF with the questions and answers explained in paragraph form. If you’re a reader, this one is for you. KB6NU also has study guides for the General and Extra class licenses.
  • Classroom-based learningIf you prefer the classroom, and don’t mind paying for a class, this is an option. Most people find self-study to be sufficient, and they like the fact that it’s much cheaper and more flexible than classroom-based study.
  • A local radio club – While this isn’t a direct learning resource, a local radio club of already-licensed hams can be great for answering questions. “Elmers,” or Ham mentors, are often ready and willing to help newcomers.

Between these resources, you can absolutely pass your license exams. If something doesn’t make sense, or you’re having a hard time with something, shoot me an email. I may be able to help. Don’t worry too much if some concepts seem daunting or unfamiliar at first. Some people prefer the hands-on approach that usually comes only through use.

If the sound of General and Extra make you think “Oh man, there’s more than 1 exam? I don’t want to do this anymore,” relax. The Technician class license will get you on the air and access to plenty of operating privileges, and you can take the upgrades any time you feel like (or never, if you fancy.) I’ve known Ham operators that have been licensed for decades and haven’t yet taken either of the upgrade exams. They’re completely optional.

If, on the other hand, you’re an over-achiever and think “I see something about an Extra class license, I’ll just skip this other nonsense and go straight for the gold!”, slow down. The Technician-class license is required of all new Ham radio operators. You must pass it before you can take the upgrade to General, and you must pass the General before you can take the upgrade to Extra. You could take all 3 tests on one sitting if you want, but if you don’t pass the Technician exam, you won’t get a license.

So now you’ve soaked up all that knowledge and are ready to take your exam? Well done!

Before you do that, take a quick break for a pit stop at the FCC CORES website and register for an FRN. You will use your FRN in place of your Social Security number on your exam paperwork, and this will give you the chance to set your security questions and answers as well. Plus side: You’re not writing your SSN on any paperwork, and the only people who have it are the people who need it. Smart idea all around.

Got that done? Great!

Now, there are several Volunteer Examiner Coordinators (VECs) that administer the exams throughout the United States. Here are the main two. Check each website to find an exam session in your area:

So now you’ve found an exam session that fits your schedule. What to do next?

  • Email the exam contact to open a dialog. Introduce yourself. Confirm the date and time of the class. The last thing you want is to show up for a class that isn’t taking place. (This happened to me).
  • Also confirm the exam fee and payment method. (Most sessions take cash or personal check, but not credit cards.)
  • If you have a disability and require assistance, state that in the email, and ask about the accommodations that you need. You don’t want to show up and find that they can’t accommodate you, or that there are accessibility issues.
  • Ask for a phone number where you can reach the contact if you have trouble finding the test location.

While there are some variations between exam sessions, here’s what you should be prepared to bring:

  • Current government-issued photo ID such as your license, state ID, or passport (or two forms of positive non-photo identification, such as a birth certificate, utility bill, library card, etc. Check with your exam contact ahead of time to make sure you have acceptable documents)
  • Minors should have a library card, school ID, report card, proof-of-address, or something else with their name on it. (Life tip: You can get a state ID for your child at your local DMV for a few bucks. It is a valid photo ID, keeps your kids information on file in case of emergency, and is very inexpensive.)
  • Your social security number or FRN
  • Payment for the exam fee (Exact amount is appreciated. The examiners may not be able to make change)
  • Two sharpened #2 pencils with erasers
  • A calculator (You must clear the memory, and you cannot use your cell phone. Seriously. Don’t try it to find out.)
  • Blank paper if you want something to scribble on. (You can make notes and use scratch paper to do math, but you can’t show up to the session with any notes.)
  • If you are upgrading, bring your current license (PLUS a photocopy), AND any CSCEs from recent exams (PLUS photocopies), as applicable. If you’re going for your first-time license, this doesn’t apply to you. (The examiners have to see the originals and keep copies, and there aren’t usually copiers around for the examiners to use)
  • If you are bringing a child, please bring something to keep them quietly occupied if they finish while others are still testing.
  • Show up on time. These guys aren’t getting paid to sit around and wait for you to show up. They’re volunteers, remember?

Your exam will be graded while you’re still there, and you will know right away if you’ve passed, or if you need to study some more.

The most frequently asked question(s) following an exam session, ever:

  • Q) I am a new ham and just passed my Technician exam. How long does it take my license to appear in the FCC ULS database after passing an exam session? When can I start operating? When will I receive my paper license in the mail? I just upgraded, when do my new privileges take effect?
  • A1) If you are a new licensee, you cannot operate until your callsign appears in the FCC ULS database. Although it may be faster in some cases, the average seems to be about 10 business days (not including weekends or holidays). If your license hasn’t appeared in the ULS database at the end of 10 business days, contact the VEC that administered your exam session (typically W5YI or ARRL). The CSCE you received on passing your exam is valid for one year, so you have ample time to resolve any license issues without having to re-test, but be sure to do so before it expires. Try to be patient. You can start operating on the air as soon as your callsign appears in ULS. If you would like a paper copy of your license, you may download and print an official copy of your license from the FCC ULS system. Under most circumstances you do not need to physically hold your license or have it displayed while operating. For more information on obtaining a paper license, please visit 
  • A2) If you are upgrading an existing license by passing a new exam element, your CSCE gives you immediate upgraded operating privileges, provided that you use the the appropriate suffix at the end of your callsign when identifying. Use suffix “/AG” after your callsign, spoken as “stroke A G” or “slash A G” (for General, meaning “acting General”) or “/AE” (for Extra, spoken in the same manner as General). You do not have to wait for your license upgrade to appear in ULS, which usually takes about 10 business days, but can be faster in some cases. Your CSCE is valid for one year, so be sure that your license upgrade appears in ULS before your CSCE expires. 

Here’s an important note about your privacy:

  • Amateur licenses are public record, and your name and mailing address are displayed as part of that record (but not your telephone number or email address). Keep in mind that you don’t have to use your home address; it can be any address that you receive mail at, such as a PO Box, relative’s place, or a work address (with your employer’s permission). If you provide an invalid address, or any mail the FCC mails to that address is returned, your license may be cancelled. You can update your address at any time online by using the ULS system or by mail using FCC Form 605

Once your callsign appears in the FCC ULS database, you can not only start operating, but you can print an official copy from the FCC ULS system and frame it. You also get a wallet card too. Congratulations!

Leave a comment

RF Exposure in Amateur Radio

The term “RF exposure limit” defines being exposed to a particular amount of RF energy averaged over a particular time-frame. If you are exposed to a higher amount of energy (such as higher transmission power, or being closer to a transmitting antenna), then you can’t be exposed for as long of a period of time as you could be if it was a lower amount of power or you were further from the antenna. Since RF energy drops as you distance yourself from an antenna, putting greater distance from a transmitting antenna and reducing the transmitting power coming out of the antenna are both good ways of reducing RF exposure. This is one reason that people concerned about cell phone RF exposure can use headsets and keep their phone away from their body while in a call to reduce their exposure.

The first thing you need to be aware of is the difference between ionizing and non-ionizing radiation:

  • Non-ionizing radiation is the type of RF energy emitted from Amateur radio operations, which is the same type using in broadcast AM and FM radio, WiFi, cordless phones, baby monitors, sunlight, low ultraviolet radiation, and microwaves. The primary hazard associated with non-ionizing radiation is the heating of body tissue and the resulting damage such as burns. (This isn’t the place to talk about sunburns and skin cancer. Leave that to another forum, please.) You can read more about non-ionizing radiation on Wikipedia.
  • Ionizing radiation IS NOT produced during amateur radio operation. Sources of ionizing radiation include Gamma rays, X-rays, and higher ultraviolet radiation. The primary hazard from ionizing radiation is the destruction and mutation of DNA, which can directly lead to cancer, inheritable disease, or certain death. If you want, you can read more about this on Wikipedia.

For the sake of this article, I’m not entertaining any conversation on electromagnetic hypersensitivity. Discuss it somewhere else. 

The next thing to be aware of is that the human body absorbs different frequencies in different amounts, so the safe exposure limit will vary based on the frequency in use. The human body is the most sensitive to frequencies around 50MHz (the 6-meter band), so the exposure limit at that frequency is the lowest; you have to maintain lower power and greater distance from the antenna around 50MHz than any other frequency.

The last thing you need to be aware of (before we get into actual numbers), is that RF exposure is measured over time, as was mentioned above. There are two different time-frames for this measurement: Controlled, and uncontrolled. Controlled exposure applies to when you are aware of the presence of RF energy, and can take steps to limit your exposure. Operating your station is considered controlled exposure because you are aware of your emissions and can take steps to lower your power or cease operations. A field day event is also considered controlled exposure because you are aware of radio operations and can leave (or walk away from the antennas) whenever you like. Your stations RF emissions extending into your neighbor’s house are considered uncontrolled exposure because they are not aware of the emissions and it’s not reasonable to expect them to take actions to prevent it. Emissions from your portable operation into a nearby picnic site are also considered uncontrolled exposure.

The FCC has defined Amateur Radio RF exposure limits in OET Bulletin 65. For the sake of public interest, I will sum up some of the important information. Bulletin 65 states: “A routine RF radiation evaluation is required if the transmitter power of the station exceeds the levels shown in Table 1 and specified in 47 CFR § 97.13(c)(1). Otherwise, the operation is categorically excluded from routine RF radiation evaluation…” Here is a PDF of Table 1 only:

oet65table1 (PDF)

If you are transmitting over the power levels established in Table 1, an RF exposure survey is required. For example, a station transmitting at 100 watts on the 10-meter band must perform an RF exposure survey and ensure that exposure levels are acceptable. A station transmitting at 100 watts on the 20-meter band, however, is exempt. It’s a good idea to consider RF exposure no matter what your setup, just to ensure that no unsafe conditions exist.

How does a ham perform an RF exposure survey without using expensive test equipment? Many online calculators exist, where all you have to do is plug in your frequency, antenna gain, transmission line length, and sometimes the distance from your antenna. The calculator will tell you if you are within the exposure limits, and it only takes a few minutes. Plus, if you are ever questioned about the RF safety of your station, you can refer to your RF exposure survey findings.

Here are links to a few RF exposure calculators:

Leave a comment

Radio Recommendations for new hams

For a new ham getting into the hobby of ham radio, the number of radios on the market (and their prices!) can be quite overwhelming. What radios can give you a good amount of features for a fair price, and get you on the air without getting you into debt?

I asked some other hams for their recommendations for radios for new hams, and these radios were popular choices.

Budget Technician (<$200): HT/mobile recommendations for a new tech licensee just getting into the hobby.
  • Baofeng UV-5R+Plus (Amazon): Updated variant of the Baofeng UV-5R, recommended over the original. Dual-band (2m/70cm), extended RX/TX (136-174/400-520MHz), 4W, dual-watch, FCC Part 90. Can be programmed with Chirp or RT Systems BAO-5R. (The MicroCenter location near Philadelphia stocks these locally, though they’re not listed on the website.)
  • Yaesu FT-60R (HROAmazon, GigaParts, AES): Dual-band (2m/70cm), extended RX (108-520/700-999MHz), 5W, FCC Part 15. Can be programmed with Chirp or RT Systems ADMS-1J.
  • Leixen VV-898 (Amazon): Dual-band, extended TX/RX (136-174MHz/400-470MHz); FM Radio; FCC Part 90; 10W; Can be programmed with Chirp.
  • BTECH Mini UV-2501 (Amazon): Dual-band, extended TX/RX (136-174MHz/400-520MHz); 25W; Download programming software here.
  • BTECH Mobile UV-5001 (Amazon): Dual-band, extended TX/RX (136-174MHz/400-520MHz); 50W; Download programming software here.
Full-featured Technician ($200-$400): HT/Mobile/Base recommendation for someone willing to spend a little more.
  • Yaesu FT-1D (HRO, GigaParts): Dual band TX (2m/70cm) with multiple band RX (0.5-774/803-999MHz), 5W,  System Fusion Digital Voice (C4FM), GPS, APRS (w/messaging), waterproof (IPX5), FCC Part 15, Dual-receive, FM radio, FCC Part 15, pre-programmed with shortwave, weather, and marine frequencies. Can be programmed with Chirp or RT Systems ADMS-FT1D.
Budget HF (<$750):HF recommendation for a General class licensee wanting to get on HF without dropping a lot of cash.
  • Icom IC-718 (Associated Radio, GigaParts, AES): TX (160/80/40/30/20/17/15/12/10 meters); Extended RX (0.3-29.999999MHz); Multi-Mode (USB, LSB, CW, RTTY, AM); 100W (SSB/CW/RTTY)/40W (AM); DSP; CI-V rig control port; optional voice synthesizer unit
Full-featured HF: (<$1500): Something full of features for a General/Extra class licensee, but still at a reasonable cost.
  • Yaesu FT-857D (HRO, GigaParts, AES): Multi-mode (AM/FM/USB/LSB/CW/Digital), Multi-band (160m-70cm), 100W (HF)/50W (VHF)/ 20W (UHF), extended RX (0.1-56/76-108/118-164/420-470MHz), data port, detachable face, built-in DSP for bandpass/notch/noise reduction filtering, CAT rig control port. Can be paired with the ATAS-120A antenna (HRO, GigaParts) for one-touch tuning from 40m-70cm. Can be programmed with Chirp or RT Systems ADMS-4B.
  • Yaesu FT450D (Amazon): Multi-mode (AM/FM/USB/LSB/CW), wide RX (30kHz-54MHz), TX (6-160M), DSP, built-in tuner, 100W

For radios that can be programmed with Chirp, here is the link.

If you have a radio you would like listed here, please contact me and include a link to a website that currently sells the radio so I can get pricing, specs, and link to it. 

Leave a comment

Truth and misconceptions about out-of-band emergency radio operation

Some truth and misconceptions about out-of-band Emergency Communications during emergency situations:

Amateur Radio operations do have the equipment, and often the knowledge, to assist in providing emergency communication within the band frequencies that they are licensed to operate on. However, there is a huge misconception about out-of-band operation.

According to the FCC, “§97.403 Safety of life and protection of property. No provision of these rules prevents the use by an amateur station of any means of radiocommunication at its disposal to provide essential communication needs in connection with the immediate safety of human life and immediate protection of property when normal communication systems are not available.” and “§97.405 Station in distress. (a) No provision of these rules prevents the use by an amateur station in distress of any means at its disposal to attract attention, make known its condition and location, and obtain assistance. (b) No provision of these rules prevents the use by a station, in the exceptional circumstances described in paragraph (a), of any means of radiocommunications at its disposal to assist a station in distress.”

The above rules are in place so that in the event of a distress situation, an Amateur Radio operator (or anyone for that matter), may transmit on any frequency and using any mode, any communication or call for help, and anyone may respond to those calls.

Many people interpret these rules as stating that no enforcement action can be taken against someone transmitting on local police, fire, dispatch, or other commercial or military emergency frequencies in order to transmit or respond to a distress call. This is not correct. While the FCC may not take an enforcement action against you, local governments, municipalities, or businesses may choose whether or not to take enforcement action against you based on the situation. You are, after all, interfering with their licensed operations, and you may be interrupting a call for another, more serious situation.

In some situations, Amateur Radio operators have legitimately called for, and responded to, calls for help. And there have been rare situations where out-of-band transmission was justified and used. But these situations are rare indeed.

However, do not expect to use “it was an emergency” as a wildcard to transmit out-of-band whenever you want. Use discretion, common sense, and take advantage of other methods of communication first, if available. If the situation warrants, and other forms of communication are not available, then out-of-band transmission may be justified.

Situations which warrant out-of-band transmissions are extremely rare. Some people choose to modify and program radios for out-of-band operation as if it would be a regular occurrence. While having the capability to to transmit out-of-band will prepare you for such an emergency, the odds of being able to justify such operation is remote. That’s not to say not to prepare, that’s just to say don’t expect you will ever make justifiable use of it.

Leave a comment

A comparison of FRS, GMRS, CB, MURS, and Amateur Radio

Here is a comparison chart:

FRS GMRS CB Amateur Radio MURS
Bands available 1 (462/467 MHz) 1 (462/467 MHz) 1 (29 MHz) (see note 1) 1 (151 MHz)
Simplex channels 14 (see note 2) 22 (see note 2) 40 (see note 3) 5 (See note 7)
Maximum power (PEP) 0.5 watts 50 watts (5 watts on channels shared with FRS) 12 watts 1,500 watts 2 watts
Repeaters? No Yes No Yes No
Modes? FM FM AM, SSB AM, FM, SSB, CW, digital, VoIP, TV AM, FM
FCC Rule Part Part 95(B) Part 95(A) Part 95(D) Part 97 Part 95(J)
Radio Certification Required? Yes Yes (see note 4) Yes No (see note 5) Yes
License required? No (See note 6) Yes No (See note 6) Yes No (See note 6)
Who is covered by license? N/A Yourself, your spouse, your family N/A Yourself only N/A
License cost? N/A $65 N/A $15 N/A
Exam required for license? N/A No N/A Yes N/A
More info: FRS GMRS CB Amateur Radio MURS
  1. Bands vary based on your license class. At least 8 bands (28 / 50 / 144 / 222 / 420 / 902 / 1240 / 2300 MHz and up) are available with a technician class license. See the ARRL frequency chart for details. This does not include technician CW-only or SSB-only frequency ranges, nor the HF band frequencies available to upgraded General or Extra class licenses. 
  2. Certain simplex channels are shared between FRS and GMRS, with power restrictions.
  3. Ham radio is not channelized, but there are (roughly) 72 available non-overlapping FM simplex frequencies among the 28 / 50 / 144 / 222 / 420 / 902 / 1240 / 2300 MHz bands available to use with a technician class license. This number does not include FM repeater frequencies, nor the HF band frequencies available to upgraded General or Extra class licenses. See the ARRL band plan for details.
  4. The FCC has allowed radios having Part 90 certification to operate on GMRS as long as they meet the technical emission standards.
  5. Part 15 or Part 90 radios are required if receiving outside of the ham bands. Any radio can be legally modified to operate within the ham bands. Homebrew equipment is allowed.
  6. These services are “license by rule”, meaning that as long as you follow the rules, you are “licensed” to use the service. If you break the rules, you lose your license to use the service. No formal licensing is required. 
  7. MURS channels 4 and 5 have been previously allocated to businesses, and may still be used on a grandfathered basis. Where there is a business using either of those 2 channels, they are the primary user and you may be limited to using the other channels.

Leave a comment


As WordPress tends to mangle code that I post, I’ve started moving it to GitHub. As I move code to GitHub, I will replace the code within the article to a link to the code on GitHub.

You can find my GitHub here.

Leave a comment

Installing GIMP on Mac OS X with ELA Script-Fu

This article will walk you through installing GIMP on OS X with an ELA (Error Level Analysis) plugin to detect editing.

To learn more about reading ELA results, read this:

First, download GIMP from here:

Next, grab elsamuko-error-level-analysis.scm from the bottom of this page: – Save it for later.


After downloading this .scm file, open it in your favorite text editor and locate the following line:

SF-STRING      "Temporary File Name"   "error-level-analysis-tmp.jpg"

Change it to the following:

SF-STRING      "Temporary File Name"   "/tmp/error-level-analysis-tmp.jpg"

And save the file. This fixes an issue with images not being able to be processed as the default location is not writable by GIMP.

Now double-click the GIMP .dmg file you downloaded, and copy GIMP to your Applications folder as shown:


Once you have it copied over, you will want to open the package contents by alt-clicking and selecting “Show Package Contents“.


From here, navigate to Contents > Resources > share > gimp > 2.0 > scripts and drop in the elsamuko-error-level-analysis.scm file you download earlier.


Now, run GIMP. Because of security-related things and stuff, the first time you run you will have to alt-click on GIMP and select Open. After doing this for the first time, you won’t have to do it again.


GIMP will appear to freeze for about 5 minutes while it builds its initial caches. This will cause GIMP to appear unresponsive. Do not force-kill it during this time, simply be patient until it opens.

Now, you can perform ELA on an image by opening it, and selecting Image > Error Level Analysis from the menu.



Once you’ve done that, running it against an image will produce an ELA mask as an additional layer, which you can use to analyze an image.

You can toggle the ELA layer visibility by clicking the eye shown in the following screenshot.


(Sample image from, retrieved April 11th, 2016)

Leave a comment