Winlink (WL2K) operation under linux

Here comes the sticky bit. I don’t have windows installed on any of my machines, except in virtual encironments and as a rule I don’t boot it up if I can do the task in linux. Unfortunately, Winlink programs were coded for Windows only.

Wine seems the obvious answer, but unfortunately, the programs require .NET and probably a number of other Microsoft applications to work. After about 16 hours I finally managed to get it going. Here’s what I did. Much of the problems I faced were probably of my own making, so if you find a shorter easier method, by all means, please let me know and I’ll post a follow up with your contribution.

Wine .NET install for RMS Express and Paclink

My home PC runs Ubuntu 12.04 LTS 64 bit, laptop 13.10 64 bit and I also have an old server running my linux containers on 12.04 LTS 32 bit. Yes, containers with Centos, a couple of Ubuntus, Busybox and Gentoo all coexist in perfect harmony on an old AMD Athlon XP 2200+ with 512 MB RAM. It’s hostname is affectionately set to playground as I use it to test various configurations, scenarios and applications. As everything runs in containers they are created and destroyed as necessary without any changes ever being made to the host OS and as such it has now run for 160 days and counting without a reboot. It would’ve been longer but I had to move it to a better location. I digress, as you can see I like my little server quite a bit. My bigger and better systems just don’t have the same appeal.

To get RMS Express and Paclink to work the following steps were taken. The list below is a bit messy as I copied and pasted directly from my notes, and they weren’t really meant to be published.

You’ll notice I have a heading whenever I copied my .wine directory from one machine to the other to carry on with the installation.

Ubuntu 13.10 64 bit

Without .NET 1.1 the applications do not run at all and complain .NET 2.0 is required. However, that alone is not enough. It seems at the very least .NET 1.1, 2.0, 3.0 and 3.5 are required. In addition it looks like various VB calls are made so I ended up installing all C and VB dlls winetricks would allow me to. They’re probably not all necessary.

paulg@Media:~$ WINEARCH=win32
paulg@Media:~$ winetricks dotnet11

My home PC / Server is called Media, because its my media server… I could’ve been more imaginative I know, but it’s at least descriptive. It’s also my packet BBS, plex server, virtual server and plain old desktop.

ubuntu 12.04 32 bit

I could not for the life of me get .NET 2.0 to install on any 64 bit OS. It would just fail every time even with WINEARCH=win32 specified. Eventually out of desperation I decided to try on playgrouds 32 bit install inside a container spun up for this purpose.

ubuntu@ubuntu_test:~$ winetricks dotnet 20

I also installed the items below. I’m not sure what is and is not required, I just worked through the list and installed everything that looked like it might be related.

  • dotnet 40
  • vb6run
  • vb5run
  • vb4run
  • vcrun6sp6
  • vb2run
  • vb3run
  • vb4run
  • vb5run
  • vb6run
  • vcrun2010
  • msxml3
  • msxml4
  • msxml6

Up to this point I got RMS Link test.exe working which was very exciting to say the least. The rest followed.

  • msscript
  • vcrun2008
  • vcrun2005
  • vcrun2003
  • vjrun20

Back to Ubuntu 13.10 64bit
RMS Express would still fail without any useful messages and I decided to try more .NET versions. So far 1.1, 2.0 and 4.0 were installed. I saw on Windows 3.0 and 3.5 was also installed so 3.5 was my next challenge. It would not install on the 32 bit machine so back to 64 bit.

$ winetricks dotnet35

At some point the wine installation just hung. No CPU usage and no prompts. I had to kill setup.exe) as it got stuck for some reason. What winetricks did install was .NET 2.0 SP1, .NET 3.0 finished, and 3.5 failed.

RMS Express opens, sends mail and generates noises. Looks good so far!
Paclink opens, but cannot bind to ports.

Note – looks like it binds fine if run as root.
Note2 – Paclink binds fine to not priviledged ports, i.e. 8025 and 8110.

It looks like both packages install and run fine. TNC Winmor audio sounds distorted / static.

I’m updating to a beta version of wine (apparently 1.4.1 has a problem with sound):
Add PPA ppa:ubuntu-wine/ppa to the ubuntu repository

# apt-get update

# apt-get install wine1.6

It’s beautiful! Sound appears perfect, however, I have not yet got the HF sorted to test.


I believe the most important parts are the .NET installs. That is where the tricky bits come in. Dotnet20 does not want to install on my 64 bit Ubuntu 13.10 (or home PC with 12.04) but can install on 32 bit (I know, WINEARCH=win32 – doesn’t work)

Then once all the above works, update wine to 1.6 which solves audio issues.

Next up
Try to get RMS Trimode and other Sysop SW to work.They install but do not run yet. I haven’t really had a chance to experiment yet.


A side note, if you want to install any of the applications, the install file is easily installed with msiexec.

ubuntu@ubuntu_test:~$ msiexec RMS\ Express\ Setup.msi

10 thoughts on “Winlink (WL2K) operation under linux

  1. Excelent post. Thanks for all the hard work. I will definitely give all of this a try. Already shared with N5SSH. will report results. thx and 73, KD5REJ

  2. Thanks for this useful information. I have tried (so far unsuccessfully) to get a Linux programmer to convert the WINMOR TNC (VB.NET under .NET 3.5) to native Linux. It could probably be simplified by replacing the following components used in .NET: Third party internet controls from IPWorks.
    Microsoft Direct X 9.x sound card controls.

    I will be happy to support you if it will make the operation of WINMOR on Linux easier. We have successfully verified it does work fine on a Mac under Parallels or VMWare.


    Rick Muething, KN6KB (Author of WINMOR and RMS Trimode).

  3. Thanks, Rick, for your willingness to look at better support for linux. I don’t know about other hams, but in our local RACES/ARES group we work with mostly donated PC’s which have primarily had Windows XP on them, and donated commercial radios we convert to the ham bands. These are our deployable machines we use for agencies that don’t have their own equipment. We also work with agencies helping them get their own equipment (spec’d with windows 7 or higher). For our deployable PC’s, the end has come (XP has about 60 more days before anarchy, making it an undesirable platform). These machines easily run versions of linux. The alternative requires investing our own $$$. I have the intention of testing the above steps to see if I can get RMS programs and WIINMOR running in linux. I’m about halfway through the setup as given above, but have been on large projects at work, so haven’t made any progress since Christmas. If I get it all working in linux, I’ll definitely clone it to a bunch of machines here locally and let you know. While porting WINMOR to linux is not absolutely essential, I think from a strategy perspective it could give hams more, less expensive, hardware options, allowing the network to expand. So anything you do to help run WINMOR on linux, as you mention above, would be swell. Up to you though. 73 Van, KD5REJ

  4. According to your steps now I have a RMS Express installed under Wine and my Ubuntu 14.04 – 32 bit
    RMS Link test is working and find RMS stations using Internet connection
    Winmor TNC is working and sound is good
    When updating station table via Internet I get a pop-up with:
    Unable to download channel information from Winlink server

    Using Telnet session (sometime don’t show up) don’t work with a message:

    *** Connecting to a CMS…
    *** No CMS telnet server available.

    Any tip on this residual problems?


    Franco Spinelli

  5. According to your post I have now a RMS Express installation running with Wine on my Ubuntu 14.04 – 32 bit

    Two problems remain, both related to Internet access.
    I can’t update station list and I can’t open a telnet session to WL2K

    Both with a message like “no CMS telnet server available” or “Unable to update channel information from Winlink server”

    Any tip for this last problem?

    Franco Spinelli

    • Hi Franco

      The station list opens fine for me. However, I am also now experiencing the same problem with the Telnet connection to WL2K. I can confirm that version still works, and if I recall correctly so does version From there on Telnet stops working completely from RMS Express. However, RMS Link Test.exe works fine, so I am not sure what they’ve done. So far I have had to stick to one of the older versions in order to get messages. Winmor modem at least still works.


  6. Hi fellas,

    Thank you the the informative info. I recently tried running RMS Express on my linux system as well….Linux Lite 1.0.8 (aka Ubuntu 12.04) using Wine 1.6.1. My results were very encouraging until trying to get com ports to work. I was able to send and rec msgs via telnet to CMS. Winmor TNC worked very well…..all tones seemed clean aside for a slight static at the very start of the burst.

    The main issue is com ports. We would like to get RMS Express working for local packet to our BBS system and RMS Gateway and cannot get com ports to even be recognized by RMS Express. A little digging and it was discovered that some software needs tweaks to the wine registry to get com ports recognized. After the registry tweak, RMS Express would then recognize com ports but not connect to them. Also, the registry tweaks would not “stick”….they would revert back when closing down regedit. This was a bit discouraging as Airmail works fine in Wine with available com ports and no registry tweaks.

    Sooooo, still looking for a good end user client option for Linux

    • Thanks for the feedback Ken. I’ve heard from a few other hams that they experience similar problems. I use a Tigertronics Signalink to interface with my Yaesu FT 817ND using the built in VOX to trigger PTT. So far that seems to work even with the very quick TX delay required after data.

      Unfortunately I cannot be of more help on this matter but if anyone posts a solution I’ll send it your way.

  7. I am currently setting up a solar powered remote RMS Express packet node that I would like to run using a Raspberry Pi. Your post here suggests to me that may be possible using Linux. Do you know if anyone else is running RMS Express software on a Raspberry Pi and if so would you share that contact information with me as I have no interest in reinventing the wheel? We currently use RMS Express for ARES on a PC running Windows 7 but it requires the use of a larger, power hungry PC to support its operation.

    Thanks, Roger AF4LU

    • Dear Roger

      Apologies for taking so long to respond. I don’t check my blog nearly enough these days.

      Running RMS Express on Raspberry pi will not be possible. Since wine in not an emulator the x86 code of RMS Express will attempt to run via wine. However, as the Raspberry pi employs an ARM processor this will fail. Perhaps consider a small form factor PC with an Atom CPU as an alternative.


Leave a Reply

Your email address will not be published. Required fields are marked *