The following software works great (on Arch Linux):
The new tower works great!

145′ Rotating Rohn 55 tower (tower hardware & installation KC1XX)
Antennas:
- 160m/80m inverted L with 80 radials
- 60m dipole
- 40m 3 element yagi (JK Antennas) at 145′
- 30m 2 element yagi (JK Antennas) at 105′
- 20m 3/3 yagi stack (JK Antennas) at 132′ and 90′
- 17m 3 element yagi (JK Antennas) at 105′
- 15m 4/4 yagi stack (JK Antennas) at 132′ and 90′
- 12m 4 element yagi (JK Antennas) at 105′
- 10m 5/5 yagi stack (JK Antennas) at 132′ and 90′
- 6m 6 element LFA yagi (InnovAntennas) at 52′
- Antenna switching: Hamation Bandmaster V controller
and DX Engineering RR8B-HP remote switch - Stack match: Hamation PB-2 controller and Hamation
SM-2 switching unit - Rotor: K0XG rotor and bearings from KC1XX
and Green Heron RT-21 controller - UNUNs & BALUNS from Balun Designs
- LMR-600 UltraFlex and 7/8″ Heliax coaxial cables from Davis RF
AA6KJ station setup

Elecraft K4 with KPA-1500 & Acom 2000A amplifiers.
Improve timing of cwdaemon on Linux
If one starts cwdaemon directly on Linux, it produces rather choppy and poor CW. So, I experimented a bit and it seems that the following will produce nice and consistent CW:
# echo 1 > /sys/bus/usb-serial/devices/ttyUSB1/latency_timer
# chrt -f 99 /usr/bin/cwdaemon -d /dev/ttyUSB1 -o key=DTR -o ptt=none -x n
This reduces the rs232 port latency (1st line; 1 ms latency), runs cwdaemon with real time priority (chrt command) and disables audio output on the computer (-x n). In my case above /dev/ttyUSB1 is the RS232 port for the radio, which uses DTR signal for keying.
Once can put the above in a bash script so cwdaemon can be started easily.
