A bit to dry for me

Once again I am plagued by a failure to document problems I encountered and figured out.

Serious problems with humidity

Devoted a good portion of yesterday to getting weewx back into operation after a version upgrade took it down.

Part of that involved me figuring out (again) how to get the weewx extension working that creates the wxnow.txt file that Xastir uses to create and send APRS weather data.

Here’s an example of what Xastir was sending out:
APX219,TNGNXI,WIDE2*,qAR,BASHOR:@071408z3913.63N/09454.49W_166/006g012t051r000P000p000h05b10180

The error is “h05” as humidity is not 5%. The problem is that Xastir wants a two digit humidity data value and wxcn is sending a three digit value.

In examining the old copy of wxcn.py I see the comments I placed in the file:

# fields.append(“h%03d” % int(data[‘outHumidity’]))

# changing value “h%03d” to “h%02d”

… and the line now appears as:

fields.append(“h%02d” % int(data[‘outHumidity’]))

I updated these comments in the new version of this file as it appears in /home/weewx/bin/user/cwxn.py

With the correction, here is what Xastir is now beaconing:
APX219,WIDE2-1,qAR,BASHOR:@071426z3913.63N/09454.49W_166/007g011t051r000P000p000h59b10172

Now the humidity is given as “h59” instead of “h05”.

I am pretty sure that this concludes all the tweaks and fixes I had to make to get weewx working with Xastir to work properly. Time will tell.

A break down of the Xastir/APRS weather data string:
@071426z3913.63N/09454.49W_166/007g011t051r000P000p000h59b10172

@071426z – “07” is the calendar day, “1426z” is the time
3913.63N/09454.49W – location
166 – wind direction
007 – wind speed
g011 – gust, peak winds in last five minutes
t051 – temperature
r000 – rain within last 60 minutes
P000 – rain within last 24 hours since midnight
p000 – rain per last 24 hours (sliding 24 hour window)
h59 – humidity
b10172 – barometric pressure

Crisis in the land of the weather station!

I started to prepare for the 0700 Kansas 80m weather net (3920 KHz, 1300-1330Z) this morning and discovered that weewx had stopped pulling in weather data after an update the previous evening.

When weewx upgraded to v5.0.1 and the bottom fell out. Checking the weewx users group, many were having the same problem.

The consensus was to go back to v4.10.2 – if that was reinstalled, everything would work as normal. Not the case for me.

  • Throughout the process I kept thinking that mysql had been corrupted or I otherwise had to reconfigure mysql. That does not appear to be the case. Although I have not yet tried to get a status. I would assume weewx would not be working if mysql was not, but I took poor notes setting up mysql and am not sure of where to start. But I do need to find the notes that I did take.
  • I also tried to used Minicom to verify I was getting data through the serial port. Unsuccessful in getting Minicom working to show a stream of incoming data. I need to be able to figure that out. (sudo minicom -D /dev/ttyS7)

Here is what did work:

  • the whole time I am using the following command to monitor what is happening:
    sudo tail -f /var/log/syslog
  • Backed up my weewx.conf files. This was super helpful to use as a reference to see what everything looked like when fully operational.
  • Followed the directions for uninstalling weewx but retaining configuration and data.

sudo apt remove weewx

I then created a folder under /home called weewx. I then moved weewx-4.10.0.tar.gz into the weewx folder. And installed it, knowing I had already met the prerequisites.

sudo python3 ./setup.py build

sudo python3 ./setup.py install

  • to run the weewx
    cd /home/weewx
    sudo ./bin/weewxd
  • to get weewx to start on boot:
    cd /home/weewx
    sudo cp util/systemd/weewx.service /etc/systemd/system (I did this and it is working)
  • watching the syslog I could see there were problems. Assumption is that the weewx.conf file was not correct.
  • Used old weewx.conf file to make appropriate changes to the new one. In addition to telling weewx what kind of weather station I have, I also had to make sure it was set to ID 2 (somewhat out of the ordinary).
  • After that I was able to setup Wunderground quickly with the correct information.
  • Using sudo systemctl restart weewx, I could see from the syslog that data was flowing to Wunderground.
  • I started the script that has Xastir look at wxnow.txt and then started Xastir. Both the network and radio interfaces came up without issue. I made a test TRANSMIT NOW and saw it was using the old data.
  • Checking /var/tmp/wxnow.txt I could tell the file had not been updated since the upgrade to v5.0.1.
  • A blog entry I wrote had a link to the extension I needed to reinstall that would regularly update the wxnow.txt file but also lacked detail.
  • Following the instructions on github also were not sufficient. [I believe the extension is called CumulusWXNow]
  • This worked:
    From /home/weewx
    wget -O weewx-cwxn.zip https://github.com/matthewwall/weewx-cwxn/archive/master.zip

The next direction given is: wee_extension –install weewx-cwxn.zip

… the problem is that linux does not know where to look for wee_extension

What worked… I found advice that said: try specifying the full path to wee_extension

sudo /home/weewx/bin/wee_extension –install weewx.cwxn.zip

  • This install process also made the necessary changes to weewx.conf and after sudo systemctl restart weewx I checked wxnow.txt – it was now getting the latest data. The change includes an entry at the bottom of weewx.conf:

[CumulusWXNow]
filename = /var/tmp/wxnow.txt

… there is also an addition made in the section above that I could identify by comparing old and new weewx.conf files.

  • I started the Xastir script to grab the wxnow.txt data…
    cd /usr/local/share/xastir/scripts then sudo ./wxnowsrv.pl /var/tmp/wxnow.txt 60 5500
  • Bringing both the network and radio interfaces UP I did another TRANSMIT NOW from Xastir. Checking on aprs.fi I could see that the most current data was beaconing out.
  • At some point syslog was showing the weewx did not have permission to use the serial port to get the data from the Davis console. I tried “rebooting” the console; the only way to do that is to remove the power and batteries, which I did. This did not fix the issue. Then I saw this recommendation: “In case anyone else runs into this – my Ubuntu server/Davis VP2 and serial datalogger had ownership set to root:dialout, so I had to add the weewx user to the dialout group for things to work.” The command I used was sudo adduser weewx dialout. I believe this fixed the permissions issue. Requires a full reboot.
  • I am going to store copies of weewx-4.10.0.tar.gz and weewx-cwxn.tgz locally. Would also make sense to do the same for Xastir.

Just in case, the commands for completely removing weewx:
sudo apt purge weewx
sudo rm -r /var/www/html/weewx
sudo rm -r /var/lib/weewx
sudo rm -r /etc/weewx
sudo rm /etc/default/weewx
sudo userdel weewx
sudo gpasswd -d $USER weewx
sudo groupdel weewx

This link includes an example of installing an extension. This may be useful and worth a look.

Rebooting and seeing if everything will work:

sudo tail -f /var/log/syslog
– this should show weewx sending wx data to Wunderground

cd /usr/local/share/xastir/scripts then sudo ./wxnowsrv.pl /var/tmp/wxnow.txt 60 5500

checked wxnow.txt and it is being updated

xastir &

From Xastir’s menu: View/Incoming Data

Interface/Interface Control

  • Device 0 Network WX: Start
  • Device 2 Serial TNC: Start
    (note: Serial TNC say ttyS6 when weewx is set to ttyS7… investigate!)

With both started, incoming data should be coming across the Display Packet Data window.

From Xastir’s menu: Interface/Transmit Now! : check aprs.fi if a valid and accurate packet has been sent.

Check back with aprs.fi in 15 minutes to see if another packet has been sent.

Check Weather Underground to see if data is up to date.

The medium-sized printer that could

Was having difficulty printing to my stalwart HP LaserJet P2055dn on my Mac mini (macOS 14.1.1).

HP LaserJet P2055dn

Printing from a PDF file using either Adobe Acrobat or the preview application would bring the first page but them spooling would stop at ~9%.

When I double checked the drivers selected for the printer, they seemed to be generic. Troubling, as this printer has always worked near flawlessly with my linux installations on other platforms. My old Mac Book also worked ok as long as I printed directly from the file.

I found that I needed to install HP 5.1.1 Printer Software Update. https://support.apple.com/kb/DL1888

With this update the Mac mini immediately identified the printer and installed the appropriate drivers. Printing works, but spooling seems a bit slower than normal.

I am a fan of the LaserJet P2055dn. I have been using the printer for about 15 years and it has served my as both an elementary classroom teacher as well as through three graduate degrees worth of readings. The printer does not chug toner and the duplex function helps me save paper. Accepting a network connection, I can print from anywhere in the house. Always impressed by the early HP LaserJet printers, this one does not disappoint.

Empty Calories

SKCC SKM results as of January 28th.

I have been spending too much time chasing K3Y activators. Don’t get me wrong – I appreciate those SKCC folks who have signed up for hour and two hour long slots to make contacts. I can only imagine not only the work that goes into organizing the Straight Key Month but sitting a sixty minute shift logging contacts is serious work.

At first I thought I would just be focused on getting a sweep for the callsign areas. Then I wanted to get a sweep of all nineteen unique K3Y areas. Then I wanted to try and fill in fifty band slots.

… and its fun, but not as much fun as having a real QSO. The rapid SKCC exchange just leaves me wanting more.

And I have had (and will continue to have) real QSOs while making SKCC contacts – just not in the context of a rapid exchange.

I am excited to have worked many SKCC DX stations this month; New Zealand, Australia, South Africa, Israel, Japan, Hawaii, and Alaska. I will count the Yukon Territory as well. Making these contacts were cool. Many of these were ATNO (all time new ones) as CW contacts. And I doubt I will ever achieve CW DXCC unless contacts are made in some sort of contest.

In the end I think I get more satisfaction in having a real exchange with another op in Ohio (or Texas or wherever). Monitoring a watering hole, listening for a CQ, and having a chat.

Straight Key Month – SKCC

January is straight key month! The Straight Key Century Club (SKCC) sponsors the event. Across the 10 US call areas and around the world SKCC operators are using the K3Y/# to make contacts. I have been lucky to work a fair amount of contacts and qualified for the sweep award.

I have really enjoyed being a member of SKCC as they have really helped me improve my Morse code skills. When you call CQ on an SKCC frequency, chances are you’ll receive an answer from a patient op who is understanding of those trying to grow their Morse skills. I am very appreciative of all the operators who helped support this event.

New Hamshack Desk

Hamshack in Virginia, 2005-2007 (seemed like plenty of room at the time) – this is not the desk the following post talks about, just a reminder of where all of this started.

The project is complete. For a long time I have wanted to replace my hamshack desk. The now retired desk was a product of my previous basement hamshack when we lived in Leavenworth. In that house the entire basement was unfinished and there was room (… so much room) to spread out. In that location the first thing I built was a workshop bench. I am no carpenter, but I can follow directions. Construction of the workbench went well so I used the basic design of that workbench to be used as a massive ham desk. 96 inches long and 42 inches deep, the table was mounted on casters which allowed me to move it around easily. Carriage bolts were used to hold the legs to the tabletop and studs under the tabletop provide a degree of stability. All that space was a serious luxury that gave me plenty of room to spread out equipment.

When we moved to the current location I simply took the table apart and rebuilt it inside the new hamshack. In this house the basement is finished other than one room – the hamshack. Nowhere near as spacious as before. I didn’t think too much about the size, just put the table into the corner, taking up just about one whole side of the room.

Hamshack in Kansas, circa 2011

And it “worked” for the last ten years. Despite the casters on the legs for mobility, it was near impossible to really pull the table away from the wall and get behind it to adjust cables or change out equipment. I was also using the desk as my primary workspace for non-ham related activities.

Hamshack in Kansas, circa 2023

I think it has almost been the last three years that I have wanted to build a new ham desk. I started brainstorming what features I wanted in a new desk.

  • casters to let me move it easily.
  • smaller. I have always read in discussions of hamshack desks that depth is a true benefit, the deeper the better. I’m not sure. At a certain point it is difficult to reach across the desk to make an adjustment. 36 inches seems to be plenty deep but allows me to get all the way across to the back side from the front.
  • I have a networked laser printer that does duplex printing. It is positioned on a shelf in the corner of the room above the ham desk. Not fancy (15 years old) but is a great workhorse. I have to do a lot of reading and enjoy reading a hard copy; therefore there is printing. The big long desk made it very difficult to get to the printer. If the table was shorter in length, I could more easily get to the printer.
  • under-the-tabletop shelves. I use an UPS for my equipment. The old desk (without under-the-tabletop shelves) had the UPS sitting beneath the desk on the carpet in the corner. Problem: when I wanted to move the desk, I had to unplug the UPS and move it out. With under-the-tabletop shelving I could place the UPS on a shelf and move it along with the desk. Shelves also gave me the ability to move the Astron power supply off the main table, as well as the ham computer.
  • Doing non-ham computer work, I wanted a second computer. A Mac Mini was the solution. Under-the-tabletop shelves would let me keep that off the top.
  • for monitors, I had two nice sized monitors that were mounted on arms that allowed me to positioned them above the radio equipment. I had a third, large 34 inch Dell monitor that was not being actively used. I wanted this to be my center monitor. The Dell 34 can take three connections: HDMI, DisplayPort, and USB-C/Thunderbolt. My ham computer has a DisplayPort and two HDMI outputs. The Mac Mini can do HDMI or USB-C/Thunderbolt.
  • a monitor for my Elecraft Panadapter output. I enjoy having the panadapter and had it attached to a monitor that sat on a shelf behind the desk that was hard to see… just not optimal.
  • a monitor showing HamClock or GeoChron. Having such a display would be helpful, providing important information available at a quick glance.
  • cable pass thrus and cable management.
  • ability to keep APRS computer and TM-D710A going if the power goes down. Possible later option for a battery backup redundant to the UPS.
  • adequate table depth to comfortably use a straight key.
  • a stable desktop that can handle my straight key bashing.
  • a place to conveniently stash my equipment covers.
  • room in front of the radios for non-radio work (reading and writing).

I spent many an evening looking around the internet for ham desk ideas. I did consider some type of IKEA solution. Nothing looked like it would be an ideal solution. What did catch my eye was hams that had used doors as a tabletop. I decided to go with a solid core door: 80 inches by 36 inches. I wanted the tabletop height to be 31 inches and then did the math based on the height of the casters, the 1.75 inch thick door, and the other elements involved in building desk supports on either end.

The two desk supports would be 20 inches wide and 24 inches deep. I would place one on the far end of both ends, centering it under the door (desktop) providing six inches of desk overhang on front and back. This would give me 34 inches of space to move around in my chair in the middle of the desk.

Tabletop support and storage – ended up attaching the switch to the top of the shelf

I built the desk supports first using 4x 4x4s separating a bottom and top (20 inches by 24 inches). I then attached the casters. Felt nice and stable.

Then I got the door which ended up being almost 80lbs – pretty darn heavy. Placing the door on the desk supports, it moved around nicely with the casters. I then put in four cable pass thru holes in the door and mounted the three monitor arms.

It was time to move the old desk out and the new desk in. I carefully disconnected all the radio gear and moved it out. Then I disassembled the old desk and moved it out, piece by piece.

With the humongous desk now out of the way, I worked on the shelf area in the back corner that had been mostly blocked by the desk. I moved up the small linux computer that I used for running Xastir in support of an an APRS WX station (a Shuttle XC60J, Celeron-based with 8GB of memory). The station puts out an APRS weather beacon on 144.39 MHz every 15 minutes. On top of the computer I placed the Davis Vantage Pro2 weather display panel. Sitting at the desk, I should be able to see the weather data for use with QSOs.

Next to that I placed the SWR meter attached to the output of the TM-D710A. On top, an old Bearcat handheld scanner to listen to the frequency of my EchoIRLP node. Next to that, the actual EchoIRLP node and a Pi-Star. Both of these devices require 5v power. To avoid as many wall warts as possible, they are connected to a 12v to 5v transformer that uses a PowerPole connection (Powerwerx Quick Charge 75W USB Device Charger).

Powerwerx: 12v to 5v USB connections

The computer can be powered by 12v and the Davis weather panel uses 5v. I may be moving both of these over to the the station 12v power supply to avoid having their wall warts in the shack.

Mounted under the bottom shelf is the TM-D710A and an old Radio Shack speaker. Next to those, also mounted to the bottom of the shelf is a 8-port network switch. I try to limit WiFi in the shack and hardwire network connections where possible. The network switch also takes 5v and is a candidate to transition away from a wall wart.

Shelf plan – ended up moving the EchoIRLP and Pi Star to bottom shelf

On the top shelf I have an interesting looking 24 hour clock that I purchased from ThinkGeek.com way back when. It uses a wall wart as well, but I have not checked the voltage. I also placed my DXCC and WAS awards on the top shelf.

The shelving unit has three connections: a power strip connected to the UPS (located under the desk), a PowerPole patch cable connecting the small RigRunner that supports the shelf and the primary RigRunner on the main table, and CAT5 cable run in from the house’s primary switch.

With the shelving unit squared away, I started moving in the desk components, starting with the supports. Individually, they easily wheeled in but I needed help to maneuver in the solid core door/tabletop. Once that was in place, I attached 2x 2x4s to the top and bottom of the backside of the desk supports to help with keeping everything together when moving it around the hamshack. The next step was driving four long wood screws through the top 2×4 into the bottom of the tabletop. The desk, as a unit, moved easily on its casters.

Next I secured the monitor arms to the tabletop, followed by the monitors themselves. I started running the power and monitor cables through the arms and it became apparent that I would need to get longer monitor cables for the DisplayPort. But the arms themselves offered a great way to manage the cables and decrease some of the table spaghetti. Each monitor arm was near a table pass thru so I could route the cables to where they needed to go.

Setting up the radio equipment on the table was straight forward. I realized I would need an extension cable for the mic boom. After I got all the proper sized cables, everything fell into place. It did take a long time to get all the network cables run and the monitor cables connected to the computers.

The HamClock (in the photograph below on the left monitor) came up without issue and is a great asset in the shack. The Panadapter monitor also worked. The Dell 34 in the middle allowed me to switch between both the hamshack linux box and the Mac Mini. The Elecraft K-Line came up and worked just as well as ever. I brought the TM-D710A and Xastir WX beacon up as well.

Hamshack with new desk, 2024

The second UPS arrived, identical to the first. The new UPS handles everything on the shelves: TM-D710A and Xastir-based APRS linux box. If there is a power hit, weather data should continue to go out for a while. The older UPS handles the two desk computers, the monitors, and the amp – less critical items. I also just replaced the battery in this older UPS. The other luxury of the UPS is protection against power surges.

Remaining issues and to dos:

  • The USB-C/Thunderbolt video connection between the Mac Mini and the Dell 34 is not recognized by the monitor after a reboot until I reseat the USB-C/Thunderbolt cable. This is annoying and am not sure why this is happening. It does not happen when the connection is HDMI.
  • For the Dell 34’s HDMI connection I am going to attach the GeoChron. I don’t think the GeoChron brings much operational value to the hamshack… but it looks cool. I considered getting a much larger 4K TV for the back wall to be used for the GeoChron, but I will keep my maps for now. I may switch on the GeoChron when showing off the hamshack.
  • Cable labels. I had intended to use my label maker and clear shrink tubing to label each end of the cables and cords, but ended up delaying. I have the shrink tubing. I have a label maker. This is on the to do list.
  • I need a distro box to swap out straight keys.
  • The lights above the desk needed to be fixed.

Dialing out to Echolink

To dial out to an Echolink node on my NORMAD EchoIRLP node, you need to preface the Echolink node number with an “#” on a DTMF pad or the letter “S” if using a command line.

Example: when connecting to the Sierra Foothills Amateur Radio Club (W6EK) repeater’s Echolink connection for their Coffee Break Net:

Dial “#4128” on the HTs DTMF pad or …

Type “decode S4128” to connect via command line.

Using GIMP to make animated gifs

GIMP is the linux replacement for Photoshop. I use it to crop pictures or adjust colors, nothing too fancy. Another great use is for making animated gifs.

Making an animated GIF using GIMP. Thank you NEoN Digital Arts for the help!

Select File Menu > Open as Layers > Select all images you want to be in the GIF > Open

In layers tab order your images > The GIF sequence will start with your bottom layer and run through each layer bottom to top. (I have only used two layers but you can use more)

Select Filters from main menu > Animation > Click Optimize for GIF

If needed, scale the images down to reduce final file size

To save GIF > Select File > click Export as

Name your GIF and choose folder > Select File Type > Click GIF Image

Select ‘As Animation’ > Select ‘Loop Forever’
To change speed between each image change the delay Click Export (50 works well, 100 is too slow)

NORMAD IRLP node

I recently upgraded my PiRLP node to a NORMAD node.

The PiRLP node provided EchoIRLP capability. With the node, I was able to use IRLP and Echolink. The PiRLP interfaced directly to my Kenwood TM-D710. I have been using the nodes from David Cameron, VE7LTD, for a number of years with only very small problems now and again.

Once I got my Davis Vantage Pro2 weather station up on APRS via the same TM-D710, I started experiencing problems with the audio output level of the PiRLP node. The big problem was that if I wanted to use the TM-D710 to get on the local repeater, I had to shut down the PiRLP node first. Not ideal.

Enter the NORMAD IRLP node. I first heard about the node on Jeff’s blog at KE9V.net. Like my node for Wires/Fusion, the NORMAD IRLP node has a small transceiver built into it. This is a great solution. It provides me the ability to dedicate my TM-D710 for weather APRS as well as also using it to monitor the local repeater without making any changes here in the hamshack.

The primary purpose of this blog is to act as a station notebook. A log that serves as a record as to what I am doing in the shack, how I configured certain items, how I overcame obstacles that were in front of me. Admittedly I have done a poor job at keeping up. And sometimes I do not realize or remember what I have placed in the log so it could assist me in the future.

My configuration of the Normad for Echolink operations (in addition to its native IRLP ability) is a great example. I wished I had looked here first – it would have saved me about two hours. I received the Normad and swapped it out with my older PiIRLP. Got on to IRLP immediately. NOTE: here two great troubleshooting commands for trying to get Echolink working; killall tbd and tbd -ddd. The results provided by tbd -ddd show if your callsign and password are valid for the Echolink connection. A key place to start when Echolink is not working correctly.

I also enjoy using the Echolink functionality of EchoIRLP – mainly to listen to the Coffee Break net hosted by W6EK, the Sierra Foothills ARC every morning from 7:30am to 10am (Pacific).

If you are lucky, you have been involved in a truly great net at one point in your radio amateur career. The most memorable net for me was a 2m morning commute net back in Hampton Roads, Virginia. The participants were smart, well spoken, and directed the conversation to a number of topics which almost always focused on some aspect of amateur radio. In classic roundtable fashion, the conversation moved cleanly between those that checked in which allowed the focus to be on the conversation. Mark, N1LO, was one of the ringleaders. I miss those guys.

The Coffee Break Net is very similar. Check it out if you can. While the net does run on their terrestrial repeater (145.430 MHz -0.6 Offset PL Tone 162.2), you can join via AllStar (51018), Wires-X (W6EK-2M-ROOM (62545)), or Echolink (4128).