.html. JI1FGX/DU9 Mindanao, Philippines How to build Dire Wolf on Windows with Hamlib [MSYS2 / Cygwin] (2025/09/23)
JI1FGX/DU9 Amateur Radio Diary, Mindanao, Philippines, IOTA OC-130.
English. Japanese.



Yesterday's access.
Introduction. [Lily Diary.
A diary of life in Mindanao.

25/10/12  Received APRS signals from ISS
25/10/11  TNC software for APRS manual
25/10/10  TNC software for APRSVer1.0
25/10/09  Making myopia glasses
25/10/09  ICOM IC-820H PLL UNLOCK repair
25/10/05  435MHz Cross Yagi antenna production preparation
25/10/04  Receiving SSTV from the International Space Station
25/10/03  Repair of elevation rotator KR-500
25/10/02  145MHz Cross Yagi antenna production preparation
25/10/01  received APRS signal from ISS
25/09/29  CQ WW RTTY contest
25/09/27  SSTV from the ISS
25/09/26  WARC band fan-out antenna
25/09/25  levation rotator KR-500 acquired
25/09/23 APRS TNC software Dire Wolf with Hamlib
25/09/23 TNC software direwolf
25/09/21  Russian satellite RS-44 beacon
25/09/20 Installing a radio in a car
25/09/17 DH1NGP Peter radio vehicle
25/09/13  3.5MHz SWR increased
25/09/12 3.5MHz Zepp antenna adjustment
25/09/10  Geostationary satellite QO-100
25/09/09  Preparing for the satellite station
25/09/08  DU9JJY satellite station
25/09/07  14MHz late at night
25/09/03  Mitsubishi Strada Pickup Truck
 Oil Change
25/08/18 WSJT-X Automatic operation Ver0.1.0
25/08/18  JTDX Autonomous operation Program Ver0.6.3
25/08/10  Software List
25/07/26 AutoCWType_Ver1.5.8
25/07/20  Create one month's worth of ADIF files from JTDX Ver 2.6.5
25/07/19  Japan's Radio Wave Usage Tax
25/07/13  IARU HF Contest
25/07/10 Software updates
25/07/08 DXV500ZS linear amplifier repair
25/07/07 CQ Machine Program
25/06/21 LoTW system upgrade
25/06/18 RG8 for 3.5MHz arrived
25/06/15  Time setting Ver0.5
25/06/14 Drone Habsan ZINO arrives
25/06/12 Philippine Independence Day
25/06/11 Algeria 7X2RF QSL card.
25/06/10 Translation API Program
25/06/09 DXCC150 award certificate arrived
25/06/08 AutoCWType_Ver1.4.1
25/06/07 Introducing the Shack
25/06/06 A portrait drawn by ChatGPT.
25/05/26 Windows full-width/half-width switching.
25/05/17 OK2ZAW BCD to 16 converter.
25/05/16 For 3.5MHz Zepp antenna.
Stepping motors
25/05/15 3.5MHz stepping motor design.
25/05/14 3.5MHz tuning coil installed.
25/05/11 3.5MHz antenna installation completed.
25/05/03 JTDX Autonomous Driving Program Ver0.4.3.
25/04/26 Drone Habsan ZINO.
25/04/25 Time setting Ver0.3.
25/04/24 AutoCWType_Ver1.3.
25/04/23 Preparing for FTDX3000 LCD repair.
25/04/22 Installation plan for 3.5MHz Zepp antenna.
25/04/21 AutoCWType_Ver1.1.
25/04/20 10,14MHz antenna installation completed.
25/04/19 JTDX Autonomous Driving Program Ver0.4.1.
25/04/19 14MHz antenna pole installed.
25/04/18 ThinkPad X390 repair completed.
25/04/17 Search is now possible.
25/04/15 Preparing the 10MHz dipole.
25/04/12 Hexbeam Part8.
25/04/06 My ThinkPad X390 is broken.
25/04/05. Time setting program.
25/03/31 JTDX Autonomous Driving Program.
25/03/30 Automatic log sending from CWType to Hamlog.
25/03/21 Hexbeam Part 7.
25/03/20 FreeDV Part 3 First QSO.
25/03/18 FreeDV Part 2 QSO in the shack.
25/03/16 Hexbeam Part 6.
25/03/15 Install FreeDV Part1.
25/03/09 Hexbeam Part5.
25/03/07 Hexbeam Part 4.
25/03/05 28MHz antenna modification
25/03/01 FTDX3000 is broken!
25/02/28 Pileup at 50MHz FT8.
25/02/28 DXV500ZS linear amplifier repair.
25/02/27 Tower pipe rebuilding plan.
25/02/26 Direction to Japan from Ozamiz.
25/02/26 28MHz is not available.
25/02/23 DXV500ZS linear amplifier repair.
25/02/22 Hexbeam Part 3
25/02/21 Hexbeam Part 2
25/02/18 28MHz antenna construction.
25/02/17 18,24MHz antenna height construction.
25/02/16 Z26NS Cosovo.
25/02/14 21MHz FT8
25/02/12 7,21MHz antenna repair.
25/02/08 Operating CW at 21MHz.
25/02/05 DXV500ZS linear amplifier failure.
25/01/19 Input Director.
25/01/14 Temporary license renewal.

Steps to build Dire Wolf on Windows with Hamlib.
(MSYS2/Cygwin)

the purpose:Enables CAT/PTT via Hamlib (rigctld) with Dire Wolf, a TNC software used for APRS..
This allows you to use a physical serial port instead of an RS-232C. USB connection.This allows PTT control via CAT.
Conclusion:Many pre-made binaries for Windows are not compatible with Hamlib.Therefore,Rebuilt from source with Hamlib support.It is certain to do so.

Prerequisite knowledge.

  • Dire Wolf is written in C (C99)Implemented in. Build is CMake + GCC(MinGW-w64) etc.
  • In the startup log Includes optional support for: hamlib. If this message appears, it is a Hamlib compatible build.
  • When Hamlib is supported,direwolf.conf. to PTT RIG 2 localhost:4532. If you write CAT/PTT via rigctld. can be used.
  • Mixing toolchains is prohibited.(e.g. don't mix Cygwin DLLs with MinGW DLLs).

The shortest and most reliable procedure (MSYS2/MINGW64 recommended)

Step. Contents / Commands.
1) Prepare MSYS2.

After installing MSYS2,'MSYS2 MinGW 64-bit'shell.(At the prompt MINGW64. Use the one that looks like this.

echo $MSYSTEM # If it shows "MINGW64", it's OK.
Do not use UCRT64 or MSYS shells (avoid mixing).
2) First update.
pacman -Syu # If you are asked to reboot, close the shell and reboot pacman -Syu
3) Required packages.

If there is a shortage, you can add it later.

pacman -S --needed mingw-w64-x86_64-{gcc,cmake,make,git,portaudio,hamlib,pkgconf}
If you encounter 'There is no make' or similar, re-run the command above.
4) Get Dire Wolf.
mkdir -p ~/src && cd ~/src git clone https://github.com/wb2osz/direwolf.git cd direwolf
5) Build (Hamlib enabled)
cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DUSE_HAMLIB=ON cmake --build build --config Release # -j1 is also acceptable for the first time
The warning can be ignored.error. If it stops at -j1. Consider serial build, AV exclusion, Ninja usage, etc.
6) Check Hamlib integration.
./build/src/direwolf.exe -h | grep -i hamlib # → If "Includes optional support for: hamlib ..." appears, it is successful
7) Start rigctld.

Example: FTDX3000 (COM8, 38400bps). The model ID is rigctl -l | grep -i yaesu. Check it out.

rigctld -m 1037 -r COM8 -s 38400 -vvvv.
This window is for standby purposes. Do not close it, just click on the next window.
8) direwolf.conf (minimal)
# Example: C:\direwolf_hamlib\direwolf.conf # === Audio devices (specify numbers; numbers may change when USB is plugged in and unplugged) === ADEVICE 1 1 # === Station / PTT === MYCALL JI1FGX-1 CHANNEL 0 PTT RIG 2 localhost:4532 # === Modem (specify explicitly. Default is 1200AFSK, but specifying explicitly is recommended) === MODEM 1200 # === TX timing (unit is 10ms) === TXDELAY 30 ; 300ms (shortest stable value in this environment) TXTAIL 30 ; 300ms (if less than this, the tail will be missing and demodulation will fail) DWAIT 0 # === Beacon (every 10 minutes) === # 8°09.00′N / 123°51.00′E Specify in decimal degreesPBEACON delay=0:01 every=10:00 lat=8.15N long=123.85E symbol=/[ comment="TEST beacon JI1FGX/DU9 Mindanao Island"
9) Boot test.
# Start Dire Wolf with the configuration file ./build/src/direwolf.exe -t 0 -c direwolf.conf # Check rigctld communication from the client (on another terminal) rigctl -m 2 -r localhost:4532 f # Get frequency (lowercase = get) m # Get mode T 1 # PTT ON (uppercase = set) T 0 # PTT OFF
10) Portable configuration.

C:\direwolf_hamlib. The entire set is summarized here.

mkdir -p /c/direwolf_hamlib # Main body cp -f ~/src/direwolf/build/src/direwolf.exe /c/direwolf_hamlib/ cp -f /mingw64/bin/rigctld.exe /c/direwolf_hamlib/ # Automatically collect dependent DLLs with ldd for f in $(ldd /c/direwolf_hamlib/direwolf.exe | awk '/=> \//{print $3}'); do cp -u "$f" /c/direwolf_hamlib/; done for f in $(ldd /c/direwolf_hamlib/rigctld.exe | awk '/=> \//{print $3}'); do cp -u "$f" /c/direwolf_hamlib/; done # Check for unresolved issues (OK if nothing is found) ldd /c/direwolf_hamlib/direwolf.exe | grep -i 'not found' ldd /c/direwolf_hamlib/rigctld.exe | grep -i 'not found' # Start from Windows (if conf is placed in the same folder) C:\direwolf_hamlib\rigctld.exe -m 1037 -r COM8 -s 38400 -vvvv C:\direwolf_hamlib\direwolf.exe -t 0 -c C:\direwolf_hamlib\direwolf.conf
Depending on the environment libstdc++-6.dll.,libgcc_s_seh-1.dll.,libwinpthread-1.dll., libsndfile-1.dll.,libhamlib-4.dll. etc. are required.

troubleshooting.

  • 'Hamlib' is not displayed in the help.:mingw-w64-x86_64-hamlib. Is there aPKG_CONFIG_PATH=/mingw64/lib/pkgconfig. Check if it works. Build/run in MINGW64 shell.
  • Mysterious garbage characters and multiple simultaneous errors during compilation.: Stop parallel (-j1.), exclude antivirus, switch to Ninja, optimize -O1. Drop it.
  • The PTT works but the opposite side does not demodulate.: Possible missing leading/trailing edge of transmission.TXDELAY 300–450.,TXTAIL 20–40. Set (in this environment TXDELAY 400. / TXTAIL 30. is valid).
  • Missing DLL.:ldd direwolf.exe. and ldd rigctld.exe. Copy the DLL that displays 'not found' to the same folder.
  • I can't connect to rigctld from outside.:Allow TCP 4532 in the local firewall. Usually not required if only using the local PC.

September 21, 2025.   September 25, 2025.