名城大学理工学部 応用化学科 永田研究室
トップ 教育 研究 プロフィール アクセス リンク キャラクター ブログ
トップ  >  ブログ  >  Linux + Wine で古い測定装置を動かす

 

ブログ「天白で有機化学やってます。」 ブログ「天白で有機化学やってます。」
< Nature にリジェクトされた論文 | ブログトップ | 国立大学法人法の改正問題 >

Linux + Wine で古い測定装置を動かす2023/11/11(土)

うちの研究室では、某メーカーの大変古い測定装置をしぶとく使っています。補修用の基板が「最後の1枚」だったりする危機を綱渡りで乗り越えているのですが、先日制御用のパソコンが壊れてしまいました。2台の機器を制御していたパソコンで、ソフトウェアは一方が Windows 7 用、もう一方は Windows95 用(恐らく元は 3.1用)で、Windows 7 の互換モードでギリギリ動いていた、という状況です。Windows 7 が動くパソコンを新しく入手することはもうできません。

なんとか知恵と工夫で乗り切るべく、Linux + Wine で制御ソフトを動かす、という実験をしました。幸い、どちらの機器も本体とのインターフェイスがRS-232Cです。USB-RS232Cのアダプタを使えば、なんとかなるのではないか、という腹づもりです。

用意したのは、サードウェーブの VF-AD5 と、StarTech.com の ICUSB232PRO です。USB-RS232C アダプタはいろいろなメーカーから出ていますが、「Linux で動く」と保証されていないといけません。Windows(と Mac)しか動作保証されてないものが多いので、だいぶ探しました。

Linux Mint 21 を使います。デスクトップ環境がいくつかありますが、負荷が小さいとされている Xfce を選びました。インストーラ (2.8 GB) をダウンロードして、Balena Etcher などのアプリを使って「ブート可能な」USB を作成します。

VF-AD5にインストールするとき、問題が2つありました。まず、USBからブートする設定です。VF-AD5のBIOSを開くには、電源ボタンを押した直後に、Deleteキーを連打します。どのキーでBIOSが開くかは機種に依存するので、メーカーのウェブサイトなどで調べる必要があります。[BOOT]を開いて、"Boot Option #1" を [USB Key] にします。

もう1つは、Linux を起動するためのカーネルオプションです。USB から起動すると、こんな画面になるのですが(実機はもっと文字が小さい)、このまま1行目の「Start Linux Mint...」を選ぶと、Linux Mint を立ち上げ中に応答がなくなります。2行目の "compatibility mode" だと立ち上がるのですが、内蔵の eMMC が認識されません。これではインストールへ進むことができません。

かなり調べ回った結果、起動時にカーネルオプションを追加すればよいことがわかりました。この画面で e キーを押すと、起動コマンドを編集する画面になります。

linux... の行に、sdhci.debug_quirks=0x20000 を追加します。このあと、ctrl-X で前のページに戻って、1行目の「Start Linux Mint...」を選べば、正しく Linux Mint が立ち上がります。その後、"Install Linux Mint" アプリを実行して、順に質問に答えていけば、内蔵 eMMC に Linux Mint をインストールできます。

次に、Wine のインストールです。Ubuntu WineHQ Repository の記述に沿って進めます。

nagata@mint:~$ sudo dpkg --add-architecture i386
nagata@mint:~$ sudo mkdir -pm755 /etc/apt/keyrings
nagata@mint:~$ sudo wget -O /etc/apt/keyrings/winehq-archive.key https://dl.winehq.org/wine-builds/winehq.key
nagata@mint:~$ sudo wget -NP /etc/apt/sources.list.d/ https://dl.winehq.org/wine-builds/ubuntu/dists/jammy/winehq-jammy.sources
nagata@mint:~$ sudo apt update
nagata@mint:~$ sudo apt install --install-recommends winehq-stable

32bit版の日本語環境を設定します。

nagata@mint:~$ export WINEARCH=win32
nagata@mint:~$ sudo apt install winetricks
nagata@mint:~$ winetricks

最初に "Wine Mono" のインストールを求められます。この時点で盛大に文字化けしていますが、気にせず「インストール」で先に進めます。その後、"Select the default wineprefix", "Install a font", "cjkfonts" を順に選んで、必要なフォントをインストールします。

winecfg を実行して、デフォルトの Windows のバージョンを "Windows 95" に設定します。

さて、次はUSB-シリアル変換器です。これをUSBポートに刺すと、/dev/ttyUSB0 として認識されます。Wine ではこれが COM33 になってしまいます(wine explorer の後 ls -l ~/.wine/dosdevices で確認できる)。古い Windows ソフトだと、ポート番号を選べたとしてもせいぜい COM1〜4 ぐらいまでなので、番号の付け直しが必要です。レジストリを編集します。

nagata@mint:~$ wine regedit

HKEY_LOCAL_MACHINES\Software\Wine\Ports の値に COM1 REG_SZ /dev/ttyUSB0 を追加します。

いよいよ装置の制御ソフトのインストールです。インストーラを丸ごとコピーして、SETUP.EXE を「Wine Windows プログラムローダ」で開きます(右クリック)。意外なほど、あっさりインストールできました。必要な機能は一応動いています。特定の操作をするとクラッシュしたりするので、完璧とは言えませんが。

< Nature にリジェクトされた論文 | ブログトップ | 国立大学法人法の改正問題 >