今から三十数年前…
今から30年くらい前の1990年代、インターネットが一般に開放される以前、アマチュア無線界でパケット通信というデジタル通信が流行ったことがありました。
当時、パソコンを利用したコミュニケーションとしては、電話線にアナログモデムを接続する「パソコン通信」を大手通信業者がサービスを開始していましたが、電話料金 + システム利用料が必要で、まだ子供だったぼくには手が出せない世界だったのです。
そんな中、電話回線の代わりにアマチュア無線を使う「パケット通信」なる物があると聞き興味津々。しかし、調べてみるとアマチュア無線には資格が必要で、電波を出すまで結構めんどくさそう。一人だと途中で飽きそうだったので、当時山岳部だった友達を「山での連絡でも使えるよ」とそそのかし一緒に晴海まで試験を受けにいったのは、高校生の頃でしたか。
その後、インターネットが一般に開放されると、パケット通信は下火となり、ひっそりと消えていったのです。
先日、ローカルさんがTNCを引っ張り出してビーコンを送信するというので、久しぶりにAFSK 1200bpsの音が聞きたくなりました。
以前はTNC(Terminal Node Controller)という機械でデコードしていたのですが、今はPCでsoftware的にデコードするツールがあるそうで、追加投資なしでパケット通信ができちゃうらしいのです。おまけに、IC-705ならUSBでつなぐだけらしい 🙂
※ ローカルさんに教えてもらった!
IC-705 + dire wolf でUIフレームを受信する
想定環境
無線機 | IC-705 |
PC(OS) | Ubuntu 24.04 |
RIG – PC 接続方法 | USB接続 |
software tnc | direwolf |
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です
1 2 |
# 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なのかを確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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名を確認します。ついでにモデムが見えているかも確認しておきましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# 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 になります。
1 2 3 4 5 6 7 8 |
% 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 になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
% /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フレームに乗ってデータが見えてくると思います。