And Now for the AllStar *Thin* Node
Works on the tiny PC, so how about a repurposed thin client?
I’m just having way too much fun with these AllStar nodes. (Here’s a link to my AllStar posts.) Amateur radio presents so many different opportunities to learn and to do. AllStar is one of those opportunities. It is something that can be created by folks like me who don’t think of themselves as builders.
It all started very innocently as I looked for ways to have clear audio communications while I was far away from my home radio club. I encountered AllStar, and as I learned more, I eventually decided to buy a high-quality node before trying to build my own.
First node
And so I purchased a ClearNode from Node-Ventures.com. It is a lovely little device based on a Raspberry Pi. I enjoyed it as soon as I got it configured correctly. This unit is node 57849. (Normally it would arrive pre-configured but I didn’t provide the correct wifi credentials to the vendor, so I fixed that myself.)
Second node
Then I installed AllStarLink (ASL) on a cloud server (node 57945) hosted by Vultr.com (the link is a referral link so I get some credit if you sign up with Vultr). That was enjoyable to do and has been great to use with my IP phone, with DVSwitch on my Android phone, and with RepeaterPhone on my iPad. I put a second IP phone in my work office in another city so I can monitor some regular AllStar nets. All was well in my AllStar world.
It was time to start building, but I was still hesitant about building a node or crafting some circuitry or gadget. Parts availability appeared to be a problem. As I started to look for an affordable Raspberry Pi suitable for building a node, I was appalled at the high prices and low availability. That drew me into another rabbit hole: finding alternatives to the RPi.
Third node
I have an old Lenovo ThinkCentre tiny PC that I keep as a backup computer in case one of my main PCs goes cold. (Therein lies a hint when I suggest that I have multiple computers. Oh yes. I have no practical reason to have so many.) Prices on Amazon and eBay were reasonable, less than I would pay for an RPi. The tiny PC can run rings around an RPi. The ThinkCentre tinies are robust machines, and while they are small, they are nevertheless much larger and significantly heavier than an RPi computer.
I picked up a couple of the tiny PCs and proceeded to install ASL on one. That became tiny node number 58841. It’s been running well on my home network for weeks. I like it. However, it is not particularly portable (weight) and the power supply is either rated at 65 watts or 90 watts, depending on the vendor. I’m running a 90-watt supply.
Ninety watts is six times greater than the 15-watt power supply needed by an RPi 4. Over the course of a year, running the tiny node is going to consume more electricity than I’d like.
Could not get ASL loaded on a Chromebox
First I tried to get past the dummy proofing that Google implemented in the Chromebox. I had a couple of ASUS-brand Chromeboxes and could not manage to get Linux installed over the top of ChromeOS on either one of them. These little boxes are about the size of an Intel NUC computer, quite compact, and also quite powerful. I retain some hope that I can eventually figure out how to defeat the safeguards in ChromeOS. Nothing I found online worked for me.
Fourth node
Time for a different tack. I turned to something I had heard about while searching for RPi boards: the Dell Wyse 3040 thin client device. With a quad-core Atom processor, 2 gigabytes of RAM and 16 gigabytes of onboard storage, it looked like there was enough oomph and space to run ASL. These little devices are about the size of two thick decks of cards and weigh nearly nothing. As I learned more, I bumped into David Gleason, the fellow who wrote AllScan, a web-based interface to an AllStar node. David has a very detailed and informative article on building your own node using the 3040 thin client.
I bought a 3040 thin client. Then I bought a second one because as the saying goes, two is one and one is none. The first one turned out to require 12 volts and all I had was a 5-volt supply. Good news: it seems to run fine on the 5-volt supply.
(I first installed Ubuntu on the thin client to see if it had enough juice and space for a full Linux distro. It worked pretty well. Watching a show on Netflix was a bit choppy so you probably wouldn’t want this as a daily driver, but it worked and was surprisingly snappy for such a limited capacity system.)
But the CMOS battery (dated 2017) was flat. Every time I booted the machine it balked because it couldn’t remember the date. I’ve ordered a couple of batteries from Rome Tech Batteries because I’m sure the second unit’s battery must be getting tired, too.
Discovery: some 3040 thin clients require a 5-volt power supply and some require a 12-volt supply. It turns out you don’t want to plug a 12-volt supply into a 5-volt thin client!
I had a lot of teachable moments trying to get past the thin client’s dummy proofing so that I could install Linux. Eventually, I muddled my way through multiple BIOS changes until I found a pattern that worked. I downloaded the Debian 10 image file from AllStarLink.org and got it installed on the first 3040 device.
I hit a brick wall for several hours when trying to get the node to see my IP phone. The node was registering to AllStarLink.org but it wouldn’t register my phone. Recalling that I had run into this before, I re-read my post that covered this and fixed the problem in my configuration files. The extension light on my phone turned green and I was off to the races with the new thin node.
NNX node numbers
By now, I had accumulated three primary node numbers from AllStarLink.org and was feeling a bit guilty at consuming so many numbers. Instead of requesting a fourth number, I chose to try the Node Number Extension (NNX) addressing scheme. In the NNX system, one node number can be extended up to ten times. To do this, I had to rename my tiny node 58841 to node 588410. That allowed me to designate the thin node as node 588411.
(I haven’t given my machines human monikers, but the four nodes are categorized in my mind as ClearNode, cloud node, tiny node, and thin node.)
The UEFI brick wall
When I went to install ASL on the second thin node, I had a bear of a time getting past the vendor’s system. It seemed like no matter what I did, it didn’t work. What had worked on the first thin node was not working on the second thin node. I learned that this system required booting from a UEFI device.
And then I ran into UEFI booting
What is UEFI? It stands for Unified Extended Firmware Interface. Think of it like the BIOS (Basic In/Out System) for a computer. It’s another low-level system like BIOS but BIOS is phasing out and newer computers stand on UEFI. If you want to learn more, HowToGeek.com has an informative article on this topic.
Clonezilla!
What happened was the USB thumbdrive I was try to install from was not recognized as UEFI device. That dumbfounded me. Enter David to the rescue. He described using Clonezilla to create a UEFI-recognized device that would boot the thin client device. That worked great and after a few runs in which I selected the wrong choices, I got it right and installed ASL to the second thin node number 588411.
Additional software installed
Once that was running and it was registering my phone, I added some additional software to the thin node. I also installed several additional packages:
XRDP to support using Remote Desktop Protocol within my home network to access the thin node.
i7z to check the temperature of the four processor cores.
rdiff-backup so that I could easily backup my ASL files.
AllScan so that I could control my connection to other nodes from a web browser on my home network.
I wondered if a graphical desktop would burden the Atom processor too much but found that the MATE desktop worked great. It makes for an attractive, useful interface when I RDP into the box.
Fifth node from image of fourth node
With the first thin node, I had installed into free space, meaning that the original operating system was still lurking in the machine. I didn’t want that so during the installation on the second thin node, I installed to the entire drive.
A Dell Wyse 3040 does not need 16 gigabytes of onboard storage to run ASL. Two gigs of RAM and 8 gigs of onboard storage will do.
Once again, David pointed me in a great direction. I used Clonezilla to make an image of the second node and then installed that copy on the first node. That wiped out the first node’s configuration and replaced it with the second node’s config. Once I booted up the fresh install, everything worked fine, including the connection to my IP phone. Now I have two thin nodes, A and B.
Oh wait, I actually have five nodes: ClearNode (57849), cloud node (57945), tiny node (588410), thin node A (588411), and thin node B (also 588411).
Dell 5070 thin clients
I think I should stop with the nodes but I’m not quite ready to yet. I ordered a couple of Dell Wyse 5070 thin clients. These are essentially the same size as the Lenovo ThinkCentre tiny PCs but lighter in weight. They come with threaded VESA mounting points and wall mount plates are available. That means I could mount one out of sight under or behind my desk: behold the hidden node!
Things are getting even twistier now. I ordered a WLAN card for one of the 3040 thin clients from a fellow in Israel. I’m hoping the ASL system running on Debian 10 will recognize it once I get it installed. It would be nice to have the option of connecting to a wifi network instead of having to jack in with an Ethernet cable.
Adding storage to the 3040 thin client
As I tunneled down this particular rabbit hole, I also ran across the idea of using the WLAN interface to add storage to the 3040 thin client. I just ordered three custom boards from Oshpark.com and three microSD card mounts from Digi-Key.com to go on the boards.
I am not a builder but I’m learning
It is safe to say I’m not a builder. I have rarely soldered anything other than copper plumbing. However, I have fiddled my way through many different challenges involving electrical devices, from computers and switches to audio setups for school concerts. I did successfully re-solder a connection in a rack-mount server once, avoiding downtime and a costly repair bill. And I’ve soldered some guitar cords and a few other things. I can figure this out.
I’ve got almost all the parts now to try to build a box that connects an Alinco EMS-57 hand microphone to the USB port on my tiny or thin nodes. David is leading the way on this and I’m following behind slowly because the soldering seems a bit daunting.
One of the aspects of amateur radio I love is that there is so much to learn and I am in control of how much and how fast I do learn.