WSJT-X、Commander、Turbo HAMLOGを同時に動かす

TS-690でJT65などを行うのにWSJT-Xを使っているが、周波数をちょっと動かしたくなることがある。理由は、こちらの記事。

イマイチわかりにくいタイトルだけど…。 つまり、JT65の送信時に電力計の針がフラフラするのがずっと気になっていて、信号の周波数によって送...

簡単にいえば、端の方ではパワーが上手く出ないから。効率のよいところで送信するために、数百Hzとか1kHzとか動かしたくなる。VFOダイヤルを回せばいいのだけど、つい多目に回ったりしてあまり具合が良くない。PC上で制御できればその方がいい。

以前、HDSDRをつかってリグ制御を行ったりもしてみた。本当はバンドスコープとして使いたかったのだけど、これは残念ながら断念。

TS-690のIF信号を取り出して、RTL-SDR経由でHDSDRに突っ込めばバンドスコープになるだろうという話。結果から言うと上手くいかな...

バンドスコープを諦めて、単にリグコントロールとして使う手もあるわけだけど、ここで問題なのは、シリアルポートの数の問題。一つしかないので、Turbo HAMLOGと共存できない。WSJT-XとHDSDRとの共存は、両者がOmniRigに対応しているので、WSJT-XをOmniRig経由での制御にすれば大丈夫。しかし、Turbo HAMLOGはそうはいかない。

そこで試したのがLPB2というソフトウェア。

LPB2 Software Page
http://www.telepostinc.com/LPB2.html

こんな具合に設定したら動作してくれた。

実機がCOM5につながっており、それを、COM11、COM12、…に分配する格好。

ただし、問題あり。何しろ遅い。起動が遅いという話は調べればいくつか見つかる。まぁ、それはいい。最初我慢すればいいのだから。しかし、実際にはそれだけじゃなくて、動作が遅い。LPB2の仮想ポート経由でつないだHDSDR(OmniRig)だと、無線機のVFOを回してもHDSDRの周波数がついてこない。結果、HDSDRの周波数に無線機のVFOが動悸されてしまい、周波数が戻る。VFOをグルグル回すと周波数が行ったり来たりするわけだ。これじゃまったく使いもにならない。ちなみに、このとき、WSJT-XをOmniRig経由にしても、LPB2の仮想ポートを使うようにしても、どちらでも結果は一緒だった。Turbo HAMLOGはちゃんと動いてくれるのだけど…。

シリアルポートの分割は、LPB2の他に、VSPEというのもある。

VIRTUAL SERIAL PORTS EMULATOR
http://www.eterlogic.com/Products.VSPE.html

多分、こちらの方がメジャー。それなら素直にこちらを使えばいいのだけど、有料ソフトなのでちょっと敬遠していた。そんなに高いわけでもないけど、使えなかったら悲しので。ちなみに、32bit版は無料。64bit版は有料。

しかし、LPB2が使い物にならないし、それに、64bit版も質問に取り敢えず「いいえ」で答えればお試し利用みたいなことができるらしいので、トライしてみた。

結果は良好。HDSDRの周波数もちゃんとついてきて、VFOを回したら行ったり来たりなどというバカなことにはならない。

設定方法は、あちこちで紹介さている。

1つのシリアルポートを複数で共用する
http://www.fbnews.jp/201603/tech/VSPE_01.html

仮想シリアルポート編/アマチュア無線家の遠隔操作技術/JA4ECX
http://ja4ecx.yumekou.org/vspe.htm

VSPE(Virtual Serial Ports Emulator)の設定:
http://ja1xuy.in.coocan.jp/CW_Skimmer/vspe.html

ポイントは、

  • Splitterを設定する
  • 一つの仮想ポートをすべてのアプリケーションが使う

と言ったところ。LPB2の方法だと仮想ポートを複数作りアプリケーションごとに振り分けるが、VPSEでは仮想ポートは一つ。例えば、COM11が仮想ポートならWSJT-XもTurbo HAMLOGもCOM11を指定するということ。ここ、最初悩んだ。

これで動いたと思ったのも束の間。Turbo HAMLOGの周波数がパタ付く現象に気づいた。なんだろうと思ったら、無線機のVFO-AとVFO-Bの周波数でパタパタしている。調べてみたところ、どうやらOmniRigとの相性が悪いようだ。VSPE仮想ポートは一つでそれを共用するのは上に書いた通りで、OmniRigとTurbo HAMLOGを共存させるとこの現象が起きる。HDSDRを使わずに、WSJT-XだけをOmniRig経由で動かしても発生する。WSJT-XにVSPEの仮想ポートを直接指定する(OmniRigを使わない)とTurbo HAMLOGの周波数パタ付き問題は起きない。

ならば、次の策として、リグコントロールをHDSDRではなくDX Lab Commanderで行ってみる。

Commander
http://www.dxlabsuite.com/commander/

バンドスコープを諦めているのでHDSDRである必要はなく、シンプルなCommanderの方が却っていいかもしれない。

CommanderとWSJT-Xの連携については、jh8jnfさんのブログが詳しい。

WSJT-XとDX lab suite commanderの連携
https://jh8jnf.wordpress.com/2016/03/23/wsjt-x%E3%81%A8dx-la…

こちらのブログではポートを変更しているが、私の環境ではその必要はなかったのでデフォルトのまま。

結果は、動作はするがTurbo HAMLOGの周波数パタ付き問題は解決されず。OmniRigだけではなくCommanderとも相性が悪いようだ。

さて、困った。

ここで、Commanderをよくよく見ると、Secondery CAT Serial Portというのがある。プライマリポート(無線機を接続するポート)のデータをこちらのセカンダリポートに流せるらしい。こちらの概念図がわかりやすい(かも)。

Configuring HDSDR and CW Skimmer with a Transceiver and SDR Hardware
http://www.dxlabsuite.com/dxlabwiki/HDSDRCWSkimmerConfigurat…

このセカンダリポートにTurbo HAMLOGをぶら下げれやればいいんじゃなかろうか?それなら、VSPEの仮想ポートを共用することは避けられる。

というわけで、まずは、VSPEで仮想のスプリッタではなく、クロスケーブルを作る。Pairを使う。

この例では、COM18とCOM19でクロスケーブルを構成した格好。

Commander側の設定はこんな感じ。

Primary CAT Serial Portには無線機のシリアルポートを設定。Secondery CAT Serial PortにはVSPEの仮想ペアポートの一方(COM18)を指定。Turbo HAMLOGの方では、もちろん、COM19を指定する。

結果、上手く行った。Turobo HAMLOGの周波数のパたつきはなくなった。もちろん、VFO-AとVFO-Bを切り替えれば、それがちゃんと反映される。

これで解決。ではあるが、クロスケーブルなら、わざわざVSPEを使うことない。ヌルモデム(com0com)でいいじゃないか。

com0comの設定等はこちらを参考に。

仮想シリアル(COM) ポートドライバ「com0com」によるシリアル通信
http://qiita.com/yaju/items/e5818c99857883a59033

ポイントは、上記のページにもあるように、デジタル署名付きのバージョンを使うこと。新し版は署名が入っていないので面倒。後は、デフォルトのポート名、CNCA0、CNCB0を、希望のポート番号(例えば、COM18とCOM19)に変えてやればOK。

さて、結果。これで、ちゃんと動いてくれた。つまりは、VSPEを使う必要はないということ。もっとも、「この構成ならば」という条件だけど。この他にさらにシリアルポートを共有するソフトを使いたくなったら、やはり、VSPEのスプリッタを使うことになるだろう。

さて、この構成でしばらく使ってみたところ、WSJT-Xの周波数がときどきブッ飛ぶことがある。こんな具合に、

無茶苦茶な表示になったり、

桁がズレたり(本当は、7.076)。大抵は、すぐに自動復帰するけど、まれに、このままになってしまうことがある。この場合は、WSJT-Xのバンド切り替えで戻すか、あるいは、無線機の周波数をちょっとずらしてやるとWSJT-Xの周波数が動悸する(このときは、無線機のVFOを回してもいいし、Commanderで周波数を変更してもよい)。

ということで、なんとか共存できる方法を見つけたので、しばらくはこれで様子を見てみることにする。