2022年9月17日の投稿[1件]
裸族のパイ&裸族のカプセルホテルはUASドライバを外すことで一応の改善が見えました。ベンチマークも本体に内蔵のHDDとほぼ同じ値を出します。
ただ、USBハブをかますとそうはいきません。一見正常に起動してもアクセスが恐ろしく遅かったり、不安定でコンソールすら立ち上がらないことがあります。
構成として裸族のカプセルホテル(外付けHDD)とLANアダプタを取り付けたいのですが、1本のUSB3.0でやりくりするにはUSBハブが必須なのでなんとかしたい。
さて、何が原因か。
まず考えられるのはUSBハブの電力不足。RaspberryPiのUSBポートは電力供給が弱いらしいのでUSBの電源を別取りしたところ、半分以上の確率で起動は失敗しますが、起動が成功した際にはアクセス速度が劇的に改善します。解決の決定打ではありませんが、これはこれで必要な対策です。
正常に起動する時とそうでない時の違いを考えてみると、USBハブに電源が入った状態でRaspberryPiを起動すると(リブートも)ダメで、RaspberryPiが起動し始めてからUSBハブを挿すと正常に動くことが多い。ならばと、RaspberryPiが起動し始めて起動ログの表示が見え始めた直後にUSBハブの電源を入れたところ100%の確率で正常に起動することがわかった。リブートもシャットダウンログの表示が止まったところでUSBハブの電源を落とし、以下同様にすると正常にリブートが完了します。
要するに、RasberryPiがカーネルを読み込んだ直後にUSBハブの電源を入れれば(再投入すれば)良いとなります。
ただ、起動の度に手作業でやるのは現実的ではないし、何よりも遠隔のリブートでは不可能です。
さて、どうする。
方法として考えられるのは上記のタイミングを得る信号をRaspberryPiから取り出すこと。
・・・こんなこと出来るのか?
RaspberryPiには基板上にLEDが付いていて、電源パイロットランプとSDカードのアクセスランプになっていますが、設定を変えることで違う状態情報も表せます。オーバーライドしてGPIOに出力することも出来ます。
このLEDは前者がpwr_led(赤)、後者がact_led(緑)と呼ばれますが、これをGPIOに出力して丁度良いスイッチソースにならないでしょうか。
ちょっと試験しただけなので大丈夫とは言い切れませんが、act_ledの設定をdefault-onにしてGPIOに出力すると期待するモノになりそうです。通電直後と再起動のシャットダウン直後は消灯から始まり、起動ログの表示が始まると点灯、シャットダウンが完全終了すると消灯します。これは欲しいタイミングではないのか?
そもそもはパイロットランプですが、GPIOに出力するなら単なる信号であり、バッファを入れればリレーを動かすことが出来ます。過渡期にチャタリング的なノイズはあると思いますが簡単なパッシブ回路で何とかなるかな?。
カーネルが起動している時を把握したいと思っていたので、この方法はなんとか手にしたいと思います。
腰を据えて試す時間はしばらくありませんケドね。
#RaspberryPi
ただ、USBハブをかますとそうはいきません。一見正常に起動してもアクセスが恐ろしく遅かったり、不安定でコンソールすら立ち上がらないことがあります。
構成として裸族のカプセルホテル(外付けHDD)とLANアダプタを取り付けたいのですが、1本のUSB3.0でやりくりするにはUSBハブが必須なのでなんとかしたい。
さて、何が原因か。
まず考えられるのはUSBハブの電力不足。RaspberryPiのUSBポートは電力供給が弱いらしいのでUSBの電源を別取りしたところ、半分以上の確率で起動は失敗しますが、起動が成功した際にはアクセス速度が劇的に改善します。解決の決定打ではありませんが、これはこれで必要な対策です。
正常に起動する時とそうでない時の違いを考えてみると、USBハブに電源が入った状態でRaspberryPiを起動すると(リブートも)ダメで、RaspberryPiが起動し始めてからUSBハブを挿すと正常に動くことが多い。ならばと、RaspberryPiが起動し始めて起動ログの表示が見え始めた直後にUSBハブの電源を入れたところ100%の確率で正常に起動することがわかった。リブートもシャットダウンログの表示が止まったところでUSBハブの電源を落とし、以下同様にすると正常にリブートが完了します。
要するに、RasberryPiがカーネルを読み込んだ直後にUSBハブの電源を入れれば(再投入すれば)良いとなります。
ただ、起動の度に手作業でやるのは現実的ではないし、何よりも遠隔のリブートでは不可能です。
さて、どうする。
方法として考えられるのは上記のタイミングを得る信号をRaspberryPiから取り出すこと。
・・・こんなこと出来るのか?
RaspberryPiには基板上にLEDが付いていて、電源パイロットランプとSDカードのアクセスランプになっていますが、設定を変えることで違う状態情報も表せます。オーバーライドしてGPIOに出力することも出来ます。
このLEDは前者がpwr_led(赤)、後者がact_led(緑)と呼ばれますが、これをGPIOに出力して丁度良いスイッチソースにならないでしょうか。
ちょっと試験しただけなので大丈夫とは言い切れませんが、act_ledの設定をdefault-onにしてGPIOに出力すると期待するモノになりそうです。通電直後と再起動のシャットダウン直後は消灯から始まり、起動ログの表示が始まると点灯、シャットダウンが完全終了すると消灯します。これは欲しいタイミングではないのか?
そもそもはパイロットランプですが、GPIOに出力するなら単なる信号であり、バッファを入れればリレーを動かすことが出来ます。過渡期にチャタリング的なノイズはあると思いますが簡単なパッシブ回路で何とかなるかな?。
カーネルが起動している時を把握したいと思っていたので、この方法はなんとか手にしたいと思います。
腰を据えて試す時間はしばらくありませんケドね。
#RaspberryPi