Day After Day
tsurezure naru mamani...
ANOTHER SEASON

Digital Smart Technologies for Amateur Radio ®

Soundcard Repeater 第3弾 HummingBoard i2eX

12月
3
2014
Back
HOME


第1弾はacerのノートパソコンで, 第2弾はG8BPQ改良型ソフトとUSBサウンドによるRaspberry Piで, 今回 第3弾はノートパソコン同様内蔵型サウンドとG4KLXオリジナルソフトで実現します。
HummingBoard i2eXは64ビットデュアルコアと言うだけで無く,サウンドもOut/Inともオンボードで,周辺機器も多彩に接続可能となっています。
(詳しくはSolidRun Ltd.を参照)
アナログFM無線機は第2弾でも使用した KENWOOD TH-F7を使用します。


ここでご紹介している D-STAR ネットワークへの接続ツール(各種ノード・DVAPなど)の運用においては 免許申請について(安田OMサイト)をご参照ください。 (2013年8月 ガイドラインが示されました。)

パソコンと無線機を繋ぐケーブルの作成と主なパーツ


Sound Card Repeater 用ケーブル(TH-F7用)の作成をご参照ください。

また,今回は写真のように本体側が4極プラグのためパソコン用の3.5φステレオスピーカ用とマイク用を一つにまとめる4極<=>3極x2変換ケーブルを作成しました。 ピンアサインに付いてはメーカーサイトの回路図最終(6/6)ページに記載があります。(現在この回路図は入手不可 (2026.3.17)

コンバータケーブルを刺した時, LXTerminalで次のコマンドを実行するとケーブルを認識しているか探ることが出来ます。

$ dmesg | grep serial
[    0.761536] 2020000.serial: ttymxc0 at MMIO 0x2020000 (irq = 58, base_baud = 5000000) is a IMX
[    0.762221] 21f0000.serial: ttymxc3 at MMIO 0x21f0000 (irq = 61, base_baud = 5000000) is a IMX
[    0.762533] serial: Freescale lpuart driver
[    0.786681] usbcore: registered new interface driver usbserial
[    0.786721] usbcore: registered new interface driver usbserial_generic
[    0.786758] usbserial: USB Serial support registered for generic
[    3.462110] usbserial: USB Serial support registered for pl2303
$ dmesg | grep pl2303
[    3.462048] usbcore: registered new interface driver pl2303
[    3.462110] usbserial: USB Serial support registered for pl2303
[    3.462195] pl2303 2-1.1:1.0: pl2303 converter detected
[    3.468251] usb 2-1.1: pl2303 converter now attached to ttyUSB0

その他関連コマンドとしては次のようなものもあります。

$ lsusb
$ usb-devices


HummingBoard i2eXの準備


HummingBoard用のOSはメーカーサイトに準備された多様なOSのメニューを持ったインストーラをダウンロードするようになっていますが, 今回ソフトウェアがスムーズに稼働することを確認した Debian Wheezy はそのインストーラでの作業の途中書き込みエラーを起こしました。 そこで,Debian Wheezyを単独でダウンロードする方法を採りました。

詳しいインストール方法は HummingBoardにDebianをインストールするをご覧ください。

ソフトウェアの準備とインストール


詳細に付いては、 ircDDBGateway と DStarRepeater のコンパイルとインストールをご参照ください。

ircDDB Gateway の設定


次の様に入力して設定画面を立ち上げます。

$ sudo ircddbgatewayconfig
詳しい設定内容については,ircDDB Gateway 初めての設定をご参照ください。

Sound Card Repeater の設定


DSterRepeater の設定画面を立ち上げます。

$ sudo dstarrepeaterconfig
設定の詳細は,DStarRepeater 初めての設定をご参照ください。

全体的な調整作業


Advanced Linux Sound Architecture(ALSA)の調整
まず、音源が正常に作動しているかチェックしてみます。次のコマンドはルート権限で実行するのは好ましくないとの記述がありました。

$ alsamixer

操作方法は、[F3][F4][F5]で「再生」「録音」「すべて」を切り替え、[F6]でもし複数の音源がある場合セレクト出来ます。 また、[←][→]で横移動し、[↑][↓]でゲインコントロールします。 [5]を押して「50%」という指定も出来ます。また「ミュート」の設定解除は[M]を押します。 [Esc]を押すと終了します。
DStarRepeaterはDefaultしか使えません

左図は,現在一応安定して動いている状態を示しています。

$ sudo alsactl store 0


上記のコマンドで設定を保存します。この時はルート権限で実行します。 ただし、パソコンを再起動させなければ設定は継続されますので調整中は立ち上げっ放しでもいいでしょう。
Defaultを示す0:ゼロを付けないと保存できません

インプット(RX)の調整

さてデスクトップのアイコン又はウィジェットからソフトを立ち上げてみます。 リピータ、ゲートウェイの順に立ち上げると、うまく行った場合接続の声が聞こえて来るかも知れません。 でも、現実は相当に苦労すると覚悟した方が良さそうです。

RXとはアクセスポイントとしてのサウンドカード・リピータの受信であるので、運用する者としてはハンディ機等で送信してみます。 RX State: Proccess DataRPT1: JL3ZBS B RPT2: JL3ZBS Gが表示されたら送信されています。 もし、他の接続デバイスがあれば同じところに接続してモニターしてみると分かりやすいと思います。 RX の調整の方が調整要素が少ないので、まずここを抑えてインターネット側に声が出ている様なら、 エコーサーバ(REF047 Eなど)に接続しエコーでサウンドカード・リピータのTXを調整するといいでしょう。

もしアクセスできない時は、図の RX Level を調整してみます。それでもダメな時は RX Inversion を切り替えてみましょう。

アウトプット(TX)の調整

右図は,現在一応安定して動いている状態を示しています。

通常DV機の送信する電波を、他のアナログFM機で受信すると「ピッザーーー」という音に聞こえます。 最初の「ピッ」がヘッダー部分で、続く「ザー」が音声データです。基本的にこの音がサウンドカード・リピーターから出力され(TX=ヘッドフォン端子で聞ける)、 それがケーブルを通じてノード用アナログ無線機から送信され、DV機でそれを受ければ音声が返ってきたことになります。

すなわちDV機と同周波数のアナログFM機をもう一台用意できれば(最悪DV機をFMモードにする)、 その返ってきた「ピッザーー」の音の大きさを聞きながら調整出きるというわけです。 もし音がどの位置でも聞こえなかったら、TX Inversion のON/OFFを切り替えてみましょう。

なお,DStarRepeater とその設定用 DSterRepeaterConig が別ソフトになっているので,DStarRepeaterを稼働させたまま設定変更することが出来なくなっています。 そこで,動的に調整する方法として,私はそこそこの値にDStarRepeaterConfigで調整しておき,稼働させながらalsamixer側をスライドさせてバランスを取っています。

電源を入れるだけの自動起動


例えばノード専用パソコンとして電源を入れたらログインをすることなく基準設定した接続先に繋がってくれれば便利です。 ここでは、Windowsのサービスのようなデーモン(Daemon)を起動します。

まず次のファイルを作成してください。

$ sudo nano /etc/init.d/dstarnode
 GNU nano 2.2.6          File: /etc/init.d/dstarnode
#!/bin/bash
#
### BEGIN INIT INFO
# Provides:         dstarnode
# Required-Start:   $syslog
# Required-Stop:    $syslog
# Default-Start:    2 3 4 5
# Default-Stop:     0 1 6
# Short-Description:    D-STAR Node
# Description:
### END INIT INFO

DAEMON1=/usr/local/bin/dstarrepeaterd
DAEMON2=/usr/local/bin/ircddbgatewayd
PID1=dstarrepeaterd
PID2=ircddbgatewayd
T=8

case "$1" in
    start)
        echo "Starting D-STAR Node ... "
        nice --adjustment=-20 $DAEMON1 -daemon &
        sleep $T
        $DAEMON2 -daemon &
        ;;
    stop)
        kill `pgrep -f $PID1` > /dev/null
        kill `pgrep -f $PID2` > /dev/null
        echo "D-STAR Node has been stopped. "
        ;;
    restart)
        echo "Restarting D-STAR Node ... "
        kill `pgrep -f $PID1` > /dev/null
        kill `pgrep -f $PID2` > /dev/null
    sleep 2
        nice --adjustment=-20 $DAEMON1 -daemon &
        sleep $T
        $DAEMON2 -daemon &
        ;;
        *)
        echo "Usage: $0 {start|stop|restart}"
        exit 1
        ;;
esac
exit 0

* sleep $T ircDDBGatewayの立ち上がりが早いと「Linking to....」が一度流れて、 しばらくして接続が完了したときもう一度「Linked to...」と2度アナウンスされるのでタイミングを調整します。(無くても良い)

次に、作成したテキストファイルを立ち上げ可能に属性変更し、自動立ち上げリストで自動起動をONにします。

$ sudo chmod +x /etc/init.d/dstarnode
$ sudo apt-get install chkconfig         # すでにインストールされていれば不要
$ sudo chkconfig dstarnode on

これで、再起動すれば自動起動します。なお、ログインして手動で止めたり、起動したりは次の様にします。

$ sudo /etc/init.d/dstarnode start
$ sudo /etc/init.d/dstarnode stop
$ sudo /etc/init.d/dstarnode restart

 グラフィックなアプリを立ち上げて調整し、終わったら上のコマンドでデーモンの様子を見ると言うような作業ができます。



Back
HOME