お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2009-06-24 12:24:53

hippocampus
メンバ
登録日: 2007-07-08

Geforce 9400mGPUマザーでサスペンド後の復帰に失敗する

お世話になってます。最近、GIGABYTE社のマザーボードを使った自作機を組み立てたのですが、どうやってもサスペンド・ハイバネーションが安定しません。
GNOMEの終了メニューからサスペンドを選ぶと、サスペンドに移行したのち電源が切れます。
しかし、その後電源オンからレジュームしようとすると、HDDにアクセスし、モニタの電源が点いた後(画面にはなにも表示されない)にフリーズします。
Ctrl+Alt+Fxでの端末切り替えはできず、Alt+SysRq+Bも無反応です。結局電源を強制的に落とすしかなくなります。

症状としては、こちらのフォーラムの投稿(https://forums.ubuntulinux.jp/viewtopic.php?id=5118)での報告による「CUIの進行率が100%となった後、ブランクスクリーンになったまま、フリーズするのです。」に近い気がします。

やってみたこと:
・もともとの制限ドライバに戻す→変わらず
・Compiz(デスクトップの追加効果)を無効に→変わらず
・BIOSのサスペンドの項目をS1(POS)に変えてみる→メニューからサスペンドの項目自体がなくなる
・/etc/default/acpi-supportを以下のように編集→変わらず
 ACPI_SLEEP=true
 ACPI_HIBERNATE=true
 SAVE_VBE_STATE=false
 POST_VIDEO=false
 SAVE_VIDEO_PCI_STATE=true
・/etc/modprobe.d/blacklistに追記→変わらず
 blacklist intel_agp
 blacklist agpgart 
・/etc/X11/xorg.confのdeviceセクションに以下を追記→変わらず
 option  "NvAGP"   "1"
・nvidia-settingsでVSYNCの同期チェックをはずす→変わらず

なにか成功のためのアドバイスや、ここを見てみろというような助言があれば、よろしくおねがいします。


具体的なPCの構成は以下です。

ハードウェアの構成:
CPU:Pentium DualCore E5200
Memory:DDR2 1GB*2
HDD:SATA HDD(AHCI)
Mother:GA-E7AUM-DS2H
VGA:オンボード(Geforce 9400mGPU)
Audio:オンボード
Ethernet:オンボード
TV:SAA7134のカード

OS:Ubuntu 9.04
 PPAのnvidia-VDPAU有効化ドライバ適用
  deb http://ppa.launchpad.net/brandonsnider/ppa/ubuntu jaunty main
  deb-src http://ppa.launchpad.net/brandonsnider/ppa/ubuntu jaunty main

・BIOSではサスペンドは「S3(STR)」に設定している。
・外付けのIEEE1394-HDD、USB-HDD、プリンタを接続している。

lspci

コード:

- 元のメッセージを表示 -
$ lspci
00:00.0 Host bridge: nVidia Corporation MCP79 Host Bridge (rev b1)
00:00.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)
00:03.0 ISA bridge: nVidia Corporation MCP79 LPC Bridge (rev b2)
00:03.1 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)
00:03.2 SMBus: nVidia Corporation MCP79 SMBus (rev b1)
00:03.3 RAM memory: nVidia Corporation MCP79 Memory Controller (rev b1)
00:03.4 RAM memory: nVidia Corporation Device 0a98 (rev b1)
00:03.5 Co-processor: nVidia Corporation MCP79 Co-processor (rev b1)
00:04.0 USB Controller: nVidia Corporation MCP79 OHCI USB 1.1
Controller (rev b1)
00:04.1 USB Controller: nVidia Corporation MCP79 EHCI USB 2.0
Controller (rev b1)
00:06.0 USB Controller: nVidia Corporation MCP79 OHCI USB 1.1
Controller (rev b1)
00:06.1 USB Controller: nVidia Corporation MCP79 EHCI USB 2.0
Controller (rev b1)
00:08.0 Audio device: nVidia Corporation MCP79 High Definition Audio (rev b1)
00:09.0 PCI bridge: nVidia Corporation MCP79 PCI Bridge (rev b1)
00:0a.0 Ethernet controller: nVidia Corporation MCP79 Ethernet (rev b1)
00:0b.0 SATA controller: nVidia Corporation MCP79 AHCI Controller (rev b1)
00:10.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)
00:16.0 PCI bridge: nVidia Corporation MCP79 PCI Express Bridge (rev b1)
01:05.0 Multimedia controller: Philips Semiconductors
SAA7131/SAA7133/SAA7135 Video Broadcast Decoder (rev 10)
01:0e.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23
IEEE-1394a-2000 Controller (PHY/Link)
02:00.0 VGA compatible controller: nVidia Corporation GeForce 9400 (rev b1)
03:00.0 IDE interface: JMicron Technologies, Inc. JMB368 IDE controller

lsusb

コード:

$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 045e:00e1 Microsoft Corp. Wireless Laser Mouse
6000 Reciever
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0411:00a7 MelCo., Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 03f0:2a11 Hewlett-Packard PSC 2150 series
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

fdisk

コード:

sudo fdisk -l

ディスク /dev/sda: 640.1 GB, 640135028736 バイト
ヘッド 255, セクタ 63, シリンダ 77825
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x00039c0e

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sda1   *           1       12748   102398278+   7  HPFS/NTFS
/dev/sda2           12749       38244   204796620    5  拡張領域
/dev/sda3           38245       77825   317934382+   7  HPFS/NTFS
/dev/sda5           12749       19122    51199123+  83  Linux
/dev/sda6           19123       37607   148480731   83  Linux
/dev/sda7           37608       38244     5116671   82  Linux スワップ / Solaris

ディスク /dev/sdb: 250.0 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0x3a3d67ce

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sdb1               1       30401   244196001    7  HPFS/NTFS

ディスク /dev/sdc: 251.0 GB, 251000193024 バイト
ヘッド 255, セクタ 63, シリンダ 30515
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
Disk identifier: 0xe1d41d44

デバイス ブート     始点        終点    ブロック   Id システム
/dev/sdc1               1       30514   245103673+   7  HPFS/NTFS

オフライン

 

#2 2009-06-24 13:04:37

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: Geforce 9400mGPUマザーでサスペンド後の復帰に失敗する

http://people.freedesktop.org/~hughsient/quirk/index.html
が役に立てば良いのですが.

オフライン

 

#3 2009-06-24 13:24:11

einundzwanzighundertsechs
メンバ
登録日: 2008-12-28

Re: Geforce 9400mGPUマザーでサスペンド後の復帰に失敗する

補足です.
CangeLog によると上記ページの最終更新は 2007/11/14 と少々古いのですが,
suspend & resume のプロセスのデバッグ方法(resume を妨げる容疑者を見つける方法)等は
今でも役に立つのではと思って投稿しました.

オフライン

 

#4 2009-06-25 08:36:48

hippocampus
メンバ
登録日: 2007-07-08

Re: Geforce 9400mGPUマザーでサスペンド後の復帰に失敗する

einundzwanzighundertsechsさん

ありがとうございます。こういうサイトがあったんですね。参考になります。
試行錯誤しながら試してみようと思います。
しかし、このマザーボード+ubuntuって、もっと使用してる人がいてもおかしくないと思うんですけど、全く検索にひっかからないです。
もしかして不具合があるのはうちの環境だけなのかもしれないですが。

オフライン

 

#5 2009-06-29 02:45:01

hippocampus
メンバ
登録日: 2007-07-08

Re: Geforce 9400mGPUマザーでサスペンド後の復帰に失敗する

お世話になっております。
ご紹介されたサイトで提案されているように、pm-suspendのオプションを色々と試してみたのですが、やはり同様にサスペンドからの復帰が出来ません。
やはりレジューム後に、HDDアクセスが少しあり、LCDモニタの電源が入ったあと画面に何も表示されずフリーズします。
ちなみに、uswsuspパッケージを導入して、s2diskを試してみたのですが、こちらはHDDにイメージを書き込む前にハングアップするようです。

どうも単純に解決できる問題じゃなさそうな感じです。
カーネルのアップデートかもしかしたらBIOSのアップデートがないとダメだったりして・・・:-(

オフライン

 

#6 2009-06-29 10:43:43

hito
管理者
登録日: 2007-03-18

Re: Geforce 9400mGPUマザーでサスペンド後の復帰に失敗する

手元にハードウェアがあるわけではないのですが、既存のバグを流し読みしている範囲では、
 ・NVIDIAのプロプライエタリドライバがあきらかにダメ
 ・ドライバを入れなければちゃんと動く
 ・サスペンドさせたらUSB死ぬんだけど?
 http://www.nvnews.net/vbulletin/showthread.php?t=133970

というのが現状のようです。なので、デフォルトのドライバに戻してもダメ、という時点で、何かしらチップセット以外のところで(BIOSかNICかそのあたり)なにかを踏んでいるのではないかなぁと思えます。もしかするとvesaまでドライバを落っことせば動くのかもしれませんが、動いたとしても実用は厳しいので、切り分けの役にしか立たなそうです。

ただ、なんとなく、「サスペンドから復帰はできるが何かおかしい」というパターンばかりで、「復帰した後リセットするしかなくなる」というのは、NVIDIAのプロプライエタリドライバを使っている場合のみのようです。デフォルトでもダメ、ということから、何か他の周辺機器も悪さをしてそうな気がします。

とりあえずやってみるべきとしては、
 ・USB Resume from suspendがBIOSにあれば変更してみる
 ・TVカードとUSB周りを全部引っこ抜いて、最小構成にしてみる
 ・もし最小構成で動いてくれたら、BIOSでレガシーポーと各種やIRQの割り当てを変えてみる
 ・拡張カードスロットやUSBポートの場所を変えてみる
でしょうか。

GeFOrce9400Mそのものは広く使われている(というか、ヨーロッパのLinux使いに大人気な銀色MacBookで使われている)ので、チップセットレベルでは何とかなることを期待したいところです。

オフライン

 

#7 2009-06-30 00:35:44

hippocampus
メンバ
登録日: 2007-07-08

Re: Geforce 9400mGPUマザーでサスペンド後の復帰に失敗する

hitoさん

ありがとうございます。
もう一度nvidiaのバイナリドライバをきっちり削除したのち、セーフグラフフィックモードで確認してみました。
しかし、やはり全く同じところでつまるので、一旦nvidiaの方は置いておいて、別の切り口で試してみました。

外付けやTVカードなどを着けたり外したりした結果、なんとか原因がわかってきました。
予想外だったのですが、IEEE1394接続の外付けHDDを取り外せば、サスペンド/ハイバネートともに動作し、レジュームも成功することがわかりました。
USB関連で不具合があるという報告は、私も海外のフォーラムや掲示板で見かけていたので、そちらに気を取られていたのですが・・・。

とりあえず、サスペンドをする前にIEEE1394接続のHDDの電源を切っておけば、復帰は問題ないようです(アンマウントしただけではダメでした)。

#あとはサスペンド/ハイバネートの前に、ohci1394、sbp2、ieee1394のモジュールを一旦取り外し、レジューム後にロードするようにすればいいような。
#これを確実にやるにはどのスクリプトをいじればいいのかな。

オフライン

 

Board footer

Powered by FluxBB