Vine Linux バグトラッキングシステム - Vine Linux
課題の詳細を表示
0001153Vine Linux1 バグ公開2011-06-20 12:562011-07-13 21:18
anonymous 
daisuke 
不明 
完了不明 
6.0 
 
x86_64
pm-utils
0001153: 6.0beta1でサスペンド、ハイバネーションができない
【インストールした Vine Linux のバージョン】
Vine 6.0beta 1 (6/17)
【使用しているハードウエア環境(型番や構成等)】
ノートPC Lenovo ThinkPad X200s
    * 画面: 12.1インチ 1440x900 (WXGA+), LEDバックライト
    * CPU : Intel Core2Duo SL9600 (2.13GHz)
    * メモリ : 4GB
    * 内臓ストレージ :2.5inch SSD : Intel X25-M Mainstream SATA SSD SSDSA2MH160G1C5 (160GB)
    * キーボード : 英語キーボード
    * グラフィック : Intel グラフィックス・メディア・アクセラレーター X4500
【バグが発生した時の操作手順や実行内容】
ログアウト時のパネルでサスペンドまたはハイバネーションを選択。
あるいは、[Fn]+[F4](サスペンド)、[Fn]+[F12](ハイバネーション)を押す。
【バグの詳細】
サスペンドを実行しようとしたとき:
  画面が暗くなり、ネットワークが切断されたというメッセージが表示されたのち、
  数秒後に画面が復帰して元に戻ります。
ハイバネーションを実行しようとしたとき:
  ハイバネーションの画面になり、プログレスバーが表示されますが、数秒後に元の画面に戻ります。
【バグの再現方】
常に再現します。
【その他】
同じハードウェアにて、Vine 5.2ではサスペンドもハイバネーションも正常にできていました。
ファイル /var/log/pm-suspend.log を見ると、サスペンド時には
Mon Jun 20 00:59:07 JST 2011: performing suspend
の直後に
/usr/lib64/pm-utils/pm-functions: line 298: echo: write error:Input/output error
とあり、その次の行にてAwakeなので、ここが問題なのかもしれません。
一方、ハイバネーション時の/var/log/pm-suspend.logにはエラーが見当たりません。
もしも他に必要な情報がありましたらお知らせください。

添付ファイルはサスペンド時の/var/log/pm-suspend.log です。
設定されていません。
log pm-suspend-after-suspend.log (64,205) 2011-06-20 12:56
http://mantis.vinelinux.org/file_download.php?file_id=30&type=bug
log pm-suspend-after-hibernation.log (72,255) 2011-06-20 13:08
http://mantis.vinelinux.org/file_download.php?file_id=31&type=bug
gz dmesg.tar.gz (16,571) 2011-06-23 00:26
http://mantis.vinelinux.org/file_download.php?file_id=32&type=bug
課題の履歴
2011-06-20 12:56anonymous添付ファイル追加: pm-suspend-after-suspend.log
2011-06-20 12:56anonymous新規課題
2011-06-20 13:08anonymous添付ファイル追加: pm-suspend-after-hibernation.log
2011-06-20 13:08anonymousコメント追加: 0000491
2011-06-22 02:52daisukeパッケージなし => pm-utils
2011-06-22 02:52daisuke担当者 => daisuke
2011-06-22 02:52daisuke状態新規 => 担当者決定
2011-06-22 02:52daisukeコメント追加: 0000492
2011-06-23 00:26anonymous添付ファイル追加: dmesg.tar.gz
2011-06-23 00:26anonymousコメント追加: 0000493
2011-06-27 22:03kazutakaコメント追加: 0000494
2011-06-27 23:11anonymousコメント追加: 0000495
2011-06-29 22:58kazutakaコメント追加: 0000496
2011-06-30 00:23anonymousコメント追加: 0000497
2011-07-03 01:37anonymousコメント追加: 0000498
2011-07-04 23:04kazutakaコメント追加: 0000499
2011-07-05 23:35anonymousコメント追加: 0000500
2011-07-12 22:53kazutakaコメント追加: 0000501
2011-07-12 23:28anonymousコメント追加: 0000502
2011-07-13 21:18kazutaka状態担当者決定 => 完了
2011-07-13 21:18kazutakaコメント追加: 0000503

コメント
(0000491)
anonymous   
2011-06-20 13:08   
> 添付ファイルはサスペンド時の/var/log/pm-suspend.log です。

引き続き、ハイバネーション時の/var/log/pm-suspend.log を添付します。
(0000492)
daisuke   
2011-06-22 02:52   
手元の環境では問題を再現できませんでした。

この件と関係あるかわかりませんが、/etc/pm/config.d/suspend_modules 内の
SUSPEND_MODULE="xhci_hcd"
の部分を
SUSPEND_MODULES="xhci-hcd"
と変更してみてください。
上記の typo は pm-utils の更新で修正予定です。

なお、echo でエラーになっている部分は /sys/power/state に書き込んでいる
部分ですが、cat /sys/power/state するとどうなるでしょうか?
mem disk
といった出力が期待されます。
(0000493)
anonymous   
2011-06-23 00:26   
ご連絡ありがとうございます。

ご指摘の件、試してみました。

まず、
$ cat /etc/pm/config.d/suspend_modules
SUSPEND_MODULES="xhci-hcd"

と変更しました。
が、suspend, hibernation ともに変化ありません。

/var/log/pm-suspend.log の出力も
Wed Jun 22 21:37:44 JST 2011: performing suspend
/usr/lib64/pm-utils/pm-functions: line 298: echo: write error:
Input/output error
Wed Jun 22 21:37:44 JST 2011: Awake.
とエラーが出たままです。

次に、

> なお、echo でエラーになっている部分は /sys/power/state に書き込んでいる
> 部分ですが、cat /sys/power/state するとどうなるでしょうか?

こちらを実行してみましたところ、予想していただいたとおり

# cat /sys/power/state
mem disk

となりました。

また、サスペンドおよびハイバネーション実行直後のdmesg出力を
tarでまとめて添付します。念の為、再起動直後のdmesg出力も
合わせて添付します。

再起動→dmsg(1)→サスペンド→dmesg(2)→再起動→dmesg(3)→
ハイバネーション→dmesg(4)、
の順に実行しました。

tar ztf dmesg.tar.gz
./dmesg-just-after-hibernation-2.log : dmesg(4) : ハイバネーション直後
./dmesg-just-after-rebooting-2.log  : dmsg(3) : 再起動直後
./dmesg-just-after-rebooting.log   : dmesg(1) : 再起動直後
./dmesg-just-after-suspend.log    : dmesg(2) :サスペンド直後


他に必要な情報がありましたらまたご連絡ください。
(0000494)
kazutaka   
2011-06-27 22:03   
横から失礼します。

X220 に Vine Linux 6 beta1 をインストールしたところ、
同様の現象が起きたのですが、私の環境では swap が tuxonice
(linux で hibernate を実装している仕組みです) から認識
できていないのが原因のようです。

私の場合は swap partition を確保せずに、インストール後に
swap file を作成して hibernate しようとしていたのですが、
元投稿者の方の環境でも似たような事が起きているのかも知れません。

お手数ですが、
1. swapon -s の実行結果
2. cat /etc/fstab の実行結果
3. cat /boot/grub/menu.lst の実行結果
の3つを教えていただいても良いでしょうか?

(もちろん不適切な記述はふせてもらって構いませんので)

ハラダ
(0000495)
anonymous   
2011-06-27 23:11   
元記事の投稿をした者です。
ハラダさま、ご連絡ありがとうございます。


> お手数ですが、
> 1. swapon -s の実行結果
> 2. cat /etc/fstab の実行結果
> 3. cat /boot/grub/menu.lst の実行結果
> の3つを教えていただいても良いでしょうか?

実行してみました。念のため、/etc/vine-releaseと uname -a
および fdisk -l の出力もお付けします。
起動用のデバイス(SSD)には、Vine6.0β1, Vine 5.2, Windows XP の
3つが共存しています。
(以下、ちょっと長いです)
------------------------------------------
# cat /etc/vine-release
Vine Linux 6.0 (BETA) (Haut Brion)

# uname -a
Linux localhost.localdomain 2.6.35-18vl6 0000001 SMP Mon May 16 23:26:32 JST 2011 x86_64 x86_64 x86_64 GNU/Linux

# swapon -s
Filename Type Size Used Priority
/dev/sda2 partition 8385924 0 -1

# cat /etc/fstab
LABEL=/12 / ext3 defaults 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /dev/shm tmpfs defaults 0 0
LABEL=/home /home ext3 defaults 1 2
none /proc proc defaults 0 0
none /sys sysfs defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0


# cat /boot/grub/menu.lst
# menu.lst generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You do not have a /boot partition. This means that
# all kernel and initrd paths are relative to /, eg.
# root (hd0,7)
# kernel /boot/vmlinuz-version ro root=/dev/sda8
# initrd /boot/initrd-version.img
#boot=/dev/sda8
default=2
timeout=5

title Vine Linux (Current kernel)
    root (hd0,7)
    kernel /boot/vmlinuz ro root=LABEL=/12 resume=swap:/dev/sda2 vga=0x314 splash=silent quiet
    initrd /boot/initrd.img

title Vine Linux (Previous kernel)
    root (hd0,7)
    kernel /boot/vmlinuz.old ro root=LABEL=/12 resume=swap:/dev/sda2 vga=0x314 splash=silent quiet
    initrd /boot/initrd.old.img
title Vine52
    rootnoverify (hd0,6)
    chainloader +1

title WinXP
    rootnoverify (hd0,0)
    chainloader +1

# /sbin/fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
ヘッド 240, セクタ 63, シリンダ 20673, 合計 312581808 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x41a3090d

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 * 63 66754799 33377368+ 7 HPFS/NTFS/exFAT
/dev/sda2 66766140 83537999 8385930 82 Linux スワップ / Solaris
/dev/sda3 83538000 300736799 108599400 5 拡張領域
/dev/sda4 300736800 312575759 5919480 12 Compaq 診断
/dev/sda5 83538063 184313744 50387841 83 Linux
/dev/sda6 184313808 234147374 24916783+ 83 Linux
/dev/sda7 234147438 267707159 16779861 83 Linux
/dev/sda8 267707223 300736799 16514788+ 83 Linux

------------------------------------------
ご参考になりましたでしょうか?
他になにか必要なことがあればお知らせください。
(0000496)
kazutaka   
2011-06-29 22:58   
情報提供ありがとうございます。


> 実行してみました。念のため、/etc/vine-releaseと uname -a
> および fdisk -l の出力もお付けします。

追加の情報も含めて拝見しましたが、swap の容量も 8GB 確保
されてますし、特におかしな点はなさそうです。

ちなみに手元の環境では swap partition を確保して実験したところ、
ちゃんと hibernate/resume できることが確認できまたので、
何が違うのかちょっと分からないです。

関係無いかも知れませんが、参考までに以下のコマンドの
実行結果を教えていただけますか?

cat /sys/power/tuxonice/resume
cat /sys/power/tuxonice/swap/enabled
cat /sys/power/tuxonice/swap/headerlocations
cat /sys/power/tuxonice/swap/swapfilename
cat /sys/power/tuxonice/file/enabled
cat /sys/power/tuxonice/file/target


ちなみに私の環境だとこんな結果が表示されます。
# cat /sys/power/tuxonice/resume
swap:/dev/sda1
# cat /sys/power/tuxonice/swap/enabled
1
# cat /sys/power/tuxonice/swap/headerlocations
For swap partitions, simply use the format: resume=swap:/dev/hda1.
# cat /sys/power/tuxonice/swap/swapfilename

# cat /sys/power/tuxonice/file/enabled
1
# cat /sys/power/tuxonice/file/target

後、Google で検索してみたところ、他の distributio でも
バグ報告が見つかるのですが、
- USB 3.0 hub (xhci) がロードされてるとダメ
- kernel のバージョンが上がったら直った
- pm-utils の video-quirks をいじたら直った
という不確かな情報しか出てきませんでした。

ハラダ
(0000497)
anonymous   
2011-06-30 00:23   
元記事を投稿したものです。
確認とお返事をありがとうございます。

> 関係無いかも知れませんが、参考までに以下のコマンドの
> 実行結果を教えていただけますか?
>
> cat /sys/power/tuxonice/resume
> cat /sys/power/tuxonice/swap/enabled
> cat /sys/power/tuxonice/swap/headerlocations
> cat /sys/power/tuxonice/swap/swapfilename
> cat /sys/power/tuxonice/file/enabled
> cat /sys/power/tuxonice/file/target

はい、やってみました。

# cat /sys/power/tuxonice/resume
swap:/dev/sda2
#
# cat /sys/power/tuxonice/swap/enabled
1
# cat /sys/power/tuxonice/swap/headerlocations
For swap partitions, simply use the format: resume=swap:/dev/hda1.
#
# cat /sys/power/tuxonice/swap/swapfilename

# cat /sys/power/tuxonice/file/enabled
1
# cat /sys/power/tuxonice/file/target

#

これはハラダさんのところでの結果と本質的に同じですね。

また、
>> - USB 3.0 hub (xhci) がロードされてるとダメ

# lsmod | grep xhci
#

ロードされていないようです。
>> - kernel のバージョンが上がったら直った
これは今は手の出しようがありません。

>>- pm-utils の video-quirks をいじたら直った

これは未だわかりません。

サスペンドやハイバネーションの際にメッセージを冗長に出力させるような
オプションがないかと思ったのですが、見つけられずにいます。

他にも何か調べられることがありましたらご連絡ください。
(0000498)
anonymous   
2011-07-03 01:37   
元記事を投稿したものです。

その後試行錯誤したり調べたりしたところ、
回避策が見つかったようなのでお知らせします。

/etc/pm/config.d に、下記のように2つファイルを作ります。

$ cat /etc/pm/config.d/suspend_modules
SUSPEND_MODULES="xhci-hcd tpm_tis tpm tpm_bios"

$ cat /etc/pm/config.d/99local
DISPLAY_QUIRK_VBE_POST="true"
DISPLAY_QUIRK_VBEMODE_RESTORE="true"
QUIRKOPTS="true"


この設定をしましたところ、
サスペンド、ハイバネーションとも、数回うまく行っています。
サスペンド失敗が1回あった他は、異常はありません。
サスペンド失敗は、[Fn]+[F4]を押してもサスペンドしなかった、という
ものです。
サスペンド/ハイバネーション途中でハングアップする、あるいは、
復帰しない、などの異常はありませんでした。

内容を完全には理解していないので、上記がベストの設定かどうかは
自信がないのですが、しばらくはこの設定で様子を見てみようと思います。

以下はこの設定に至るまでのメモです。
http://log-c.blog.so-net.ne.jp/2011-07-02-2 [^]
(0000499)
kazutaka   
2011-07-04 23:04   
> その後試行錯誤したり調べたりしたところ、
> 回避策が見つかったようなのでお知らせします。

情報提供ありがとうございます。

tpm が原因との事でしたが、私の環境(X220)ではBIOSで無効に
していたので、たまたま再現しなかったようです。

> $ cat /etc/pm/config.d/suspend_modules
> SUSPEND_MODULES="xhci-hcd tpm_tis tpm tpm_bios"

これでも大丈夫そうですが、検索したら kernel patch が
ありましたので、これが Vine の kernel に適用できないか
少し調べてみます。

> $ cat /etc/pm/config.d/99local
> DISPLAY_QUIRK_VBE_POST="true"
> DISPLAY_QUIRK_VBEMODE_RESTORE="true"
> QUIRKOPTS="true"

こちらは kms な環境では効果がないようですので、
とりあえず設定しなくても良いかも知れませんね。

ハラダ
(0000500)
anonymous   
2011-07-05 23:35   
元記事を投稿したものです。

> 情報提供ありがとうございます。

こちらこそありがとうございます。
 
> tpm が原因との事でしたが、私の環境(X220)ではBIOSで無効に
> していたので、たまたま再現しなかったようです。

なるほど、そういうことでしたか。BIOSまでは見ていませんでした。
 
> > $ cat /etc/pm/config.d/suspend_modules
> > SUSPEND_MODULES="xhci-hcd tpm_tis tpm tpm_bios"
>
> これでも大丈夫そうですが、検索したら kernel patch が
> ありましたので、これが Vine の kernel に適用できないか
> 少し調べてみます。

ありがとうございます。

こちらは Vine 6.0β2 をインストールしてみました。
いまのところ、

$ cat /etc/pm/config.d/suspend_modules
SUSPEND_MODULES="xhci-hcd tpm_tis tpm tpm_bios"

これだけでサスペンドとハイバネーションが出来ています。
もちろん無事に復帰します。

> > $ cat /etc/pm/config.d/99local
> > DISPLAY_QUIRK_VBE_POST="true"
> > DISPLAY_QUIRK_VBEMODE_RESTORE="true"
> > QUIRKOPTS="true"
>
> こちらは kms な環境では効果がないようですので、
> とりあえず設定しなくても良いかも知れませんね。

はい、6.0β2では、今のところ無しで済んでいるようです。

以上、現状の報告でした。
(0000501)
kazutaka   
2011-07-12 22:53   
> > これでも大丈夫そうですが、検索したら kernel patch が
> > ありましたので、これが Vine の kernel に適用できないか
> > 少し調べてみます。

こちらについては irc 上で相談してみたところ、Project の
鈴木さんの方で kernel の更新時に patch を取り込んでくれ
ました。

更新された kernel-2.6.35-20vl6.x86_64 だと、手元の X220 では
tpm, tpm_tis, tpm_bios のモジュールががロードされてても
問題なく hibernate/resume できることを確認しています。

可能でしたら、上記の kernel をインストールしてみるか、
もしくは近いうちにリリースされる(であろう) beta3 を
インストールして、確認してみてもらえると助かります。

ハラダ
(0000502)
anonymous   
2011-07-12 23:28   
元記事を投稿したものです。

Vine 6.0β2にて、カーネルを
kernel-2.6.35-20vl6.x86_64 
に更新し、/etc/pm/config.d 以下の設定を削除しました。

再起動後サスペンドとハイバネーションをしましたところ、
tpm, tpm_tis, tpm_bios がロードされている状態でも
無事にサスペンド、ハイバネーション及びそれらからの復帰が
問題なく出来るようになりました。助かりました。
ありがとうございます。
(0000503)
kazutaka   
2011-07-13 21:18   
> 再起動後サスペンドとハイバネーションをしましたところ、
> tpm, tpm_tis, tpm_bios がロードされている状態でも
> 無事にサスペンド、ハイバネーション及びそれらからの復帰が
> 問題なく出来るようになりました。

確認ありがとうございます。

完了にします。

ハラダ