非職業的技師の覚え書き

JK1EJPの技術的検討事項を中心に記録を残します。

RS-HFIQ(10)Quisk(Linux版)立ち上げ

Raspberry Pi 400の立ち上げ

大型のWindows Desktop PCをSDR運用のために使用するのは宅内移動運用の点で不自由なため、Raspberry Piへの移行に着手しました。Raspberry Pi 4Bは供給が回復基調にあるようですが、まだまだ品薄のためか値段も高目で推移しているようです。もっとも、値段が高いのは円安のためかもしれませんが・・・。
今回はキーボード一体型のPi 400を選択しました。

www.raspberrypi.com

Pi 400のSoC(System on a Chip)はQuad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1.8GHzを採用し、Raspberry Piシリーズの中では最高速クロックの設定になっています。キーボード下の大面積放熱板(重量があります)によって熱設計に余裕があることも寄与していると思います。Pi 400のメモリは4GBで、Raspberry Pi 4Bの最大8GBよりは少ない設定になります。それでも、今まで使用していたRaspberry Pi 3Bの1GBより大幅に増えています。

ここでまたケーブル非互換のトラブルが発生しました。USBのみならず、HDMIコネクタにもmicro、mini、normalの3トリオが存在しています。Raspberry Pi 3Bはnormal-HDMIメスコネクタでしたが、Pi 400はmicro-HDMIメスコネクタの2連装になっています。Pi 400のスターターキットにはmicroオス / normalオスの変換ケーブルが付いていましたが、これではRaspberry Pi 3Bをディスプレイに接続していたnormalオス / VGAメスの変換ケーブルと接続できません。microオス / VGAメスの変換ケーブルか、microオス / normalメスの変換ケーブルが必要になります。年越し中断です。

下記ブランドの変換ケーブルが新年に着荷。1920 X 1200の解像度で問題なく表示できました。

MicroHDMI(male) / VGA(female) conversion adapter.

ところが、VNCでリモート接続すると、最大1920 X 1080までしかディスプレイ設定の解像度選択肢がありませんでした。横より縦の解像度を増やしたいのですが、致し方なしです。

Display at 1920 X 1080 resolution via VNC connection.

WSJT-Xの導入

QuiskはWSJT-Xをサポートしています。CWと共にFT8等のディジタルモードの導入を検討することにしました。
最新のRaspberry Pi OS(Debian version: 11 bullseye)にWSJT-Xを導入するために、Pi 400の性能向上を頼りにソースコードからのビルドを試みました。下記のWeb pageの手順をトレースしたところ、問題なくビルドできました。

linuxhint.com

手順をまとめると以下になります。

  1. Packages Listの更新
  2. 必要なライブラリのインストール
  3. ビルド用フォルダのセットアップ
  4. WSJT-X 2.5.4ソースコード(wsjtx-2.5.4.tgz)のダウンロード
  5. tar(Tape Archive)書庫の展開
  6. WSJT-X 2.5.4のビルド

ビルドの途中で席を外したため、正確な時間は測っていません(戻ってきたら終了していました・・・)が、体感的には30-60分程度でしょうか。Pi 400の消費リソースを時々チェックしたところ、コンパイル中のCPU占有率は25%程度でリンクの時だけ100%に跳ね上がることがある様子でした。コンパイル作業はシングルコアで実行し、ファイル操作が必要なリンク作業はマルチコアに作業が分散しているようでした。メモリは1GBも使用していない様子で余裕がありました。SDカードのアクセス時間がビルド速度を律速しているのではないかと推測しています。WebブラウザChromiumChromeOSS版)の動作も遅いため、Pi 400の性能を引き出すためにはSDカードをSSDに換装する必要があるかも知れません。
実行ファイル「wsjtx」は/usr/local/binに作られます。ビルド直後はメニューに登録されていませんでしたが、再立ち上げするとSound & Videoメニューに登録されました。そこから右クリックでデスクトップにアイコンを配置することも可能です。

Successful build of WSJT-X on the Pi 400.

Quiskのインストール

最新のRaspberry Pi OS(Debian version: 11 bullseye)にWSJT-Xを導入できたことから、OSをダウングレードする必要がなくなりました。このままQuiskのインストールに進みます。
なお、Pi 400のスターターキットに附属するSDカードに書き込み済みのRaspberry Pi OS(Debian version: 11 bullseye)のPythonはディフォルトでPython3でしたので、インストール時に明示的にPython3を指定する必要はありませんでした。

Step 1: Install Required Libraries and Dependencies

Quiskのドキュメントに従い、下記のコマンドで必要なライブラリをインストールしました。

sudo apt-get install libfftw3-dev
sudo apt-get install libasound2-dev
sudo apt-get install portaudio19-dev
sudo apt-get install libpulse-dev
sudo apt-get install python3-dev
sudo apt-get install libpython3-dev
sudo apt-get install python3-wxgtk4.0
sudo apt-get install python3-usb
sudo apt-get install python3-setuptools
sudo apt-get install python3-pip

libfftw3-devライブラリ(Discrete fourier transform)はWSJT-Xのビルド時にインストールしています。他も大多数は最新版をインストール済みでした。実際にインストールが必要だったライブラリは下記の3つです。

  • portaudio19-dev (Portaudio sound library)
  • python3-wxgtk4.0 (wxPython GUI library)
  • python3-usb (Python USB)

Step 2: Linux Source Installation

Quiskの学びの過程でCのソースコードにもアクセスする必要があるため、Quiskもソースコードからビルドしました。ソースファイルの書庫quisk-4.2.14.tar.gzをダウンロードして、下記コマンドでビルドしました。

cd ~/Downloads
tar zxf quisk-4.2.14.tar.gz
cd quisk-4.2.14
make quisk3

問題なくビルドが完了し、Pythonコードからコールする下記の共有ライブラリが作成されました。

_quisk.cpython-39-arm-linux-gnueabihf.so

Completion of Quisk build from source files.

Quisk起動

ディレクトリを移して起動テストを行いました。Windowsと同じ画面が立ち上がりましたが、細部の描写表現が少し異なるようです。

cd /home/amat/quisk
python quisk.py
Quisk (Linux version) startup.

今回はWSJT-XとQuiskのビルドまで実行しました。次回、設定に進みたいと思います。