2010年10月24日

MaverickでのInspiron mini 12のサスペンド問題 - 一応解決

GMA500ドライバを開発していただいているLucazadeさんのおかげで、愛用のInspiron mini 12がMaverickでも動作するようになっている。体感的にはLucidのときよりも動作がスムーズで、非常にいい感じで使わせてもらっている。ただ、問題がひとつあって、サスペンドができない。電源管理でパワーボタンをサスペンドに割り当てておいて電源ボタンを押すと、なぜかログアウトしてしまう。ログアウト後にシャットダウンしようとすると、けっこうな確率で操作不能になる。
そのうちアップデートで解決するだろうと思っていたが、一向に改善の様子がない。そこで、公式サイトのPoulsboドライバWikiページに書いてある問題回避方法を試してみることにした。
HardwareSupportComponentsVideoCardsPoulsbo
サスペンド不能の回避策には、2つの方法が書いてある。ひとつは99videoというファイルの位置を変更すること。これは以前やってみてうまくいかなかった。そこで、もうひとつの方法を試してみることにした。uswsuspの利用である。

実のところ、サスペンドの問題で悩まされるのは初めてではない。以前にこの問題にぶち当たったときに、サスペンドそのものは同じ機構でも、それを起動するためのメカニズムには何種類かあることを知った。デフォルトはカーネルに含まれるswsuspであり、その他リポジトリにはuswsuspと、(hibernateと一体化した)suspend2がある。これらを使うことで、デフォルトで発生する問題を回避できる場合がある。今回も、うまくいくケースがあるらしい。
そこで、Wikiに書いてあるとおりの手順を実行した。いつもなら端末を使わない方法でやってみるのだけれど、ちょっと手間を惜しんで書いてあるとおりにした。もしも端末を使わないのなら、まずはSynapticパッケージマネージャを開いてvbetoolを完全削除。次にuswsuspをインストールということになる。ここでいったん端末からsudo s2ram –forceでサスペンドすることを確認し、次に/etc/pm/config.dに00sleep_moduleというファイルを作成し、ここにSLEEP_MODULE=”uswsusp”と記述。次に/etc/pm/configにdefaultsというファイルを作成して、そこにS2RAM_OPTS=”–force”とQUIRK_NONE=”true”の2行を記入する、ということになる。
ついでながら、私がこういうふうに端末を使わないでやるほうを好むのは、トラブルが起こったときの復旧が、その方が(感覚的に)やりやすいということがあるのかもしれないと思う。闇雲に呪文を唱えるよりは自分が何をやっているのかわかるような気がするので。(あくまで「気がする」だけだけれど)。
結果、端末からsudo s2ram –forceを打ち込むと、パスワードの入力を求められたあとでちゃんとサスペンドしてくれるようになった。最初ちょっと動作が不安定な感じがしたのだけれど、その後は7、8回続けてうまく眠ってくれているので、たいてい大丈夫なのだろう。
ただし、これまでサスペンドに使っていた電源ボタンは、サスペンドに使えなくなった。たぶん電源ボタンを押したときのアクションがどこかに定義してあるはずなのでそれをいじればいいのだろうけれど、見つけられずにいる。だから、とりあえずはパネルのランチャにsudo s2ram –forceを仕込んで、それを押すことにしている。いちいちパスワードが必要になるのは面倒なのだけれど、まったくサスペンドしないよりは運用がはるかにマシのように思う。
こういう回避方法をとると、本当にトラブルが解決したときに、その恩恵を受けられないというデメリットがある。そのためにも、今後もこの方面の情報には気をつけつづけなければいけないだろうな。どこまでいっても「Poulsboの呪い」だなあ。
posted by 松本 at 15:44| Comment(0) | Ubuntuでの失敗・トラブル | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。