Raspberry pi 5

Raspberry pi 5が発売されたので久方ぶりに購入した。
メモリは8G。

今回からNVMe規格に対応したということで、NVMeのSSD128Gにそれの接続ができる拡張ボードも併せて購入した。

SSDはこれ。
シリコンパワー SSD 256GB 3D NAND M.2 2280 PCIe3.0×4 NVMe1.3 P34A60シリーズ
amazonで3,000円くらい。

NVMe拡張ボードはこれ。
Geekworm X1001 V1.1 PCIe NVMe M.2 SSD 2280拡張ボード、Raspberry Pi 5に適用

困ったことに、今回は初手から躓くことになった。
まず、起動しない・・・。
まずはmicroSDにてOSを起動して、NVMeからの起動を行う設定を行うつもりが、microSDでもブートができない。これには参った。電源ボタンはつくもののモニター画面はNo imageのまま、数十分待ってみるもうんともすんとも言わなかった。

というわけで、Raspberry pi 5の初期不良だろうということで交換してもらうことに。
※スイッチサイエンスさんはこの辺り迅速に対応してもらえた。

さて、後日届いた交換品にmicroSDを差し込んで電源を入れたところ、今度はしっかり起動してくれた。早速、ブートメニューからNVMe/SSD起動を選択してメディアをmicroSDからSSDに換装して起動を試みる。
が、今度はエラーが出てくる始末。
起動してログイン画面まで行けることもあれば、起動前にエラーが出て何もできなかったり、起動してログインできてもしばらくアイドリングしていると急にエラーが発生してその後の操作を受け付けなくなったり…。SSDも初期不良か?

chatGPTが言うにはI/OエラーでSSDの故障か接続機器の物理的損傷だと言うことで、SSDの初期不良を疑って、SMARTチェックをしてはみたがどうやらこれは健康らしい。それならばと、NVMe拡張ボードの不具合を疑って、USB経由で手持ちのRaspberry Pi 3をNVMe起動してみると、なんと同じエラーが発生するではありませんか!

じゃあSSDの初期不良だと言うことで、次にSSDを初期不良で交換対応してもらうことに。
※amazonさん返品受付からすぐに交換品を送ってくれる手際の良さ。不良品は期限までに返送すれば良いらしい。
満を持して交換品のSSDにOSを焼いて起動してみる!
エラーァァァァァ・・・クァwせdrftgyふじこlp

しばし、NVMeのUSBケースが不良品なのかとか色々思考を巡らせたものの、これといった解決策も見出せないでいた。
が、ふとchatGPTとの対話前に自分で調べたフェーズで気になっていた記事を思い出す。

Ubuntu 20.04 で突然「EXT4-fs error」となり、フリーズする問題の解消

APST(Autonomous Power State Transition、自律型電源状態遷移)と言うSSDの省電力機能はLinuxでフリーズなどの問題を引き起こすらしい。所為、相性問題のような性格を持つこの現象。ひょっとして同じDebin系のRaspberry Pi OSでも起こるのではないかと思いこの機能を無効化する方法を試してみた。

以下の/boot/cmdline.txtファイルにNVMeの省電力機能をオフにする一文を追記する。
sudo nano /boot/cmdline.txt
nvme_core.default_ps_max_latency_us=0
そして再起動する。

エラーが出なくなった。
24時間ほど連続起動してモニタリングしたがエラーは発生しなかった。
と言うわけで、当初のchatGPTが示唆した機器の故障に根差したI/Oエラーではなく、相性問題と省電力機能が引き起こしたエラーというわけでしたとさ。
めでたしめでたし。

おまけ:
どうせ予備にしようと思い、別メーカーのSSDも購入して試してみた。

二つ目はこいつ。
トランセンドジャパン Transcend PCIe M.2 SSD (2280) 128GB NVMe PCIe Gen3 x4 3D TLC採用 5年保証 TS128GMTE110S
なぜかPCがこのSSDをうまく認識しないという憂き目に遭いながらもOSを焼いて起動。
こちらはちゃんと一発で起動した。

ただし、トランセンドのSSDはI/Oエラーこそ起こらないものの、アイドリング状態からコマンド入力した際に数秒程度の遅延が発生した。おそらくこれもAPSTの機能に起因するものではないかと思うので、気になったらAPSTを無効にすれば良いだろう。