- AquaNet IT Business - https://todo.vc/aquanet -

Calsat32をLinux上で(NanoVNA Saverも)

Debian上のCalsat32とNanoVNA-Saver

早速、眠っていた acer ASPIRE one を持ち出して、PC/サーバー用 netinstイメージ 64 bit(amd64) / 32 bit(i386) から32ビット版のイメージをダウンロード、インストールを始めました。(今回は軽く仕上げるためDebian LXDEデスクトップで構成しています。)
 
 

BIOSアップデートに見舞われる


 

インストーラはWiFiもケーブルも認識しましたが、念のためケーブル接続し、ダウンロードしながらのインストールが無事終了しました。・・・と思ったのも束の間、下記のようなエラーが表示され、立ち上げの途中からスリープを繰り返す状態が続きました。

ACPI BIOS Error (bug): Failure creating [\_SB.PCI0._OSC.CAPB], AE_ALREADY_EXISTS (20180810/dsfield-183)
ACPI Error: Method parse/execution failed \_SB.PCI0._OSC, AE_ALREADY_EXISTS (20180810/psparse-516)

少し調べたところ、起動直後に表示される GRUB のページで、[e]を押すと、編集モードに入れます。

ここで、GRUB_CMDLINE_LINUX_DEFAULT のラインを見つけ、GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash acpi=off” のように電源コントロールを無効にすると通常表示することが分かりました。

これを確定するためには

$ sudo nano /etc/default/grub
 GNU nano 3.2                   /etc/default/grub
 If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi=off"
GRUB_CMDLINE_LINUX=""

しかし、残念な事に今回のインストールではその様にすると、シャットダウンした時に電源も切れない、つまりコマンドでハードウェアをコントロールすることは一切無効(たぶん)になることが想像できました。

Linuxのバグであるとも書かれていましたが、PCのBIOSアップデートが可能な場合はすべしとの記述もありましたので、早速 acer のサイトで探してみました。⇨ acer製品サポート

Rufus などのアプリで、DOS(RufusではFreeDOS)立ち上げ出来るUSBを作成し、そこにダウンロードしたBIOS関連ソフトを展開します。 PCをUSBから起動して、DOSフォルダのKAV60.BATを実行すれば、BIOSに書き込みが行われます。(これはとても危険な作業です。途中で電源が切れたりしたら再起不能になる事も有りますのでオウンリスクでお願いします。
再度Debianをインストールすると、立ち上げ時のエラーメッセージは消えませんが、動作は通常の物となりました。


 
 

Windows エミュレータ wine を使って Calsat32 を動かす


 
早速、Windowsエミュレータの wine をインストールします。先ずは定番のコマンドから・・

$ sudo apt update && sudo apt upgrade -y
$ sudo reboot
$ sudo apt install wine winetricks -y
$ winetricks allfonts fakejapanese

winetricks は、Windows用のインストーラーが文字化けするのを防ぐのに必要となります。

次に Calsat32(JR1HUO局作)のダウンロードページにて最新版のリンクをコピーします。(リンク上で右ボタンクリック[リンクのアドレスをコピー])

$ wget http://jr1huo.my.coocan.jp/jr1huo_calsat32/program/Calsat32Ver1.5.5.zip
$ unzip Calsat32Ver1.5.5.zip
$ cd Calsat32Ver1.5.5/
$ wine setup.exe

これで、Calsat32.exe が Documents/Calsat32/ の中に関連ファイルと共にインストールされます。
setup.exe 同様に wine を通して Calsat32 を起動すれば Windowsで見慣れた画面が立ち上がって来るはずです。

$ cd Documents/Calsat32/
$ wine Calsat32.exe



 
 

NanoVNA Saver(Linux版)をインストールする


 
=MEMO= 下記の作業を済ませておくと、次回アップデート通知があった時は以下3行のコマンドでアップデート出来る。
$ cd nanovna-saver
$ git pull
$ pip3 install .

先ずはGITHUBから最新のソースをクローンします。

$ git clone https://github.com/NanoVNA-Saver/nanovna-saver.git
$ cd nanovna-saver
$ ls
CHANGELOG.md  LICENSE  NanoVNASaver  Pipfile  README.md  _config.yml  icon_48x48.png  nanovna-saver.py  requirements.txt  setup.cfg  setup.py  test

オリジナルのインストール方法はこのフォルダの README.md を参照してください。私の場合試してみたところ pip3PyQt5 に関してエラーが発生したので、手順を追加しました。

Pythonで書かれているようなので、インストール又はインストール済みかチェックします。

$ sudo apt install python3.7 python3-pip
$ pip3 install --upgrade pip

python3-pipをインストールした場合は、コマンドpipはpip3になるので注意する必要が有ります。念のためのアップグレードです。

次のコマンドは、全て必要なファイルであるかどうかは分からないのですが、この結果NanoVNA Saverのインストールが成功しました。

$ sudo apt install libqt5core5a qt5-default qt5-qmake qtbase5-dev-tools qttools5-dev-tools

さて、いよいよ本体のインストールです。

$ pip3 install .

install の後ろのドット[.]を忘れないようにしてください。

NanoVNASaver が /home/USER/.local/bin にインストールされるのでパスを引いておく必要が有ります。
再起動後も機能するように .bashrcに記載します。

$ nano .bashrc
export PATH=$PATH:$HOME/.local/bin
$ source .bashrc

.bashrcを有効化させて、再度起動してみると、

$ NanoVNASaver

USB接続したNanoVNAを認識させようとするとパーミションエラーが出てしまいました。

$ ls -al /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0  5月 29 08:49 /dev/ttyACM0

USBポートのグループが root:dialout になっているのでdialoutグループにユーザを追加します。

$ sudo usermod -aG dialout USER

これで、正しく起動したと思います。


 
 

折角なので起動アイコンも作っておきましょう


 
新たに2つファイルを作成します。

$ sudo nano /usr/share/applications/NanoVNASaver.desktop
  GNU nano 3.2              /usr/share/applications/NanoVNASaver.desktop
[Desktop Entry]
Version=1.0
Name=NanoVNA Saver
Exec=NanoVNASaver
Icon=/home/USER/nanovna-saver/icon_48x48.png
StartupNotify=false
Terminal=false
Type=Application
Categories=Utility;
Path=/home/USER/.local/bin


$ sudo nano /usr/share/applications/Calsat32.desktop
  GNU nano 3.2                /usr/share/applications/Calsat32.desktop
[Desktop Entry]
Version=1.0
Name=Calsat32
Exec=wine /home/USER/Documents/Calsat32/Calsat32.exe
Icon=/home/USER/Documents/Calsat32/calsat32.png
StartupNotify=false
Terminal=false
Type=Application
Categories=Utility;
Path=/home/USER/Documents/Calsat32

Calsat32に関しては、このままではアイコンが表示されません。(起動はできます)
私は、アプリケーションと同じフォルダーに、Calsat32.pngという名前で、作ったアイコンを入れました。

これで、スタートメニューの「アクセサリー」の中に[Calsat32]と[NanoVNA Saver]というアイコンメニューが出来ていると思います。
なお、アイコンをデスクトップにコピーしたり、アイコン画像を作成してもうまく表示しないような場合は、次を確認して
見てください。

$ cd ~/.local/share/applications/
$ nano Calsat32.desktop
$ nano NanoVNASaver.desktop