JI1FGX/DU9 フィリピンミンダナオ島 アマチュア無線日記 IOTA OC-130
English Japanese



昨日までのアクセス
はじめに リリー日記
ミンダナオでの生活日記

25/10/13  ST2でACモーターローテ―ターを駆動する
25/10/12  国際宇宙ステーションからのAPRS信号を受信
25/10/11  APRS用TNCソフトウェア使い方編
25/10/10  APRS用TNCソフトウェア
25/10/09  近視眼鏡を作る
25/10/09 IC-820H PLL UNLOCK修理
25/10/05   435MHzクロス八木製作準備 
25/10/04  国際宇宙ステーション(ISS)の SSTVの受信に成功
25/10/03  仰角ローテーターKR-500の修理
25/10/02  145MHzクロス八木製作準備
25/10/01  ISSのAPRS信号を受信成功
25/09/29  CQ WW RTTYコンテスト
25/09/27  国際宇宙ステーションからのSSTV
25/09/26 WARCバンドのファンアウトアンテナ
25/09/25 仰角ローテーターKR-500ゲット
25/09/23  DireWolf をHamlib 込みビルドする手順
25/09/23 TNC direwolfソフトウェア
25/09/21 RS-44ビーコン受信成功
25/09/20 車に無線機を取り付け
25/09/18  ST2 設定 & SatPC32 セットアップガイド
25/09/17  DH1NGP Peterの無線車
25/09/16  FM衛星の始め方(翻訳)
25/09/14  AutoCWType_Ver1.5.9
25/09/13  3.5MHzSWRが上昇
25/09/12  3.5MHzツエップアンテナの調整
25/09/10  静止衛星 QO-100
25/09/09  サテライト局の準備に向けて
25/09/08  DU9JJY サテライト局 
25/09/07  深夜の14MHz 
25/09/03  三菱ピックアップ ストラーダ― オイル交換
25/08/18  WSJT-X自動運用Ver0.1.0
25/08/18  JTDX自動運用Ver0.6.3
25/08/10  ソフトウェア一覧
25/07/26  AutoCWType_Ver1.5.8
25/07/20  JTDXから1ヶ月分のADIF ファイルを作る
 l
og_reciver_Ver2.6.5
25/07/19  電波利用料納付完了
25/07/13  IARU HF Contest
25/07/10 ソフトウェアのアップデート
25/07/08  DXV500ZSリニアアンプ修理
25/07/07  CQマシーンプログラム
25/06/21  LoTWシステムアップグレード
25/06/18  3.5MHz用RG8到着
25/06/15  時刻合わせ Ver0.5
25/06/14  Drone Habsan ZINO到着
25/06/12  フィリピン独立記念日
25/06/11  アルジェリア 7X2RFのQSLカード
25/06/10  翻訳APIプログラム
25/06/09  DXCC150の賞状到着
25/06/08  AutoCWType_Ver1.4.1
25/06/07  シャックの様子をご紹介
25/06/06  ChatGPTに描いてもらった似顔絵
25/05/26  Windows全角半角切り替え
25/05/17  OK2ZAW BCD to 16 converter
25/05/16  3.5MHzツェップアンテナ用
ステッピングモーターあれこれ
25/05/15  3.5MHzステッピングモーター計画
25/05/14  3.5MHz同調コイル取り付け
25/05/11  3.5MHzアンテナ設置完了
25/05/03  JTDX自動運転プログラムVer0.4.3
25/04/26  Drone Habsan ZINO
25/04/25  時刻合わせ Ver0.3
25/04/24  AutoCWType_Ver1.3
25/04/23  FTDX3000液晶修理準備
25/04/22  3.5MHzツエップアンテナの設置計画
25/04/21  AutoCWType_Ver1.1
25/04/20  10,14MHzアンテナ設置完了
25/04/19  JTDX自動運転プログラムVer0.4.1
25/04/19  14MHzのアンテナポール設置
25/04/18  ThinkPad X390修理完了
25/04/17  検索が出来るようになりました
25/04/15  10MHzダイポールの準備
25/04/12  Hexbeam Part8
25/04/06  ThinkPad X390が壊れた
25/04/05  時刻合わせプログラム
25/03/31  JTDX自動運転プログラム
25/03/30  CWTypeからHamlogへ自動ログ送信
25/03/21  Hexbeam Part7
25/03/20  FreeDV Part3 初QSO
25/03/18  FreeDV Part2 シャック内QSO
25/03/16  Hexbeam Part6
25/03/15  FreeDV Part1インストール
25/03/09  Hexbeam Part5
25/03/07  Hexbeam Part4
25/03/05  28MHzアンテナ改造
25/03/01  FTDX3000が壊れた!
25/02/28  50MHzFT8でパイルアップ
25/02/28  DXV500ZSリニアアンプ修理
25/02/27  タワーのパイプ・立て直し計画
25/02/26  Ozamizからの日本の方角
25/02/26  28MHzが飛ばない
25/02/23  DXV500ZSリニアアンプ修理
25/02/22  Hexbeam Part3
25/02/21  Hexbeam Part2
25/02/18  28MHzアンテナ工事
25/02/17  18,24MHzアンテナ高さ工事
25/02/16 Z26NS Cosovo
25/02/14 21MHz FT8
25/02/12 7,21MHzのアンテナ修理
25/02/08 21MHzでCWを運用
25/02/05 DXV500ZSリニアアンプ故障
25/01/19  Input Director
25/01/14 テンポラリーライセンス更新

Dire Wolf を Windows で Hamlib 込みビルドする手順
(MSYS2 / Cygwin)

目的:APRSで使うTNCソフトウェア Dire Wolf で Hamlib(rigctld)経由の CAT/PTT を使えるようにする
   これにより、RS-232C の物理シリアルではなく USB 接続で、CAT 経由の PTT 制御が可能になる。
結論:Windows 向けの既成バイナリは Hamlib 非対応のものが多いため、ソースから Hamlib 対応で再ビルドするのが確実。

前提知識

  • Dire Wolf は C 言語(C99)で実装。ビルドは CMake + GCC(MinGW-w64) 等。
  • 起動ログに Includes optional support for: hamlib と出れば Hamlib 対応ビルド。
  • Hamlib 対応時は、direwolf.confPTT RIG 2 localhost:4532 を書けば rigctld 経由で CAT/PTT が使える。
  • ツールチェーン混在は禁止(例:Cygwin DLL と MinGW DLL を混ぜない)。

最短・確実 手順(MSYS2 / MINGW64 推奨)

ステップ 内容 / コマンド
1) MSYS2 を用意

MSYS2 をインストール後、「MSYS2 MinGW 64-bit」シェル(プロンプトに MINGW64 と見える方)を使用。

echo $MSYSTEM   # "MINGW64" と出ればOK
UCRT64 や MSYS シェルは使わない(混在回避)。
2) 初回アップデート
pacman -Syu       # 再起動を求められたら一度シェルを閉じて再起動
pacman -Syu
3) 必要パッケージ

不足があれば後から追加してもOK。

pacman -S --needed mingw-w64-x86_64-{gcc,cmake,make,git,portaudio,hamlib,pkgconf}
「make が無い」等に遭遇したら、上のコマンドを再実行。
4) Dire Wolf を取得
mkdir -p ~/src && cd ~/src
git clone https://github.com/wb2osz/direwolf.git
cd direwolf
5) ビルド(Hamlib 有効)
cmake -S . -B build -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DUSE_HAMLIB=ON
cmake --build build --config Release  # 初回は -j1 でも可
warning は無視可。error で止まる場合は -j1 直列ビルド、AV除外、Ninja 使用等を検討。
6) Hamlib 組み込み確認
./build/src/direwolf.exe -h | grep -i hamlib
# → "Includes optional support for:  hamlib ..." が出れば成功
7) rigctld を起動

例:FTDX3000(COM8, 38400bps)。機種IDは rigctl -l | grep -i yaesu で確認。

rigctld -m 1037 -r COM8 -s 38400 -vvvv
このウィンドウは待ち受け用。閉じずに別ウィンドウで次へ。
8) direwolf.conf(最小)
# 例: C:\direwolf_hamlib\direwolf.conf
# === Audio devices (数字指定; USBの抜き差しで番号が変わることあり) ===
ADEVICE  1 1
# === Station / PTT ===
MYCALL   JI1FGX-1
CHANNEL  0
PTT RIG 2 localhost:4532
# === モデム(明示しておくと親切。省略時も1200AFSKだが明記推奨) ===
MODEM 1200
# === TX timing (単位は10ms) ===
TXDELAY 30   ; 300ms(本環境の最短安定値)
TXTAIL  30   ; 300ms(これ未満だと末尾欠落で復調NG)
DWAIT   0
# === Beacon (10分ごと) ===
# 8°09.00′N / 123°51.00′E を度の小数で指定
PBEACON delay=0:01 every=10:00 lat=8.15N long=123.85E symbol=/[ comment="TEST beacon JI1FGX/DU9 Mindanao Island"
9) 起動テスト
# Dire Wolf を設定ファイルで起動
./build/src/direwolf.exe -t 0 -c direwolf.conf

# クライアントから rigctld 疎通確認(別端末)
rigctl -m 2 -r localhost:4532
f          # 周波数取得(小文字=取得)
m          # モード取得
T 1        # PTT ON(大文字=設定)
T 0        # PTT OFF
10) 可搬(ポータブル)配置

C:\direwolf_hamlib に一式を集約。

mkdir -p /c/direwolf_hamlib
# 本体
cp -f ~/src/direwolf/build/src/direwolf.exe /c/direwolf_hamlib/
cp -f /mingw64/bin/rigctld.exe              /c/direwolf_hamlib/

# 依存DLLを 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

# 未解決がないか確認(何も出なければOK)
ldd /c/direwolf_hamlib/direwolf.exe | grep -i 'not found'
ldd /c/direwolf_hamlib/rigctld.exe  | grep -i 'not found'

# Windows から起動(同フォルダに conf を置いた場合)
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
環境により libstdc++-6.dlllibgcc_s_seh-1.dlllibwinpthread-1.dlllibsndfile-1.dlllibhamlib-4.dll などが必要。

トラブルシューティング

  • 「hamlib」がヘルプに出ないmingw-w64-x86_64-hamlib が入っているか、PKG_CONFIG_PATH=/mingw64/lib/pkgconfig が通っているか確認。MINGW64 シェルでビルド/実行。
  • コンパイル中に謎のゴミ文字 & 大量同時エラー:並列を止める(-j1)、ウイルス対策の除外、Ninja へ切替、最適化を -O1 に落とす。
  • PTT は効くが対向が復調しない:送信の立ち上がり/終端が欠けている可能性。TXDELAY 300–450TXTAIL 20–40 を設定(本環境では TXDELAY 400 / TXTAIL 30 が有効)。
  • DLL が足りないldd direwolf.exeldd rigctld.exe で「not found」が出る DLL を同フォルダへコピー。
  • 外部から rigctld に繋げない:TCP 4532 をローカルFWで許可。ローカルPC内だけなら通常不要。

2025年09月21日  2025年09月25日