virt_flyのブログ -55ページ目

virt_flyのブログ

フライトシミュレーターソフトのFlightGearで仮想飛行を楽しむブログです。

CP2102のドライバーを動かすのにchmod 666

IchigoJamといえば、キーボードがPS/2でないと使えないというのに、PS/2でも使えないものがあることをPCNのサイトで知り驚きました。

 

当該キーボードは、価格もサイズも手頃なサンワサプライの製品なのですが、仕様変更かなにかがあったようです。ソフトウエアでは対処できないものの、KBD1またはKBD2を10kΩの抵抗を使ってプルアップし、5Vと接続することで動くようになるとか。

 

IchigoJamを人に紹介するときがあるかもしれないので、記憶とどめておくのがよさそうです。

 

さて、仕様変更というわけでなくてアップデートになりますが、どうもそのせいではないかと思われるトラブルに悩まされました。

 

USB-シリアル変換モジュールを使い、IchigoJamのファームウェアを書き替えようとしたところ、ポートに接続できずに失敗するのです。

 

使用したターミナルソフトのIJUtilitiesをインストールしなおしてもだめだったので、ドライバーが疑われます。とはいえ、Ubuntuのカーネルには本来含まれているはずで、実際にもインストールした覚えもありませんし、これまでは動いていました。考えにくいことですがUbuntu20.04をアップデートしたせいでしょうか。

 

USB-シリアル変換モジュールのICがCP2102だったので、SILICON LABSのサイトからドライバーをダウンロードしてインストールを試みたところ、既に存在するといわれてしまいました。案の定カーネルには含まれているのです。

 

頭を抱えてしまいますが、参考にしたドライバーのインストール用ファイルの中にあるマニュアルには、別のデストリビューションの記載もあり、そこには最後にchmod 666を実行するように書かれていましたので、試しに実行してみました。

 

結果的にはオーライで、IJUtilitiesで接続ができました。要するに、UbuntuカーネルにはすでにUSB-シリアル変換モジュール用のドライバーが含まれており、IJUtilitiesで接続するにはsudo chmod 666 /dev/ttyUSB0を実行すればよいと。このことは、自分でUSB-シリアル変換モジュール用のドライバーを入れたことなどないUbuntuの上で、新規にIJUtilitiesをインストールして確認してみた結果からも間違いありません。ただし、パソコンを起動するたびに実行が必要でした。

 

まったくわけはわかっていませんが、動くならよしとするしかありません。念のためにドライバーのインストールの手順を控えておくことにしましょう。

 

 

【CP2102のドライバーをUbuntuにインストールする手順】

 

①ダウンロード

 

使用したUSB-シリアル変換モジュールは石がCP2102だったので、SILICON LABSのサイトからLinux用のLinux_3.x.x_4.x.x_VCP_Driver_Source.zipをダウンロードした。

 

 なお、ターミナルソフトのIJUtilitiesは、ijutilities.micutil.comからダウンロード(以下省略)

 

②Ubuntuのカーネルのバージョンを確認する

 

 $ uname -r を実行する

 5.4.0-52-generic というふうにカーネルバージョンが示される

 または

 $ uname -a を実行する

Linux W110ERu2004amd 5.4.0-52-generic #57-Ubuntu SMP Thu Oct 15 10:57:00     UTC 2020 x86_64 x86_64 x86_64 GNU/Linux とパソコン名やカーネルバージョン、アーキテクチャー(64ビットか32ビットか)が示される

 

③シリアルポートの確認

 

USB-シリアル変換モジュールをパソコンに接続し、シリアルポートを以下のコマンドを打ち込み、確認する

 

$ dmesg を実行する

ログ表示されたなかから、有効になっているシリアルポートのデバイス名を確認。大概はttyUSB0

 

④ファイルの解答

 

 ダウンロードしたLinux_3.x.x_4.x.x_VCP_Driver_Source.zipファイルを解凍する

 展開先ディレクトリはホーム下に作成した/job

 

⑤ドライバーのインストール

 

 $ cd /home/(username)/job

 $ make

 $ sudo cp cp210x.ko /lib//modules/5.4.0-52-generic/kernel/drivers/usb/serial

 $ sudo insmod /lib/modules/5.4.0-52-generic/kernel/drivers/usb/serial/usbserial.ko

 $ sudo insmod cp210x.ko

 

ドライバーファイルに添付のCP210x_VCP_Linux_4.x_Release_Notes.txtでは、Ubuntuの場合はこれ以上の記述はなかった。しかし、これでは動かなかったのでRedHatについての記述にならい、次を実行した

 

 $ sudo chmod 666 /dev/ttyUSB0

 

以上

 

ビジネスソフトでゲーム

OSがMS-DOSだった昔、よく使うプログラムを立ち上げるのにランチャーというかメニューをこしらえることが必須だったように記憶します。その頃、桐というデータベースソフトを使ってメニューを作成し、これを常時表示させるのに味気ないからと、さらにアナログ時計までつくって飾ったものでした。Windowsのある今の時代では考えられないことですが、その当時でもデータベースソフトでプログラミングして針のある時計をつくるなんて、呆れられたものでした。

 

でも、似たような人がいるもので、表計算ソフトのExcelを使ってデジタルクロックやテトリス様のゲーム、さらに3D Flight Simulatorまで作ってみせる猛者もいるのですね。表計算ソフトといえば、確かによくシミュレーションするのに使ったものですが、普通は発想する?

 

ご存知の方には旧聞に属することで恐縮ですが、今回偶然に知ったA Basic 3D Flight Simulator in Excel 2003をExcell Unusualよりダウンロードして試してみました。

 

 

Excelのマクロを使ってつくられたこの3D Flight SimulatorはExccel 2016でも動きました。互換ソフトのLibreOffice CalcやWPS Spreadsheetsではどうやら動かないようです。

 

ゲーム本体のFlight_Simulator_1.xlsの他、Flight_Simulator_Tutorial.xlsもダウンロードできます。数式などまったくチンプンカンプンで理解できませんが、それだけになかなか本格的なもののようです。

 

往年のBASICプログラムを彷彿させ、リアルフライトシミュレーターにはない趣を感じてみたい方は、一度試してみてはいかがでしょう。ソフトのインストールを禁じられた職場のパソコンでも動かせ、ビジネスソフトで動くのですから誰もゲームとは疑わないし、休憩時の気晴らしに良いかも(悪い奴)。

 

↑操縦席に影のできるCub。

ALSのインテリアシェーディング効果!?

FlightGear2020.4.0がSaikrishna ArcotさんのPPA版で手に入ることを知り、さっそくダウンロードしUbuntuにインストールしました。

 

何が変わったのかはなかなかわかりませんが、先々月にスクリプト版のFlightGear2020.3.0についてこのブログでとりあげていましたので、それとの比較で気づいたことを書いておくことにします。

 

 
  ↑初めて起動したFlightGear2020.4.0

なんと言っても、スクリプト版のFlightGear2020.3.0はCompositorが試せることが特徴でしたので、それがどうなったかが一番の関心事でしたが、PPA版2020.4.0ではCompositorは試すことができず、残念ながら従来通りのようでした。

 

Compositorがつくる影を見ることはできなかったものの、レンダリングがALSレンダラーでRembrandt時のような影が、なんとCubの操縦席にできているのを見つけました。

 

Cessna 172Pなどでもせいぜい日陰の部分が薄暗くなっている程度のものしか見たたことがないのですが、あまりALSモードで飛ぶことが多くなかったせいでしょうか。冒頭の画像のとおり、Cubでは明らかな影ができています。

 

とは言え、操縦席部分に限られるようで、機体自身が落とす影は他でも見られる板状のシルエットの3Dオブジェクトを用いるにとどまっています。機体のファイルが、CubからJ3Cubにかわったのがいつかしりませんが、ファイル内を一瞥したところでは板状の影以外にそれらしいものは見当たりません。

 

もしや、長らくお目にかかることがなかったALSのインテリアシェーディング効果ではなかろうか。Compositorが登場しようかというのに、今頃お恥ずかしい話です。

 

FlightGear2020.4.0から話がそれてしまいましたので、もどしましょう。スクリプト版の2020.3.0で見られた、樹木が四角いパネルになっていたり、地表に黒い幾何学模様が浮き出たりすることはなくなりました。Compositorではなくなったからでしょう。

 

例により、あやしげな話になり、恐縮です。