Legal Disclaimer

"...For Dummies" is a registered trademark of Wiley Publishing, Inc. Wiley has not given authorization for this title, nor is it associated in any way with the Wiley (nee IDG Books, nee Hungry Minds) series "... for Dummies."

June 30, 2008

GMFSK on a Modern Linux Distro

Last weekend was the Amateur Radio Relay League's annual Field Day celebration. I took part, for the first time in my life. It was quite nifty -- Ron Schwartz (N7CE, and one of the executive-folks at my little company), Dan Ransom (K7MM, and ditto...he's another guy that has been with Schweitzer pretty much since day one), Joe (missing his callsign, he's another SEL fellow) and myself took shifts at a couple of radios in Ron's shack.

Dan was nice enough to set up laptops with logging software and automated whizbangery that made the radios sing, or speak, or go 'tweedle deedle', depending upon whether we were running morse code, voice, or a data mode. It wasn't a great year due to sunspots, but we collectively racked up about 200 contacts, which ain't too shabby for two radios.

Now that I'm hopefully moving into a house, I'm pondering putting up a few nice wire dipoles to play around on HF. It was certainly nice to get a little tutorial on how things are done from folks in the know.

I purchased a Signalink USB sound card a few months ago hoping to tinker with some of this stuff. The Signalink has made a nice sound card for my new linux box in the meantime, since the Creative Labs X-Fi sound card that I bought has no linux support...

I finally loaded up some rtty software on said linux box, in the form of GMFSK. I'm running Ubuntu 8.04, though, which uses ALSA for sound. GMFSK and just about every other ham program I've played with for linux depends upon the OSS interface to sound cards. Some of the ham softmodem packages included with ubuntu are even pre-OSS, which makes me wonder how the packages keep getting included.

I started tinkering with aoss but did not have luck. Strangely, my system already had a /dev/dsp1 on it (/dev/dspX is the format that OSS uses for sound devices). I don't know two shakes about how sound works under Linux anymore, but it seems to me from reading a bit that OSS only allows one program to talk to a sound device at a time. It seems that the Ubuntu install wraps OSS in ALSA? That is, ALSA uses OSS as its sound output device. ALSA is able to let lots of program use it for sound, so if ALSA gains exclusive access to the OSS sound device at login, it can share it accordingly (but only with programs that use ALSA). A program that uses OSS will be out of luck for output, as ALSA doesn't seem to let go of the sound output device by default. Keep in mind that this is pure speculation on my part, but experimentally my explanation makes sense.

I found that if I log in to Ubuntu, let it play its little "Ubuntu login theme," and then unplug the USB sound card and plug it back in, I get the best of both worlds: ALSA suddenly plays nice and opens the OSS device when needed, closing it when finished. My sound card's name changes, though, from /dev/dsp1 to /dev/dsp. And, of course, if an OSS program has the sound card open, ALSA is unable to play any sound (backing up my suspicion).

Anyway, my point to all of this is that if you are using a Signalink adapter on Ubuntu 8.04, try unplugging the adapter and then plugging it back in (do this after you log in). You should then be able to 'ls /dev/dsp*' to find the device name of your sound card, and set it accordingly in your RTTY program of choice.

Good luck, and happy hamming...

Post a comment










Please enter the number above into the box below.









Further back...

Archives