Don’t Fear the Penguin

penguinIt’s day four of my hopefully last Windows-to-Linux migration, and so far so good.  I have my HRD log imported into CQRLog and it’s talking to both my Arduino Keyer and Yaesu FT-897.  The Keyer is happily sending CW and CQLog is reading the rig frequency.  The rig control function is very simple and utilitarian compared to HRD’s, but it works.  What I cannot get working is controlling the Kenwood TS-850.  This appears to be a problem with Hamlib, which CQRLog uses via rigctld.

I found that Linux re-enumerates USB /dev/ devices if you unplug one.  For example, I had my Arduino Keyer at /dev/ttyUSB0, my TS-850 interface at /dev/ttyUSB1, and my FT-897 interface at /dev/ttyUSB2.  Upon unplugging the Arduino Keyer and TS-850 interface, the FT-897 became /dev/ttyUSB0, and with nary a mention in syslog.  I find this behavior strange.  But I’m really pleased Linux handles USB device insertions and ejections so well.  Back in the day to do stuff like this you’d have to edit some text file, recompile your kernel, and walk uphill in snow both ways.

To run N1MM I installed Virtualbox and within that installed a very bare bones Windows XP installation.  This enables me to run Windows XP as a virtual machine within Linux, without rebooting.  N1MM installed and ran without a hitch in the virtual machine. I was reminded N1MM likes to install in C: root, like it’s 1994 on Windows 3.1.  But I digress.  Attaching host USB devices to virtual machines in Virtualbox is a piece of cake and I had N1MM talking with the 850.  So I’ve got my contesting needs covered.

It occurred to me that it wouldn’t take much to get CQRlog to do basic contest logging.  It already has cw interface keying and function key definitions and macros.  All it really needs is serial number generation with corresponding function key macros, previous QSO report lookup, and perhaps a little more field customization.  This would cover the basics.  One can handle scoring outside the program, but a band map with the DX cluster integrated would be the next feature on the list.  I may just look at the source code and see if I can make sense of it and maybe play around with some customizations.  I sense another project I’m going to get sucked into.

So far I haven’t had to go back to my native Windows installation for anything, other than to steal more disk partition space.  Maybe I cheated a little by installing an instance of Windows XP on Virtualbox, but hey, whatever gets the job done!

(Update: I just found the CQRLog band map window and it is integrated with the DX cluster!)

6 thoughts on “Don’t Fear the Penguin

  1. If you want to keep a Linux USB serial device constant, use the /dev/serial/by-path/… or /dev/serial/by-id/… links. I have to do that with fldigi on Ubuntu.

  2. As a start, you could take a look at eepKeyer in combination with xlog for contests. I used it last weekend in the ARRL DX CW contest and it worked ok. No scoring etc. but it’s a start. http://www.creative-chaos.com/?p=281
    I’m debating to either take xlog as a base and start expanding or start from scratch in order to learn Python and have a project :).

    73 Mike K5TRI

  3. Thanks for the tip, scruss. I see the by-path and by-id directories, but the files don’t appear most of the time I do a USB insertion. I’m not sure why, I have to look into it some more. But being able to refer to these by a consistent id would be the way to go. Thanks again and 73!

  4. Mike, I’ve often dreamed / thought about creating a command line based contest logger. Contest logging is one of those things where a mouse just gets in the way and slows you down, and a CLI with a simple and easy to remember command structure would be great. I’ve thought about writing one in Perl, but it’s another one of those projects I’ll never have the time for :-) But I wish someone would do it…

  5. If need fixed usb name device, create udev rules in to /etc/udev/rules.d/99-myrules.rules example:
    SUBSYSTEM==”tty”, ATTRS{idVendor}==”0403″, ATTRS{idProduct}==”6001″, ATTRS{serial}==”A4VPYBJ1″, SYMLINK+=”ttyUSB.cw”, RUN+=”/etc/init.d/cwdaemon restart”
    This is also restart cw daemon after plug device. Product/vendor ID and SN find in dmesg output.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s