CW Link — remote CW keying for real station setups
CW Link is the OpenShack window for remote CW keying. It covers the practical ways to put a key on one side of the network and a radio on the other: Box to Box, PC to Box, PC to FlexRadio, logger to remote station, or local Flex keying. Choose the role that matches the hardware in front of you; CW Link carries CW and PTT with low latency, local sidetone where possible, and buffering for real network jitter.
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.
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 →The Modes in Detail
Host — Box (at the radio, keying a box)
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)
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).
Flex Keyer (local box keys a networked Flex)
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)
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)
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.
Box-2-Box (standalone link)
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.
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
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
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.
- Same network (LAN): use Direct with the host's local address. Nothing to set up.
- Private network or VPN: use Direct with the address provided by that network.
- 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.
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.
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.
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
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.
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.
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.
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.
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.