The Computer Corner Take II (#30) by Bill Kibler

To see more Computer Corner articles look here: CCII page or check out the Home Page .

Ham Radio, ARRL, and a Linux Distro

Who-What...

I have been a ham radio operator since the early 1960s. I started playing with computers in the late 1970s. Began using minix on a 286PC and started using the first release of Linux when it came out. I got payed well doing programing for embedded systems, large mainframes, and Unix/Linux systems. So it isn't odd for me to want to combine my long usage of ham radio and computers. However I don't use windows unless paid to do so and have to admit that happened more than I care to state. Now that I am retired and controlling my own projects, I have the time to do a few projects that combine both interests.

For some time now, I have been working to use many of Linux's built in features to remotely control my ham gear. You can run "ssh -X 10.10.1.1" and any program that uses the X-display will appear on your local machine. I run my mail viewer that way and can therefore use any of the many systems either around the place or in another state. I have used that method to run fldigi and grig over my network to do psk31 on HF bands. Since all output is displayed on the screen back through the ssh features, any Linux Distro will do. Still to get working is doing the same but with audio for talking on the HF frequencies.

For many hams one of the main uses of the computer is updating and loading frequencies into their rigs. Most of the new radios are computer controlled and as such have several hundred to thousands of memory locations to store not only regularly used frequencies, but many options associated with the frequency or in the case of VHF repeaters, things like tone and offset values needed to access the site. The rigs do have front panel buttons and processes to update these memory locations, but doing more than one is very tedious. The manufactures of these units make programs to use on your computer to make it easier and possible to save them off for later reuse or passing on to other systems. And here is where Linux users have problems, none of the manufacturers produce Linux programs, just windows programs. Want to update your software in your rig - go find a windows machine.

What I think needs to happen

Some background and plain old complaining might help readers understand what has happened, will be happening, and I would like to see happen. For those window users, you need to understand that M/S has been and is increasing their efforts to prevent anything but their software from being used. I recently had my licensed IP-Pro system declared not-legal and can no longer update it. Read the fine print and you will see that M/S has the right to re-evoke your license to use their software at any time for any reason they feel is appropriate. So not only is M/S dropping IP support, they may also be killing lots of licenses in the process to force you to upgrade.

For those who haven't seen it yet, be aware that M/S is moving to an amp-store approach to installing software, or simply put - you must buy everything from the amp store or it will not run on your system. The gaming community is already moving to Linux, as the prospect of giving M/S 20% of their income just to be able to sell to windows user is not making them very happy. I suspect this will all take place over the next year or two, and as such you should have time to start making plans for not using windows, as have many countries and businesses. As yet I haven't seen what ham vendors plan to do about the changes, but I am sure M/S will do something that gets them on board for free, but once on will start jacking up the fees even for free software.

For us ham operators, we have always had the ARRL - American Radio Relay League - looking out for us and providing magazines and legal support. The ARRL monthly publication "QST" provides reports on activities, news, legal concerns, as well as articles on "how-to" projects and new equipment reviews. They run a web site for both members and interested people at www.arrl.org. They have an extensive collection of books and training material to help new and old hams keep up with changes in the technology. Their focus tends to be more legal and international, with local chapters or clubs providing more of the training and hands on support of members.

It occurred to me and based on other Linux projects I had to work on over the years, that getting the ARRL to provide a Linux Distro with all the software used in many of their publications, would get vendors willing to consider adding Linux to their support activities. As it stands now, unless the M/S app store changes vendor minds, ham vendors have been less than willing to support Linux. Let me say I don't really blame them either. I know from having ported stuff to Linux, that it really isn't hard porting windows code to Linux. What does cause problems however, is which Distro or packaging format. This is where getting the ARRL to pick one Distro and providing support for it would make a difference. It is basically the old adage "if they did it, we can too". Another way of putting it is, let the ARRL work out the problems of picking which Linux to support and then send the ARRL their programs for inclusion on the ARRL disk release.

To see what other hams though of the idea, I went to the forums section of the ARRL web page and under software posted the idea. Let me say the response was not positive and mostly from only one or two users. Clearly this was not as hot a topic as I suspected it might be. I did some digging and found more discouraging items. One link dropped me at an article on Ubuntu and hams that was so badly done and showed how little hams knew about Linux. The line that got me was "wine is an emulator". For those who don't understand my problem, "wine" stands for "Wine Is Not an Emulator" - it is a set of libraries or APIs if you will. It works by trying to handle library calls the windows program makes and turning them into acceptable Linux functions. This is important as many windows programs, mainly those by M/S which use back doors into the OS instead of API calls, don't work well under wine. If you want to emulate a PC environment you use an emulator like "qemu" or "Virtual Box", not "wine".

Trying what is available

In the forum, it was suggested I use one of the existing ham Distro. I had done that in the past and was not impressed with what I found. I did a recent check and found my previous Distro from three years back still out there. However, I did find two new additions and tested the KB1OIQ's release based on Ubuntu 12.04. It took me 8 hours to download it, as it was 1.4GB of DVD and over an hour to install as the updates had to be loaded. He provides both 32 and 64 bit versions, however the 32 bit version has a broken install process. Since these are live Distro, you could use the 32 bit as live and not install it. The author has done lots of work over several years and should be commended for his efforts. However, I found the end results had too many problems for me to use. I tried it in Virtual Box and on one hardware platform, and both installs failed to find any sound devices or my SignaLink USB sound device. I have more comments later about this Distro and old hardware support.

I found one ham link for "pskmail" and "puppy Linux". Now I have used puppy before and it is ideal for older systems, as it comes in 150 to 250MB ISO images. They produce many "puppies" to choose from based on just about any major Distro you want. Their current releases are based on Ubuntu and Slackware. The pskmail puppy is based on Ubuntu 12.04 and took about an hour to download. They have add-on apps for more than just the pskmail program. There is also a "digipup" web site that shows and provides ham tools for puppy in their "pet" package format. Versions of puppy Linux for older systems are available, including support for 486 CPUs and ISA bus devices - select a "retro" version.

I installed puppy in my Virtual Box setup and tried installing it on the hard drive. The live operation worked fine, the install had issues that I think were related to my being a bit quick on clicking "OK" and thus "grub" didn't get installed. Since I have installed puppy successfully several times before, I know this issue is mine, but might cause new users some problems as well. What I did find in the live usage was a few programs like fldigi, but no ham menu option. The programs were in odd menu locations and took some hunting to find. I must say however that the release is for pskMail and as such a desktop icon was provided which really is all that was needed. For an ARRL release, this Distro might work fine after some minor tweaking.

What makes a good Distro

The direction of this article is finding a good distribution for inclusion on a disk provided with the ARRL Handbook. The handbook has lots of articles that use some version of software to either do something, or provide data for your project. So we have a some what narrow list of programs and as such could do something without a full Distro being needed. Right now the associated disk comes with several windows programs and support data files. It all looked pretty dated and I could not tell how much of it actually works - I suspect most, but you might have issues with newer versions of windows. I saw lots of forum questions where hams were trying to get the software to work with the newer windows releases.

What we really want to accomplish are several things. Windows is a moving target and as such the applications need to be checked and adjusted for every new release and change of hardware. Often times we find windows driver support a problem as vendors scramble to updated them to the latest windows changes. So one improvement by using a single Linux distribution is control over changes and updates. The Unix/Linux structure is very modular and as such most changes have little effect on applications. The Linux community drivers are based on chip sets and not vendors and thus tend to work no matter which distribution or vendor's hardware your using. Thus a change to Linux would provide a controlled and stable environment more in tune with what users are doing and using.

One problem with the KB1OIQ disk was saying it supported older systems. I define older as more than 10 years, most likely using a 486 or Pentium one or two chip set. Old systems typically only have CDRom support and will not boot from USB devices if they have any USB ports at all. The puppy retro release states it supports ISA bus devices, while most new Distro only support PCI/PCI-E devices. What we are talking about however, is what is compiled either into the kernel or supplied as modules to the kernel. The later releases have reduced the number of items supported to the latest batch of hardware, while the older items still remain in the code base. Adding the old support is simply clicking a few boxes in the kernel config menu and recompiling the kernel tree. So saying you support old system with a recent typical release is not true. A good Distro with support for old hardware needs to be on a CDRom and specially compiled as such.

Another reason to keep the system size small is for using emulators like Virtual Box. A release can be made to install on a real hardware system, or you can install an emulator on your windows machine to run Linux. When I worked for HP, I did the opposite for accessing the required internal apps, I ran a Linux platform and put windows on an emulator, where I could cut and paste between systems. I had far fewer windows problems that way, since you can take snapshots of windows for restoring the system after the latest updates crashed it. Emulator are great tools for testing new releases and possible changes that might break things. Since your dealing with files, it is possible to ship out complete emulation images that are fully setup and will work properly on any system that has the emulation package properly loaded and running. This can cut down the chances of problems and failures as everything is pre-prepared and tested. I like emulators for their flexible drive systems, where the hard drive image file for an 8GB drive can be as little as 900MB when puppy is loaded. This means you can have people download a 900MB image that produces a 8GB files system.

Selecting a distribution

For this project it might help to go through some steps in picking a Linux distribution so you can see for yourself some of the problems and how to avoid them. The first step is outlining ones objectives and support issues. In our case the ARRL ships out each year the Handbook with updated sections, error fixes, and any new projects or technology. So we will need to support the Handbook's projects and time schedule. Let us take the schedule first. I would guess there is a six month time frame of text and software updates from the previous version, followed by six months of production. By "production" I mean sending proofs to printers, burning disks, and getting material into a warehouse ready for shipment. So any release you ship is going to be almost a year old by the time it reaches the reader. So this is a big concern in picking a Distro.

Both the KB1OIQ and puppy distributions were based on Ubuntu, which has a six month update cycle. When I looked at KB1OIQs log of changes, I saw that he had to update everything due to Ubuntu updates. Clearly for the ARRL usage you want something that has a two or more year life cycle, since it will be a year in production before it even gets to the user. In the past I used SUSE which had over a year between major updates. However Ubuntu was becoming popular faster than SUSE and so they changed to a six month update cycle. I dropped SUSE and went to Debian after SUSE releases became so buggy that they were no longer dependable. In switching to Debian, I learned that Ubuntu, LinuxMint, and probably about a third of all Linux distributions, use Debian testing as their source. Debian has several release cycles with "stable" being what I use, due to its two year or longer change cycle. Typically they support past "stable" releases for 5 years, while the "testing" branch can be broken at anytime. There is also an "experimental" branch where new features or items are played with to see if they are even usable at all.

For the ARRL release, we need to use Debian Stable or something similar, like Slackware, which also has a long development cycle and produces a Distro that can be used for several years. These stable releases do get updates to fix security issues and major bug fixes, but never to add new features or changes that might break other programs. Testing branches however can update things that will cause breaks - that is part of testing a new change. So shipping a Distro to people based on a testing branch is clearly not a good idea. For that reason I might choose a Slackware based puppy release, if not using their tools to build a "Debian retro puppy", which you can do. To help further decide which Distro to select we need to check which supports our projects better.

In our case we have a Handbook that requires software support for doing printed circuit design and layout. We need help designing antennas, filter circuits, and simulating various types of electronic circuits. That means a good distribution would need these packages in their repositories and have processes in place to update them as needed. Keep in mind that one of the reasons you use someone else's distribution is that they are doing all the work in keeping it updated, while you focus on using it. Clearly we don't want the ARRL spending lots of it's time fixing problems in the distribution support of the programs used in the Handbook. So it is important that the distribution teams do all that for us. This is why puppy is based on other distributions, so they don't have to support everything on their release, you merely pull updates and new packages from the original source.

We see what packages are available by going to the distribution of choice web site and checking out their repository structure. A good distribution will have a clearly defined structure and layout such that you can easily find the type of program your looking for and what packages they currently have for each category. Currently I feel that Debian has the largest set of "packages" available and some of the best documentation for seeing if what you need is provided or not. This too is why so many other distributions use Debian as their base repository. For the ARRL Handbook we will find most of what we need in the "Electronics" section - one of 54 categories. I found a 103 packages in the Electronics section and 68 packages in the Ham Radio section. When checking out the Ubuntu package list, the ham stuff was in the "universe" category which seems to mean it is supported by someone else, not them. When I dug deeper, the Ubuntu links eventually indicated that Debian was the maintainer of the packages - so I say why not just use Debian.

I looked at Slackware and reviewed the "pet" packages available and both systems had way too few package to be considered. You can of course download source code or git repositories, but both processes could be too great for many hams to master. Again - we don't want to create cases where the ARRL or some internal group needs to be tracking software changes all the time - we want the Distro maintainers doing that. In Debian electronics there are three packages for doing PCB design, and 6 programs that will handle Smith charts. For this to work, someone at the ARRL needs to decide which of those tools will best work with their articles and data files. You clearly can't have every QST article use a different Linux package to perform the same function. As writers and testers need just one package to focus their work on, as both how to use the program, and how to enter the new data are typical problems the authors of the handbook face everyday. Clearly the ARRL has to chose one program out of each type to be the focus of all articles and books that come out of ARRL headquarters in support of Linux and hams. It is not something any Linux ham user can do, as we are not part of the ARRL technical staff using these tools.

In understanding the skill set of your users, you can decide that asking them to install or even use a live Distro might be too much. I know that many windows users can barely use windows, so asking them to follow too many steps just may not work. For them there are several tools that have become very popular - emulators and emulator-players. The tools create on Linux, windows and Mac machines, a PC environment that runs your whole system and it's applications, often from as little as two or three clicks of the mouse. Using emulators might help the skill set level, but it still means someone - in this case ARRL - needs to select and focus activities such that support for a given Distribution becomes an on going activity within and by ARRL staff and contributing writers and vendors.

Let me say that picking a Linux Distribution has many steps and requires some serious considerations, that a few nights doing web searches can resolve once your objectives are well defined. So layout your needs, review your audience, understand the skill set of users, and then find a match that most closely aligns with your list of concerns. For the ARRL Distro, or any specialized Distro I suggest you first read the Debian live-build manual - link provided below, and get a good grasp of what they are talking about. Then use those steps to create your own live Distro and test very well, very well. It looks like I will need to write another article on just doing your own live-build. So check back later for article #31.

Final Thoughts

What I have been talking about has to do with all the options that a switch to Linux gives a group like ARRL to distribute and provide software support that is not possible with other OS's. There is less license issues, you can control the environment better, you can fine tune the hardware support or do emulation that guarantees the hardware support will be perfect. Remember too that having control over the selection of programs on the Distro enables the writers and support people to focus their work on only one platform and one set of tools, not many. You can say that you know it works, because here is the same set of tools "I" used to do the article with.

If you have a special or select group of needs and are looking for some way to support those activities or intreset, selecting a Linux distribution can be a great and inexpensive way of doing it. The time spent can be as little as a weekend to get started for a simple project that can grow over time into something major and life changing. You only need to get started to see where it can go.

TEASER - article #31 - Building your own Distro, step by step

It seems like I am always wondering if I should stop using my current Distro and instead build my own. I have used "Linux from scratch", "gentoo", "arch", and many others over the past 15 years or so and always run into the same problem, what to include. Just because I am unhappy with some new Distro direction change, doesn't mean I don't like most of what they have done. So I usually just ignore the changes and keep doing what works. However, this time I have a clear project - generating a Distro for the ARRL handbook - and as such, can see just what needs to be removed or included. So this step-by-step guide is what I did to generate the ARRL handbook Distro.

Links of interest...

An example of a live HAM XFCE i386 468MB image - with fldigi and grig apps.
List of sections in "wheezy" repositories.
Debian's Live CD WIKI page - great place to start!
Debian Live systems main page - docs and image builder.
Debian Live-build manual page - all you need to know about live images!


Kibler Electronics, PO Box 535, Lincoln, CA 95648-0535, USA.
Email: bill@kiblerelectronics.com
Copyright © 2014, Kibler Electronics
Written in Jan-2014 by Bill Kibler