IC-705 + Direwolf で AFSK 1200 bpsのUIフレームを受信

今から三十数年前…

今から30年くらい前の1990年代、インターネットが一般に開放される以前、アマチュア無線界でパケット通信というデジタル通信が流行ったことがありました。

当時、パソコンを利用したコミュニケーションとしては、電話線にアナログモデムを接続する「パソコン通信」を大手通信業者がサービスを開始していましたが、電話料金 + システム利用料が必要で、まだ子供だったぼくには手が出せない世界だったのです。

そんな中、電話回線の代わりにアマチュア無線を使う「パケット通信」なる物があると聞き興味津々。しかし、調べてみるとアマチュア無線には資格が必要で、電波を出すまで結構めんどくさそう。一人だと途中で飽きそうだったので、当時山岳部だった友達を「山での連絡でも使えるよ」とそそのかし一緒に晴海まで試験を受けにいったのは、高校生の頃でしたか。

その後、インターネットが一般に開放されると、パケット通信は下火となり、ひっそりと消えていったのです。


先日、ローカルさんがTNCを引っ張り出してビーコンを送信するというので、久しぶりにAFSK 1200bpsの音が聞きたくなりました。

以前はTNC(Terminal Node Controller)という機械でデコードしていたのですが、今はPCでsoftware的にデコードするツールがあるそうで、追加投資なしでパケット通信ができちゃうらしいのです。おまけに、IC-705ならUSBでつなぐだけらしい 🙂
※ ローカルさんに教えてもらった!

TNC-22

IC-705 + dire wolf でUIフレームを受信する

想定環境

無線機IC-705
PC(OS)Ubuntu 24.04
RIG – PC 接続方法USB接続
software tncdirewolf

PC側の準備

software TNCとして、Direwolf を利用します。公式ページでは github.com から最新コードをcloneしてmakeするように書かれています。

Official pageに従い 最新版(開発版)をインストールしてもいいし、Ubuntuで用意されているパッケージを利用しても良いと思います。

Rigが新しくてUbuntuで提供されているバージョンではhamlibが対応していない、とかDirewolfの開発版に使いたい機能があるという方は、公式ページの手順に従いmakeすればOKです。

手makeする場合の注意点は、Rig操作に hamlib をlinkさせる必要があるという事。hamlibのlinkを忘れるとIC-705の場合は送信できず受信専用になってしまいます。
※ Ubuntuの公式パッケージはhamlibがlinkされていますので気にしないでOKです

# apt update
# apt install direwolf

公式パッケージをいれるだけならコレだけ。楽ちんですね。

IC-705側の準備

IC-705とPCをUSB接続する前に、IC-705側でいくつかの設定が必要です。

NRは、昔住んでいた場所がノイズまみれな環境だった為ONにしていたのですが、NRがONになっているとデコード失敗する事があります。データ通信をする際はOFFにした方が良いようです。

  • [MENU] -> [SET] -> [外部端子] -> [USB AF/IF出力] -> [AF出力レベル] -> 50%に設定
  • [MENU] -> [SET] -> [外部端子] -> [USB SEND/キーイング] -> [USB SEND] -> USB(B) RTSに設定
  • [FUNCTION] -> NR OFFに設定

IC-705とPCを接続する

USB接続したIC-705をPCから見るとUSBモデムとUSBオーディオデバイスとして見えます。接続する前にUSBの状態を確認しておき、接続後の状態と比べることで、どのデバイスがIC-705なのかを確認します。

USB接続前
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 045e:0801 Microsoft Corp. Microsoft® Nano Transceiver v2.0
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 31b2:0010 KTMicro KT USB Audio
Bus 001 Device 005: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

USB接続後
# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 045e:0801 Microsoft Corp. Microsoft® Nano Transceiver v2.0
Bus 001 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 005: ID 31b2:0010 KTMicro KT USB Audio
Bus 001 Device 007: ID 8087:0a2a Intel Corp. Bluetooth wireless interface
Bus 001 Device 013: ID 0451:2046 Texas Instruments, Inc. TUSB2046 Hub
Bus 001 Device 014: ID 0c26:0036 Prolific Technology Inc. IC-705
Bus 001 Device 015: ID 08bb:2901 Texas Instruments PCM2901 Audio Codec
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

“Prolific Technology Inc. IC-705” と “Texas Instruments PCM2901 Audio Codec”が増えたのが確認できます。そして、正しく接続できたらIC-705に “USBCOM”のアイコンが表示されます。

次はdirewolf付属のツールを実行し、ADEVICE名を確認します。ついでにモデムが見えているかも確認しておきましょう。

# cm108
    VID  PID   Product                          Sound                  ADEVICE        ADEVICE            HID [ptt]      
    ---  ---   -------                          -----                  -------        -------            ---------      
    08bb 2901  USB Audio CODEC                  /dev/snd/controlC0                                       /dev/hidraw2
    08bb 2901  USB Audio CODEC                  /dev/snd/pcmC0D0c      plughw:0,0     plughw:CODEC,0     /dev/hidraw2
    08bb 2901  USB Audio CODEC                  /dev/snd/pcmC0D0p      plughw:0,0     plughw:CODEC,0     /dev/hidraw2
    31b2 0010  KT USB Audio                     /dev/snd/controlC1                                       /dev/hidraw7
    31b2 0010  KT USB Audio                     /dev/snd/pcmC1D0c      plughw:1,0     plughw:Audio,0     /dev/hidraw7
    31b2 0010  KT USB Audio                     /dev/snd/pcmC1D0p      plughw:1,0     plughw:Audio,0     /dev/hidraw7
    045e 0801  Microsoft® Nano Transceiver v2                                                           /dev/hidraw3
    046d c52b  USB Receiver                                                                              /dev/hidraw4

# dmesg -T |grep ACM
[Sun Aug 11 00:47:20 2024] cdc_acm 1-3.2:1.0: ttyACM0: USB ACM device
[Sun Aug 11 00:47:20 2024] cdc_acm 1-3.2:1.2: ttyACM1: USB ACM device

# ls -l /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 Aug 11 00:47 /dev/ttyACM0
crw-rw---- 1 root dialout 166, 1 Aug 11 00:47 /dev/ttyACM1

hamlibがIC-705をサポートしているかどうか
# rigctl -l|grep 705
  3085  Icom                   IC-705                  20230109.8      Stable      RIG_MODEL_IC705

cm108コマンドの結果から、ADEVICEに “plughw:0,0″を指定すれば良い事がわかりました。この値はdirewolfの設定ファイルに記述しますのでメモしておきましょう。

ttyACMデバイスが作られている事も確認できました。direwolfを起動する予定のユーザが、dialoutグループに所属していることも確認しておきましょう。所属していなければRead/Writeできるように所属させましょう。

設定ファイル(direwolf.conf)を作成

設定ファイルの設置場所は、デーモンとして起動するのならば /etc/direwolf.conf に、一般ユーザでforegroundプロセスとして起動するのならば、${HOME}/direwolf.conf になります。

% cat ~/direwolf.conf
ADEVICE  plughw:0,0
CHANNEL 0
MYCALL YOUR_CALL-1
MODEM 1200
PTT RIG 3085 /dev/ttyACM0
AGWPORT 8000
KISSPORT 8001

ADEVICEは、先に調べた番号。PTTの3085は、hamlibのIC-705の番号です。

いよいよ起動

普通に起動するだけです。Ubuntuパッケージでインストールした場合は /usr/bin/direwolf 、手makeでprefixを変えずにインストールした場合は /usr/local/bin/direwolf になります。

% /usr/local/bin/direwolf 
Dire Wolf DEVELOPMENT version 1.8 D (Aug 10 2024)
Includes optional support for:  hamlib cm108-ptt dns-sd

Reading config file direwolf.conf
Audio device for both receive and transmit: plughw:0,0  (channel 0)
Channel 0: 1200 baud, AFSK 1200 & 2200 Hz, A+, 44100 sample rate.
Hamlib determined CAT control serial port rate of 19200.
Ready to accept AGW client application 0 on port 8000 ...
Ready to accept KISS TCP client application 0 on port 8001 ...
DNS-SD: Avahi: Announcing KISS TCP on port 8001 as 'Dire Wolf on mini'
DNS-SD: Avahi: Service 'Dire Wolf on mini' successfully registered.

無事に起動したでしょうか?APRSの1200bps通信が行われている周波数に合わせると、UIフレームに乗ってデータが見えてくると思います。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)