2006.06.04 6月3日は CF-R4 の suspend/resume の日 Panasonic CF-R4 (Let's Note)で, ある程度 suspend/resume が動く ということを言ってたら, 某所でデモンストレーションを行うことに なりました(まぁ酒の肴に)。「止まり方が Thinkpad と似ている」と いうことで, rushani さんに /boot/loader.conf に hint.apic.0.disabled="1" を追加したら? ということで設定してみ ました。結論。suspend/resume できちゃった。。うはーってことで。 設定後, コンソールで試してみる(絵で説明しにくいのが難点です)。 # acpiconf -s3 (即座〜10秒後 suspend) (電源ボタンをオンする) (即座〜30秒後 resume) 次に X11 でも。X11 ではマウスが固まる現象が発生したので, その 場合 psm ドライバにフラグを設定する必要があるとのことで同じく /boot/loader.conf に hint.psm.0.flags="0x2000" を仕込んでみま した。resume 直後は若干不安定(動かない or 暴れる)ですが, その 後だいたい 30 秒以内くらいには完全に戻って来るようです。 というわけで下記設定だけで suspend/resume できるようになりま した。 /boot/loader.conf に追加 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - hint.apic.0.disabled="1" hint.psm.0.flags="0x2000" - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - さて。一概に CF-R4 といっても, 第一世代の CF-R4 (CF-R4GW5AXR, ume さんが持ってたりする)と第三世代の CF-R4 (CF-R4JW4AXR, 私 が持っている)では若干ハードウェアが違うようで(まぁ当り前か…), suspend/resume が確認できたのは後者の第三世代型(2006年1月26日 発売開始, 2006 年春モデル)です。 第一世代型では上記設定を行っても改善しないことが確認できて います。第二世代型(CF-R4HW4AXR)については情報がありません。 同じ第三世代型の CF-W4(CF-W4JW8AXR か W4JW8HXR かのどちら かまでは把握していませんが) でも suspend/resume が確認でき たことをお知らせいただきましたので, 第三世代型の CF-Y4, CF-T4 でも suspend/resume できることが期待できます。 Intel Core Solo を搭載した CF-[RTWY]5 での suspend/resume についても期待できるところですが, なんとも言えません。ちな みに「resume 直後にコンソールが復帰して何か表示が見える」 という状態(カーソルがフリーズしたような画面等)であれば上記 設定で改善される可能性が高いようです。 さて。今回 apic ドライバを使用しないという設定を行ったわ けですが, apic (Advanced Programmable Interrupt Controller) は SMP 環境では必須なため, Intel Core Duo 環境では使えない 回避技となりそうです。 ちなみに, apic ドライバについて調べたところ, 大変力強いコー ドを発見しました。ダメポ。このあたり, コードの改善を期待し ます。 /usr/src/sys/i386/i386/io_apic.c - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - : #define TODO printf("%s: not implemented!\n", __func__) : static void ioapic_suspend(struct intsrc *isrc) { TODO; } static void ioapic_resume(struct intsrc *isrc) { ioapic_program_intpin((struct ioapic_intsrc *)isrc); } : - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - その他, 第三世代型 CF-R4 では USB CD-ROM による FreeBSD の インストールが行えるなど, 第一世代型であった問題が解消して います。FreeBSD で使う一押しなノートであると言えるでしょう:-)。 そうそう。電源ボタン押す(スライド?)と shutdown -p now 相当 で動いていますが, sysctl hw.acpi.power_button_state=S3 する と suspend に切り替わります。/etc/sysctl.conf に追加して suspend/resume 環境を満喫しましょう:-)。 /etc/sysctl.conf に追加 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - hw.acpi.power_button_state=S3 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Written by 重村法克