OpenShack Manual CW Link
✅ Six setups, one picker
Host at the radio, operate from anywhere, or set up two boxes to run on their own. Direct or through our relay, over IPv4 or IPv6 — all from the same window.
ℹ️ What you need & where to find it
A DTM Remote license is required on both sides for CW Link and Box-2-Box. Direct connections are free of charge apart from those licenses. If you use the relay, an active Remote Host Connect (RHC) yearly subscription is required as well. Open CW Link from the main menu under Operate → CW Link. CW Link replaces the older standalone Flex Keyer window — the same local-Flex keying now lives here as the Flex Keyer mode.
Decision chart: choose a CW Link mode by where you sit and what gear you have
Pick your mode by where you sit and what gear you have

What CW Link Does

CW Link connects two stations and relays CW keying and PTT between them — nothing else. Audio and rig control (CAT) are separate; keep using whatever you already use for those (the Remote Station, a direct link, SmartLink, and so on). CW Link is built for the keying path and does that one job very well.

Every setup has two ends: the station side (at the radio, which actually transmits) and the operator side (where you key). You only configure your own end. The far end can be a full PC with a box, a logger, or a bare box — from your side they all look the same, so you never have to know exactly what the other operator is running.

Choosing Your Mode

Start with two questions: where is this PC or box — at the radio, or at the operator's desk? And what produces the keying — an OpenShack Box, a FlexRadio, a logging program, or another box? That picks your mode.

👍 The preferred path: a PC with the box on USB at each end
Wherever you can, run a Windows PC with the OpenShack Box connected by USB (serial) at that end. That gives you the box's instant local sidetone at the operator, the smart adaptive buffer at the radio, and the full picker and status readout in OpenShack. The other modes are there for when that isn't possible (no box, or no PC at all).
📻

Host — Box

You are at the radio, keying an OpenShack Box on USB. A remote operator dials in.

Host — Box →
🎛️

Host — Flex

You are at the radio, keying a FlexRadio over the network. A remote operator dials in.

Host — Flex →
🔌

Flex Keyer

Your local box keys a networked FlexRadio. No remote link — just you and the radio.

Flex Keyer →
🕹️

Client — Box

You are the operator with an OpenShack Box on USB. This PC carries the link to the radio.

Client — Box →
⌨️

Client — Logger

No box — your logger (N1MM+, Win-Test…) keys the software keyer, this PC carries it.

Client — Logger →
🔗

Box-2-Box

No PC stays in the path: set up the boxes once, then they carry CW and PTT on their own.

Box-2-Box →
ℹ️ Keying a FlexRadio from the operator end?
On the two client modes there is a Remote station is a FlexRadio tick box. Turn it on when the far end is a station running OpenShack that keys a FlexRadio and you want to choose which SmartSDR operator position it keys. Leave it off when the far end keys a box or an ordinary rig.

The Modes in Detail

Host — Box (at the radio, keying a box)

Host — Box flow: remote client to Windows PC to local OpenShack Box to rig

You are at the radio with an OpenShack Box wired to the rig's key line. A remote CW Link client dials in, and the box replays their keying and PTT onto the radio. The box's own buffer starts at the floor you set and then adjusts itself to the connection — tightening on a clean link, loosening on a rough one — so the far operator's rhythm comes through faithfully. Connect the box in Hardware Settings first and keep its key output wired to the rig.

Host — Flex (at the radio, keying a FlexRadio)

Host — Flex flow: remote client to Windows PC to FlexRadio over SmartSDR API

Same idea, but the radio is a FlexRadio and there is no box at your end — OpenShack keys the Flex directly through the SmartSDR API. A remote client dials in (a box, a box + PC, or a logger), and their keying goes on the air. One SmartSDR or Maestro station must be set up to transmit, and the keyed slice should be in a CW mode (CWL/CWU).

ℹ️ Choosing the SmartSDR station
On the Flex tab, open the Station to key list — it queries the radio and shows the available operator positions before you start. Leave it on (Auto) to follow whichever station owns the CW transmit slice, or pick one by name if you run several (multiFlex). Your choice is remembered.

Flex Keyer (local box keys a networked Flex)

Flex Keyer flow: local OpenShack Box keys a FlexRadio over the LAN or VPN, no remote link

This is the classic Flex Keyer from earlier versions, now a CW Link mode. Your local OpenShack Box keys a FlexRadio over your own network (LAN or VPN) — there is no remote link and no shared password, because both the box and the radio are yours. Your paddle, straight key, or memories key the radio, while the box's own sidetone stays your zero-latency monitor. A footswitch or the on-screen PTT button puts the radio on the air for voice. Two extra buttons open a live decoder — to read back your own sending — and the memory keyer.

Client — Box (operator with a box)

Client — Box flow: paddle to OpenShack Box to Windows PC to remote station

You are the operator, wherever you are, with an OpenShack Box on USB. Your paddle, straight key, and F-key memories are the keying source, and the box gives you an instant local sidetone with no network delay at all — so your sending feels exactly as it does at home, no matter how far away the radio is. This PC only carries the link. Connect the box in Hardware Settings first.

Client — Logger (operator, no box)

Client — Logger flow: logging program to software keyer to Windows PC to remote station

No box at hand? Your logging program (N1MM+, Win-Test, and the like) keys a software keyer built into OpenShack on a virtual COM port, and this PC carries it to the radio. Set the virtual COM port on the Box tab; with a com0com pair, point your logger at the other port of the pair. A local PC sidetone gives you a monitor as you send.

ℹ️ Sending F-keys, not a paddle
The logger route is best for contest-style sending (call, exchange, F-keys). For paddle work with instant feel, use Client — Box — the box's hardware sidetone can't be beaten for timing.

Box-2-Box (standalone link)

Box-2-Box flow: two OpenShack Boxes relay keying between operator and radio with no PC

Box-2-Box is the standalone case. Two OpenShack Boxes carry CW and PTT directly: one box is with the operator, the other is at the radio. On this tab you configure the attached box — its role (client or host), target, password and buffer — and press Apply. The settings are stored inside the box, and from then on the boxes run the link without software running at either end.

⚠️ Prefer USB serial when a Windows PC is available
Box-2-Box runs over the boxes' WiFi connection. WiFi is convenient, but it is not as predictable as a wired USB-serial connection. If you have a Windows PC on either side, the preferred method is to keep that box wired by USB and use CW Link instead.
ℹ️ Full Box-2-Box guide
Box-2-Box has its own detailed walk-through — roles, the settings reference, Morse status announcements and hardware escapes. See Box-2-Box mode. The browser-based WebConfig can set the same options up without OpenShack at all.

Choosing a Connection Mode

CW Link offers a mode for networks you manage yourself and a managed mode for restricted or mobile networks. Choose the mode that matches the environment shown on the Link tab.

Local or private networks

CW Link between operator and radio site on a private network

Use Direct on the same LAN, across a VPN, or where the radio-site host is intentionally reachable. The host lists the addresses you can use on the Link tab.

Restricted or mobile networks

CW Link using professionally operated infrastructure for connectivity

Use Relay where inbound router changes are unavailable or unwanted. Professionally operated infrastructure provides the connection path; both stations only need normal outbound internet access.

ℹ️ Relay needs an active RHC subscription
Both CW Link and Box-2-Box require a DTM Remote license on both sides. Direct connections are free of charge apart from those licenses. If you use the relay, an active Remote Host Connect (RHC) yearly subscription is required in addition to the DTM Remote licenses.
🧭 Recommended order
  1. Same network (LAN): use Direct with the host's local address. Nothing to set up.
  2. Private network or VPN: use Direct with the address provided by that network.
  3. Restricted or mobile internet: use Relay when you cannot provide inbound reachability at the radio site.

Ports, IPv4 and IPv6

CW Link uses one port for both TCP and UDP, 7373 by default. Both ends must use the same number; leave it at 7373 unless it clashes with something else. The host lists its reachable addresses on the Link tab, ready to copy.

  • Local network (LAN): use the host's LAN address as-is. No router or firewall changes.
  • IPv4 over the internet: forward TCP + UDP port 7373 on the host's router to the host PC, then hand out your public IP or DynDNS name. See Port Forwarding for the step-by-step.
  • IPv6 over the internet: give the operator the host's IPv6 address in brackets, e.g. [2003:e5:2711:9a10::7]:7373. There's usually no forwarding to do — just allow TCP + UDP 7373 through the firewall. See IPv6 and Stable IPv6 Address.
⚠️ Windows will ask about the firewall
The first time a host starts, Windows pops up a firewall prompt — allow it, or the operator won't be able to reach you in Direct mode.

Connection Quality

CW Link preserves the timing of your keying while adapting playback to normal variation in network delivery. The defaults are suitable for most connections. On an unstable link, choose a more robust buffer profile or raise the buffer floor; on a very stable link, a lower setting can feel more immediate.

What the jitter buffer protects

Jitter means that network packets do not all take the same time to arrive. The radio-side Box does not use those uneven arrival times as CW timing. Instead, it waits for the configured JB delay and then reproduces the key-down and key-up durations sent by the operator-side Box. Normal variation that stays inside this cushion therefore does not turn a clean dit or dah into a distorted one.

A rare delay spike can become a pause instead of bad CW
If one packet is later than the configured jitter buffer, the Box can hold playback back far enough to rescue the late element. The total playout delay is capped at about 2 seconds, so the additional rescue headroom is approximately 2000 ms minus the current JB value. With a 500 ms jitter buffer, for example, an occasional spike of roughly another 1.5 seconds can still produce complete CW elements at the radio. The trade-off is an audible pause before the signal continues; the dit or dah itself is not shortened or stretched.

This is protection for occasional transport spikes, not a substitute for a working connection. Repeated stalls or a delay beyond the remaining headroom can eventually skip elements. In that case, select a more robust profile, raise the buffer floor, and check the network path.

ℹ️ Start with the defaults
Leave the advanced transport controls unchanged unless troubleshooting or support specifically requires an adjustment. For Box modes, use Normal first, Robust for an unstable link, and Optimistic only on a consistently good network.
After first setup: listen to the RF signal
It is strongly recommended to monitor your own transmitted signal with another receiver, for example a nearby receiver or WebSDR. Do this after the first setup and after major network changes. If the CW sounds choppy, characters are clipped, or dots are missing, adjust the network and buffer settings: raise the buffer floor for CW Link, raise Min ms for Box-2-Box, or choose a more robust buffer profile and test again.

The Auth Key (Shared Password)

Every remote link is protected by an auth key — a shared password, identical on both ends, at least 10 characters long. It stops strangers connecting to your link. Pick something long and unguessable, and set the same key at the radio and at the operator. (The local-only Flex Keyer mode needs no key — nothing leaves your network.)

The Status Tab

CW Link status tab showing round-trip time, buffer, edges and connection path

Once a link is running, the Status tab shows how the connection is performing:

The tab collects measurements and state from the components that are connected in the selected mode. Depending on the setup, those components can be Windows applications (the CW Link instances, the software keyer, or the Flex/API path) or OpenShack Boxes connected by USB or WiFi.

  • RTT — round-trip time: how long a signal takes to reach the other end and come back. Lower is better.
  • JB — the jitter-buffer delay in use right now, in milliseconds.
  • Edges — a running count of keying changes carried over the link, a rough measure of activity.
  • Path — the connection status currently reported by the app.

Refresh reads the latest numbers from both ends; Reset stats clears the counters so you can watch a fresh measurement window.

Box Diagnostics (Host — Box / Client — Box)

When a Box is part of the link, the status log can include additional diagnostic counters. These are primarily intended for support. If keying quality is poor, click Reset stats, key normally for a minute, click Refresh, and include the resulting status text in your support request.

⚠️ If monitored CW is clipped or uneven
First rule out congested WiFi, then choose a more robust buffer profile or raise Min ms. Test again while monitoring the actual RF signal. Support can interpret the detailed counters if the problem remains.

Sidetone — Where You Hear Yourself

A common surprise: with a remote link there are two separate places a sidetone can come from, and they're unrelated.

  • At the operator (your) end — the OpenShack Box's own sidetone beeps the instant you key, with zero network delay. This is the sidetone to send by, and it's why paddle work over a remote link still feels natural. (In Client — Logger it's the software keyer's PC sidetone instead.)
  • At the radio (host) end — the rig makes its own sidetone when it transmits, depending on the radio model and its monitor settings.
⚠️ Delayed radio monitor audio at the client
If the radio's own monitor audio comes back through your remote receive audio — for example CW sidetone or monitored SSB voice — it will arrive delayed and can be distracting while you operate. If it disturbs you, turn down or disable the radio's Monitor/MON function and rely on the local OpenShack Box or PC sidetone at the operator end.

Start into CW Link (Advanced Tab)

Normally you start OpenShack from its usual icon and open CW Link from the dashboard. If you run a fixed setup — an always-on station or a permanent operator console — you can instead create shortcuts that open CW Link and start the link automatically, reusing the mode, auth key and settings from the last time you used it.

Open CW Link → Advanced. Under Start into CW Link you will find two checkboxes — tick the ones you want, untick to remove them again:

  • Create desktop shortcut — puts a OpenShack (CW Link) icon on the desktop for a one-click start straight into a running link.
  • Start automatically with Windows (start the link) — this PC boots straight into CW Link and starts the link every time you sign in to Windows. Ideal for an always-on station or a fixed operator console.
CW Link Advanced tab with the desktop shortcut and Windows autostart checkboxes
Advanced tab — the shortcuts for starting directly into CW Link (desktop and auto-start with Windows).

Set the mode, auth key and the rest once the normal way; these shortcuts then reuse them every time. Hardware detection still runs first, so the Box is ready before the link starts. Unlike the Remote Station there is no startup delay — CW Link keys over the network rather than switching on gear that needs time to boot, so it starts straight away. (The Box-2-Box mode is configuration only, so an autostart just opens the window.) These shortcuts are optional — if you never tick a box, nothing extra is added, and you can remove either one at any time by unticking it here.

ℹ️ Only one feature can auto-start with Windows
CW Link and the Remote Station both offer a Windows-autostart shortcut, but only one of them can be on at a time — both would try to use the same keying hardware the moment you sign in. If you tick CW Link's while the Remote Station's is already set, CW Link refuses and tells you to turn the other one off first: go to Remote Station → Advanced and untick Start automatically with Windows. It works the same way in reverse.

Tips & Troubleshooting

  • One box, one window. CW Link shares the single OpenShack Box connection with the decoder and trainer windows, so it can't run at the same time as those or the Remote Station. Close the others first.
  • Same password, same port, both ends. Most "won't connect" problems are a mismatched auth key or port. Turn on Show key to check the password.
  • Edges climbing but no RF? The link is carrying keying changes, so check the host-side keying path: radio mode, key/PTT wiring or API connection, and whether the radio is actually enabled to transmit CW.
  • Rough link? Raise the buffer floor a little and, on the box modes, try the Robust buffer profile. A steadier signal beats a snappier one that drops.
  • Audio and CAT are elsewhere. CW Link is keying only. For rig control, waterfall and receive audio, use the Remote Station.
OpenShack