Eee PCでS3 スリープ (Suspend to RAM) が動作しました
2008/04/21(月) 27:40 NetBSD はてブ情報 はてブに登録 はてブ数

内蔵のSSDにインストールしたら、あっさりと S3 のスリープが動きました。

環境など、もう少し詳しく。
  • NetBSD/i386 4.99.58 (2008-04-08ベース, GENERICカーネル + athパッチ)
  • pkgsrcから入れたX.org + Intelドライバ (xf86-video-intel-2.2.1nb1)
  • /etc/rc.confにpowerd=YES, apmd=YES
  • /etc/powerd/scripts/sleep_button acpi0 pressedなどと入力してサスペンドを実行
  • サスペンドからの復帰は電源ボタン
  • コンソール画面 (wscons) でもサスペンドおよび復帰は動作しますが、画面が戻りません (キー入力は生きているので見えないながらもshutdown -r nowなどと正しく入力できれば再起動できます)
なおathパッチをあてないと、athがサスペンドに対応していないメッセージを出して、サスペンドできませんでした。なのでパッチは必須ですね (もしくはathを切るか)。

さて、単体でのS3 sleepは動いたのでもう少し条件を追加してみます。

USBポートにカードリーダ経由でSDHCを接続し、当該SDHC上のファイルシステムをマウントした状態でサスペンド・復帰をしたらどうなるのでしょうか?

結果は、残念ながらうまく動きません。正確にはキャッシュに乗っているファイルは参照できるっぽいが、新たに参照するファイルはInput/output errorとなるようです。

それではEee PC本体の内蔵SDカードスロットに装着したSDHCカードならばどうでしょうか?

こちらはカードリーダ経由とは違い、復帰時に/var/log/messagesにsd0がdetachされて、再度attachされるログが出力されています。これは、と思って期待してlsなどを打ってみると、やっぱり新たに参照するファイルではInput/output errorと表示されてしまうようです。

scsictlでカツを入れればなんとか使えるかという期待もありました。scsictlを試したところ、
  1. マウントが変になっているディレクトリから安全なディレクトリにcd
  2. scsictl scsibus0 detach 0 0でデタッチ
  3. scsictl scsibus0 scan 0 0して再アタッチ
  4. umountして再mount
という手順をふまないと正しいファイルシステムへのアクセスはできないみたいです。

つまり、何の工夫もしない状態では内蔵SDカードスロットであろうとUSBポート経由のumassであろうと、S3 sleepでは面倒を見てくれない、ということがわかりました。

もっと上手な方法があるのかなぁ... /etc/powerd/scripts/sleep_buttonをがんばって書けば便利に使えるんでしょうか? drvctl -Sとかを駆使すれば良いのか?


まぁ、内蔵SSDだけでもS3 sleepできるだけでも嬉しいといえば嬉しいんですけどね。

名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0594/tb/

今日のボク
2008/04/21(月) 27:26 今日のボク はてブ情報 はてブに登録 はてブ数

目覚まし時計が轟音をたてる中でスヤスヤと眠っているのは困り者です。

卵かけご飯ならサクサクとご飯が進みますね。

名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0593/tb/