Winlink on Mac OS X with a TH-D74 over Bluetooth…

This took a bit longer than I expected it to, but that’s usually the way things work when you don’t know what you’re doing. When it’s done, it works quite well — I’ve got Winlink Express running on my Macbook under High Sierra with wine — no Parallels or VMware Fusion needed!

Here are the steps…

  1. Pair your Mac and your TH-D74 (System Preferences, Bluetooth) starting discovery on the TH-D74 (Configuration, Bluetooth, Pairing Mode) and accepting the pairing prompts.
  2. Make sure your TH-D74’s KISS TNC is set to use Bluetooth by going to Configuration, Interface, KISS and setting it to Bluetooth.
  3. Install Homebrew, if you haven’t.
  4. Using brew in a terminal, install wine and winetricks:
    brew install wine && brew install winetricks
  5. Run the following to set up Wine to use Windows 7 bindings and install .NET 3.5SP1:
    WINEARCH=win32; export WINEARCH
    winetricks dotnet35sp1

    This is going to take a while, so you might want to go make a cup of coffee. French press is best for this. Don’t go too far, though,
    because the process has prompts you’ve got to click through.
  6. Go look at your /dev directory and find the devices created for your paired radio. They’ll contain your radio’s Bluetooth name, and be prefixed by tty and cu. For example, mine were /dev/tty.TH-D74Handheld-SerialPo and /dev/cu.TH-D74Handheld-SerialPo. You’ll want to make symbolic links between those devices and files in wine’s dosdevices folder, like this:
    cd ~/.wine/dosdevices
    ln -s /dev/tty.TH-D74Handheld-SerialPo com1
    ln -s /dev/cu.TH-D74Handheld-SerialPo com2

    I think you only need the cu file, actually, but I linked both of them while I was poking around.
  7. Edit wine’s system.reg file to add your new serial ports. Don’t ask me why this works — this is a bit of cargo-cult programming on my part taken from a few Google searches. With an editor, open ~/.wine/system.reg, and someplace (I put it at the bottom) add the following:
    [Hardware\\Devicemap\\Serialcomm] 1231984861
    "Serial0"="COM1"
    [Hardware\\Devicemap\\Serialcomm] 1231984861
    "Serial1"="COM2"
  8. Download RMS Express and unzip the download so you have the MSI.
  9. Run the installer:
    wine msiexec /i RMS\ Express\ Setup.msi
  10. Run Winlink Express with wine using the command:
    wine ~/.wine/drive_c/RMS\ Express/RMS\ Express.exe
    Walk through the setup screens as normal. If this is your first time setting up Winlink Express, you’ll need to go to the Winlink site and register.
  11. To test the software, first pick “Telnet Winlink”, click “Open Session”, and in the window that opens, “Start”. Winlink should kick off a connection to a CMS over the internet.
  12. To configure the packet radio link using the TH-D74, choose “Packet Winlink” and click “Open Session”. Click “Settings”, choose “KISS” for “Packet TNC Type”, “NORMAL” for the “Packet TNC Model”, and “COM2” for the serial port. Leave the baud rate at 9600 — it shouldn’t matter over a Bluetooth serial connection. Click Update.
  13. Back in the Session window, configure the connection type and destination node as usual. In my case for testing, I have it set to either “Direct” to KF6GPE-10 (which is in the shack upstairs), or “Digipeater” to W6SCF-10 via KF6GPE-10, W6JWS-3.

That’s it!

To send and receive your messages, turn on your radio and tune VFO A to your local packet frequency. Next, make sure you’re in KISS TNC mode by pressing [F][5] until you see the “KISS 12” annunciator above VFO A’s display. On Winlink Express in the Session window, click “Start”. If all goes well, Winlink Express will establish a Bluetooth connection to the TNC (You’ll see an annunciator reading “Connected Bluetooth” flash above VFO A, and the radio should key up. After that, it’s just packet radio as usual.

If you don’t want to use Terminal to start RMS Express, you can also set up an AppleScript script to do so — see David Baumgold’s excellent discussion. Start the script editor, click “New Document” and enter the following in the top half of the window that appears:
tell application "Terminal"
do script "/usr/local/bin/wine ~/.wine/drive_c/RMS\\ Express/RMS\\ Express.exe"
end tell

Now click “Compile” (the last button, the one with the hammer), to be sure your script is correct. You can also try it by pressing the Run button. When you’re sure it’s correct, save it and choose “Application” as the file format. I saved it as “Winlink Express” in the default location. If you want, you can drag the resulting icon to your dock; after all, it’s an application.

Happy portable packet radio!

Leave a Reply