サスペンド、ハイバネーションできない件、回避策?[Vine 6.0b1, X200s]
ThinkPad X200sにインストールしたVine Linux 6.0β1、非常に良いのですが、サスペンドとハイバネーションどちらも失敗するので困っていました。
調べましたところ、回避策が見つかったかもしれません。うまく行ったらBTSに報告しなくては。
Jul 2 01:26:46 localhost kernel: sd 0:0:0:0: [sda] Stopping diskJul 2 01:26:46 localhost kernel: tpm_tis 00:0a: tpm_transmit: tpm_send: error -5Jul 2 01:26:46 localhost kernel: legacy_suspend(): pnp_bus_suspend+0x0/0x6f returns -5Jul 2 01:26:46 localhost kernel: PM: Device 00:0a failed to suspend: error -5Jul 2 01:26:46 localhost kernel: PM: Some devices failed to suspendJul 2 01:26:46 localhost kernel: sd 0:0:0:0: [sda] Starting disk
セキュリティ関係のものにtpmというものがあるらしいのですが、ここでエラーメッセージを出しているのはそれに関係したものなのでしょうか?
- tpm.c (TOMOYO Linux; google で検索したら出てきたので。)
確かに上記のエラーメッセージと同じものを出力する文があります。 - セキュリティー・チップ (TPM) (lenovo)
6.0β1 のカーネルソースを見てみると、こんなファイルがありました:
/usr/src/kernels/2.6.35-18vl6-x86_64/drivers/char/tpm/Kconfig:
Vine 6.0β1のカーネルでは、モジュールとして取り込まれているようです:## TPM device configuration#menuconfig TCG_TPMtristate "TPM Hardware Support"depends on HAS_IOMEMdepends on EXPERIMENTALselect SECURITYFS---help---If you have a TPM security chip in your system, whichimplements the Trusted Computing Group's specification,say Yes and it will be accessible from within Linux. Formore information see <http://www.trustedcomputinggroup.org>.An implementation of the Trusted Software Stack (TSS), theuserspace enablement piece of the specification, can beobtained at: <http://sourceforge.net/projects/trousers>. Tocompile this driver as a module, choose M here; the modulewill be called tpm. If unsure, say N.Notes:1) For more TPM drivers enable CONFIG_PNP, CONFIG_ACPIand CONFIG_PNPACPI.2) Without ACPI enabled, the BIOS event log won't be accessible,which is required to validate the PCR 0-7 values.(以下略)
# grep -i tpm /usr/src/kernels/2.6.35-18vl6-x86_64/.configCONFIG_TCG_TPM=m
そして、モジュールとしてtpmナントカというものが動いています:
# lsmod |grep tpmtpm_tis 7877 0tpm 10301 1 tpm_tistpm_bios 4913 1 tpm
それでは、と、これらのモジュールを止めてサスペンドしてみます。
# rmmod tpm_tis tpm tpm_bios
……あ、サスペンドしました!
ハイバネーションもするかな?
……ハイバネーションOK。 そして復帰もOKです。
それでは、/etc/pm/config.d/suspend_modules を
# cat suspend_modulesSUSPEND_MODULES="xhci-hcd tpm_tis tpm tpm_bios"
として、一旦再起動してみます。
うまく動いているようです。
TPMというものが関係していそうだと分かったので、これをキーワードに検索しなおすと、いくつか「解決策」というものが見つかりました:
- Topic: Fixed Suspend Issues (kubuntuforums.net)
SUSPEND_MODULES="tpm tpm_bios tpm_tis" だけではサスペンド時にハングアップすることがあるので /etc/pm/config.d/99local に
DISPLAY_QUIRK_VBE_POST="true"
DISPLAY_QUIRK_VBEMODE_RESTORE="true"
QUIRKOPTS="true"
と書いた、とあります。これにならいました。 - tpm prevents suspend
Looks like this has been addressed: $ rpm -q --changelog kernel-2.6.35.6-48.fc14.x86_64
...
* Fri Oct 22 2010 Kyle McMartin <kyle@redhat.com> 2.6.35.6-47
- tpm-autodetect-itpm-devices.patch: Auto-fix TPM issues on various
laptops which prevented suspend/resume.
... Testing on my W500 with -48 confirmed suspend/resume now works. I assume it
will for others too so closing now. Re-open if it doesn't. :-) - Lenovo ThinkPad T400 (gentoo-wiki.com)
ファイル中ほどの "Power Management" のところ、 File:tpm-workaround.conf と File: /etc/pm/config.d/tpm-workaround のあたりに回避策があります。
しばらくはこの
および# cat suspend_modulesSUSPEND_MODULES="xhci-hcd tpm_tis tpm tpm_bios"
# cat /etc/pm/config.d/99localDISPLAY_QUIRK_VBE_POST="true"DISPLAY_QUIRK_VBEMODE_RESTORE="true"QUIRKOPTS="true"
という設定でやってみます。うまくいきますように。
2011-07-02 06:00
nice!(0)
コメント(0)
トラックバック(0)
コメント 0