ここから本文です

kp41 の犯人

  • 32
  • 0
  • 2017/06/13 17:24
  • rss
  • <<
  • 32 7
  • >>
  • 0.000000.......パーセントの偶然の一致をもって、99.9999......パーセントの可能性を否定する。

    呆れますなあ、、、あんさんには!

  • >>27

    kp41 報告。私の場合(Win7 pro, 32bit)、 kp41 の原因は結局 WmiPrvSE.exe (WMI: Windows Management Instrumentation)がらみの様です。
    つまり、PC 立ち上げ時、「サービス WMIの再起動」を実施すると、kp41 は抑止される。
    詳細は下記。
    http:スラッシュスラッシュwww5d.biglobe.ne.jp/~the_imai/etymology/my_kp41.html#mastermind
    補: WMI は bug の宝庫
    http:スラッシュスラッシュblogs.technet.com/b/askcorejp/archive/2013/04/12/wmi-windows-server-2012-2008-r2.aspx

  • KP41発生の状況: 2014/9/26発生

    発生の頻度:偶に起こる。忘れた頃にやって来る。感じ。

    発生のタイミング:デスクトップ画面が表示されてから、6分程度以内。
    7分を超えて発生した事はない。
    つまり、0~7分である。


    対策は無し。
    スクリーンセーバーを、7分に設定していて、
    スクリーンセーバーが始まれば、KP41は起きない。

  • >>25

    らじるらじる窓口に、 スリープ復帰後のコネクションエラー遭遇時、自動再接続をする様、のAP 修正依頼を、先程提出しました。

  • スリープ復帰時の、らじるらじる、の
    エラーメッセージは、良く見ると次の様になっていた。


    ---------
    ▲ コネクションエラーです
       よくあるご質問へ
    >> Windows Media Player で聞く
    ---------

    あたかも、Windows Media Player で聞く、
    と コネクションエラーにならない様なメッセージである。

    スリープ復帰時のコネクションエラーは、
    Media Player とは、何の関係も無い。また、絶対に、直る訳が無い。

    ■結論:トンチンカンなメッセージを出すのは止めて欲しい。

  • ■らじるらじるのこのコネクションエラーは、MS のみでは原理的に修正できない。AP と OS の協調が必要。


    前述した様に、らじるらじる聴講中に、スリープを掛け、スリープを復帰すると、100% コネクションエラー の message が出て、95% 音は止まる。

    この事象は、電話中に近所中がスリープ状態に入り、一定時間後スリープが解けたら、電話が切れていた状況に似ている。一般に、スリープされた本人はスリープされたことも気が付いていない、ので、この切断は不可解に見えるかも知れない。

    第三者から見れば、スリープが介入した切断であり、単に電話を掛け直せば直る、と分かるが、一般に AP(アプリケーション)作者は、そのAP がスリープに遭遇する事など配慮の中に無い、又、OS から スリープ遭遇に配慮した AP 作成要請は受けていない(多分)。

    直し方:
    ① OS は、最新のスリープ開始時刻と解除時刻、を提供する。
    【 ex. イベントビューアの log に、 Microsoft-Windows-Power-Troubleshooterという Name, id = 1, で、SleepTime/ WakeTime 提供済み。
    cf. イベントビューアの使い方  Windows7/1.スリープからの復帰原因を調べる
    http://yuknak.com/main/useful/howto_error/sleepret1.html
    ② AP(らじるらじる等)は、コネクションエラー遭遇時、①のスリープ開始・解除時刻を調べ、もし、エラーの発生原因が、スリープに起因している場合、自前で、回線を再接続し直す。
    【 ex. スリープ開始時刻 > 回線接続開始時刻、 and 、スリープ解除時刻 = 現在時刻直前、なら原因はスリープ由来と判断。 】


    radiko の AP も同様のスリープ遭遇配慮要。(切断の原因がスリープ由来と判定された場合、radiko が自分で、スリープ前の局番に再接続する。)

    補:①のイベントビューアを AP が調べるのは、方式的には可能かもしれないが、大袈裟過ぎる。 SleepTime/ WakeTime をシステム環境変数として提供、等の改善が OS として要。 i.e. %SleepTime%/ %WakeTime% として利用。

  • win7 での、スリープ解除時起動のバッチファイル (batch file)の作成方法を紹介します。

    ■やり方:
    タスクスケジューラのトリガーに、
    「ワークステーション アンロック時」
    を指定する。

    ■サンプル
    ・スリープからの復帰時刻をファイルD:\wk\resume_trace.txt
    に追記する batch file resume.bat のイメージ、は以下。
    --------------
    rem resume.bat
    rem getup time after sleep.
    rem タスクスケジューラのトリガー:ワークステーション アンロック時
    echo %date%, @%time% スリープから復帰しました。 >> D:\wk\resume_trace.txt

    rem pause
    -----------
    ・ スタートアップ時の時刻を同じファイルに追記。
    尚、スタートアップ時は、混むので、トリガーには、遅延時間指定を指定している ex. 10分
    ---------------- 
    rem resume_0.bat
    rem startup time. Login time.
    rem タスクスケジューラのトリガー:ログオン時
    echo %date%, @%time% システム立ち上がりました。 >> D:\wk\resume_trace.txt
    -----------------
    resume_trace.txt 出力例。
    -------------------
    2014/09/15, @19:13:32.22 システム立ち上がりました。
    2014/09/15, @20:26:09.15 スリープから復帰しました。
    2014/09/15, @22:42:29.21 スリープから復帰しました。


    ■参考 (他の人のやり方)
    スリープ解除時起動
    http://vates.jellybean.jp/scripts/watchSleep.html

  • バグ指摘です。 MS さんは直して下さい。

    現象:
    win7で NHK らじるらじる を web 聴講時、スリープ&スリープ復帰すると、常に「▲コネクションエラーです」message が表示され、95% 音復元に失敗している。
    回避策: F5 ボタンを押し、タブをリロード。
    不具合:スリープ直前状態に(環境が)戻っていないこと。

    補足:
    ① Bios/Power Management/
    1-1 Suspend mode = S1,
    1-2 Low Power Mode = Enabled   (既定値= Disabled)
       |------ If enabled, more power is conserved under shutdown or hibernation, but system cannot be resumed on LAN from shutdown(S5) or hibernation(S4).
    ② Device Manager/ Network Adapter/ 【電源の管理】/
    「電力の節約のために、コンピュータでこのデバイスの電源をオフにできるようにする(A)」 = オフ※

    ※ ①の環境時、観察によると、オンを指定しても変化は無かった。
    この設定項目の存在意義を疑ってしまう。機能的にも、常に節電で、良いではないか。違うのか?。


    NIC (Network Interface Card) のランプは、スリープ最中、②のオン/オフに関係なく、消えていた。

  • PC HW 徹底掃除し、もう HW 由来の誤信号による kp41 は無いと思っている
    が、 kp41 は簡単に発生し得る。

    証拠例 ( radiko スリープ復帰後、 kp41 誘発):
    USB selective suspend 無効指定下でも、スリープ復帰後 audio 音は止まる。
    画面更新 (F5)や ▸ (右三角)ボタンの click 要。
    しかし、らじるらじるは、未だマシ。 radiko は、click するとkp41 誘発。コケて、 safe mode へ行っても、そこでも勝手にコケる等発生。非常に危険。
    解秘策
    ① dev. man. mouse 設定の「スリープ解除可」を廃止し、スリープからの復帰は、マウスクリックは止め、電源ボタンのポチッ、のみとする。
    ② radiko が居る時はスリープはしない。
    → 言えることは、この違いは この kp41 は、HW 由来では無く、 soft 由来だということ。
    MS はテストしているのか?
    再現性アリ(多分)。

  • はっきり言って、私の kp41 再発現象は HW 由来で決着しました。

    朝一 kp41 現象が段々ひどくなって、常に朝一 kp41 状態になってしまった。
    6時間で、30回の kp41 を経験した。
    ①立上げ後5・6分後 kp41 発生。→
    ②safe mode 立上げ画面、立ち上げ処理中30秒後 kp41 発生。→
    ③「修正しますか」「通常立ち上げしますか」立上げ画面で、
    通常立ち上げを選択。また、kp41 発生。

    ①②③が基本サイクル。
    イベントビューアには、safe mode 下の kp41 は記録されない。

    もうここまで来ると、「スリープ・休止機能がどうのこうの」なんて関係無い、「PC が勝手にオフ・オンする」の基本に戻り、HW 接続関係をチェックした。
    メモリを抜き・埃(ほこり)払って・カチッと挿し直し、したら、
    ----なんと、kp41 は止まった。★感謝感激雨霰(あられ)状態★。

    詳細
    http://www5d.biglobe.ne.jp/~the_imai/etymology/my_kp41.html#appendix

    本日の教訓: 真実はシンプルだ。

  • 先日提起した記事に誤りがあったので、再提出します。

    【問題提起】  --- 一応、仮説です。

    Desktop の PC で、電源オプションのカレントプランが 「高パフォーマンス」で、
    hiberfil.sys が無い環境のとき、次の法則性がある。

    ① powercfg -q の表示で 「ハイブリッド スリープを許可する」が 「オン」 の時、kp41 は発生していない。

    ② powercfg -q の表示で 「ハイブリッド スリープを許可する」が 「オフ」 の時、kp41 が発生している。

    【補足】
    hiberfil.sys ファイルは、 powercfg -h off の特権 DOS コマンドの実行により削除されるが、この時の、電源オプション/スリープ/ハイブリッド スリープを許可する、の設定が「オフ」に、たまたま、なっていたとすると、以後 kp41 が発生することになる。
    kp41 の種類としては、悪質で、朝一 kp41, マウス click/キーボード押打の瞬間に kp41発生, 気まぐれプッツンの kp41のオンパレード。電源ボタン馬鹿となり、コンセントを抜くこともある。

    http://www.frontier-direct.jp/faq/09/004233.htm

    【回避策】
    POWERCFG -SetAcValueIndex SCHEME_CURRENT SUB_SLEEP HYBRIDSLEEP 1
    POWERCFG -SetDcValueIndex SCHEME_CURRENT SUB_SLEEP HYBRIDSLEEP 1
    実行。

    ■Link:
    http://www5d.biglobe.ne.jp/~the_imai/etymology/my_kp41.html
    ----
    電源オプションの「詳細設定」で[ハイブリッドスリープを許可する]と[次の時間が経過後休止状態にする]項目が表示されない場合の対処方法<Windows Vista(R)>
    http://dynabook.com/assistpc/faq/pcdata/007298.htm
    ----
    Windows 7 でハイブリッドスリープができない。
    http://answers.microsoft.com/ja-jp/windows/forum/windows_7-performance/windows-7/196b3ef7-9e34-483d-a235-7d0e1fd33d98
    ----
    Windows 7パソコンでハイブリッド スリープの設定を変更する方法
    http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=012464

  • >>15

    よく調べてみたら、私の PC の周辺装置は S3 対応していないものが混じっていた。
    具体的には、PS2キーボード、と、ネットワークアダプターが、S1 のみ対応だった。
    マシンを購入してから、2年以上経つが、今頃分かった。

    具体的には下記 URL 参照
    http://www5d.biglobe.ne.jp/~the_imai/etymology/my_kp41.html#S1S3_dev

    POWERCFG -DEVICEQUERY S1_supported | more
    POWERCFG -DEVICEQUERY S3_supported | more
    を見たら、S3 の中に無かった。

    device manager で、property/ 詳細/電源データ、という項目を調べたら、
    例えば、
    ①キーボード/標準 PS2 キーボード
    【プロパティ/詳細/電源データ】
    電源状態マッピング:
    S0 -> D0
    S1 -> D3
    S2 -> 未指定
    S3 -> 未指定
    S4 -> D3
    S5 -> D3
    だった。

    【正式質問】 他の人は、 皆んなどうしているの?
    kp41 関連の知識として、S3 で無いものが混じっていないかの調べ方、もし混じっていたらどう対応するかのマニュアルってあるの?
    誰か教えて下さい。

  • >>11

    ■小結論: win さんは、節電制御なんて出来る器では無い、と最初から見限って、S1 対応の周辺装置しか無いと、②で宣言し、その元で、(kp41 に会わない)色々な tuning を試みた方が良い。時間の無駄である。

  • 演習問題・再現テストです。
    [慣れていない人は、事前に system backup を取ってから test して下さい。]

    OS 不具合を体感したい人は、下記の16通りを自 win 環境で試してみて下さい。
    (下記 POWERCFG DOS コマンドの 行最後の 0 の指定を 0 or 1 と切り替えて、16 とおりを指定して下さい。)

    POWERCFG -qh | more
    rem USB 設定/ USB のセレクティブ サスペンドの設定/ 無効(1 AC・DC既定値)
    POWERCFG -SetAcValueIndex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0
    POWERCFG -SetDcValueIndex SCHEME_CURRENT 2a737441-1930-4402-8d77-b2bebba308a3 48e6b7a6-50f5-4782-a5d4-53bb8f07e226 0

    rem どのサブグループにも属さない設定/ デバイス アイドル ポリシー 0= Perform, 1= Saver, AC=1 なら DC=1 指定
    rem [P, B, S] 既定値 = [(0, 1), (0, 1), (1, 1)], Hidden Option
    POWERCFG -SetAcValueIndex SCHEME_CURRENT SUB_NONE 4faab71a-92e5-4726-b531-224559672d19 0
    POWERCFG -SetDcValueIndex SCHEME_CURRENT SUB_NONE 4faab71a-92e5-4726-b531-224559672d19 0
    POWERCFG -qh | more
    -----------------

    例えば、Plan = Performance (高パフォーマンス)下で、
    USB selective suspend (Ac,Dc) = (1,1), (1,0), (0,1), (0,0)
    Device Idle Policy (Ac,Dc) = (1,1), (1,0), (0,1), (0,0)
    4×4 = 16 とおり、アル。 尚、OS が狂っているので、 (1,1)=(1,0) or (0,1)=(0,0) である保証も無い。
    勇気のある人は、上記16とおり test してみて下さい。

    簡単に 性質の悪い kp41 が発生しますので、どうしてそうなるかを考えて下さい。
    (Safe Mode 環境でもコケます。)

    参考 URL
    http://www5d.biglobe.ne.jp/~the_imai/etymology/my_kp41.html#Hidden_Option

  • 2014/08/22 猛暑日、 web で
    バーチャル高校野球2014|朝日放送[また、NHKラジオと比べると画面が10秒位遅れている。]
    の cpu 90% 喰いの重いタスクを開いていたら、 kp41 発生で、画面が真っ黒になった(自動再起動ナシ)。

    同じ猛暑日でも昨日は、発生しなかった。心当たりの環境の違いは、bios の仮テスト suspend mode S3/S1
    が、昨日は S1, 今日は S3、のみ。
    S1 にして、様子見、とする。猛暑日も効いている。涼しい日には発生しない。

    この現象は、 私の DELL マシンでは bios 指定できないが、メモリの電圧盛り で kp41 が緩和される、という人もいる。に対応するのかも知れない。

    私の PC では、スリープ・休止状態は存在せず、常に S0 状態である。にも拘わらず、架空の
    変更 S3 → S1 など論じても意味はないが、現実の PC 動作は影響を受けている。

    客観的にみると、 OS 動作の状況認識が狂っており、スリープ・休止状態時の coding 処理部が、非スリープ・休止状態時に走っている様な感触がある。
    ------------------------

    何はともあれ、bios Suspend mode: S3 → S1、は 効いており、正式適用とする。

  • >>9

    >>No.9
    の -r5.(スリープ・休止機能を元栓から無効化)+ BIOS(Power management、Disabled化)
    のみの規制は、積み残しがあり、マウス・キーボードトリガーで無い、気まぐれプッツンタイプの kp41 が発生してしまった。

    辻褄合わせとして、次の新しい次の規制を追加する。
    -r18.(スリープ解除タイマーの許可、の無効化)

    この規制は、気まぐれタイプの kp41 対策用の規制である。
    --------

    -r5. と -r18. は補完関係にあり、両方合わせると全体をカバーする関係にある。
    例えば -r5. を適用すると、コントロールパネル▼電源オプション▼カレントのプラン▼スリープ、の結果は、全ての表示が消えると予想したが、実際には、
    「スリープ/スリープ解除タイマーの許可」の設定
    が何の因果か知らないが、残ってしまった。

    実はこの「スリープ解除タイマーの許可」というのは曲者で、
    スリープ解除タイマーとは、スリープ状態(記憶装置のみがかろうじて生きていて、cpu は死んでいる状態)を指定時間に解除処理する目覚まし時計装置 (HW) を利用するか否かの指定。これを OS (具体的には スケジューラ)が利用するらしい。 Wake On Timer = 時計どおりにたたき起こす。

    であり、寝ている cpu を叩き起こすために電力要求を引き起こす胴元である。
    この胴元が少し狂い、もし目覚まし時刻が、たまたま、スリープ状態で無い場合、起きている cpuを叩き起こすという電力要求を引き起こす、事態となる。これが 結果的には kp41 として反映されるようだ。
    つまり、 -r5. はマウス・キーボードトリガーの kp41 の胴元で、 -r18. は気まぐれプッツンタイプの kp41 の胴元と言うことになる。
    --------------------
    つまり、kp41zero を次の様に再定義し直す。

    kp41zero = -r5. + -r18. + BIOS

    【依頼】
    -r5. + -r18. + BIOS、 を基本ベースとした規制として
    改めて評価テストを継続して下さい。
    結果を、もし良かったら報告して下さい。宜しくお願い致します。

    (必要なら、-r1.~-r18. の中で効きそうなのがあったら見繕って追加して下さい。
    但し、-r1. の mitigate.bat のスリープ解除タイマーの許可、 の行内容は、-r18. と相反するので その行は rem 化して下さい)

    URL
    http://www5d.biglobe.ne.jp/~the_imai/etymology/my_kp41.html

  • >>8

    駄目です。 kp41 発生しました。
    6日目、朝一立ち上げ後9時間後にプッツン発生。自動再起動なし。らしるらじる聴講中。
    涼しい(昔と違う)

    外した適用規制を又戻すことにする。
    つまり、-r5 + BIOS ---- ☓

    外したデバイスマネージャ周りの -r6,16,17 を戻し、
    -r1,2, .....,16,17 + BIOS の全規制適用で、様子見をします。


    (-r5 + BIOS の理論武装が崩れたので、少し頭を冷やします。)

    【お願い】
    現在 kp41zero テスト中の人がいたら、規制項目を追加して下さい。

  • from @2014/08/13 最新 伝達事項

    節電機能であるスリープ・休止機能、ネットワークアダプターを用いた遠隔電源操作機能 (WOL:= Wake ON LAN) を禁止することにより kp41 を完全抑止する汎用方式 (別名: kp41zero 方式 ) を見つけました。 
    具体的には下記 URL ■付録の、 -r5 と BIOS 変更と の2種の規制を掛けるだけです。

    スリープ・休止機能、WOL 機能が使え無いが(但し、ディスプレイのスリープ節電は使える)、 kp41 になるよりまし、と思うならばご利用下さい。

    http://www5d.biglobe.ne.jp/~the_imai/etymology/my_kp41.html#appendix

    ---------------
    補足
    方式名を「kp41zero 方式(ケーピーよんいちゼロ ほうしき)」と名付けました。


    【依頼事項】
    現在 kp41 で困っている人がいて、もし kp41zero 方式 を適用した場合、どのくらい効果があるかの客観的な数字を把握したいので、
    まだ発生する/完全に止まった、の報告をこの掲示板に結果を挙げてくれませんか。

    ご協力のほど、宜しくお願い致します。
    (10件程の結果が出た時点で効果の有無が判定できますので、打ち切りたいと思います。)

  • >>4

    補足です。kp41 の名称について。

    >>No.4

    > スタンバイ状態でも無いのに HW に 正規の wakeup/ resume 要求 を発行すると、kp41 になるらしいことが分かる。

    つまり、従来からある「スタンバイ状態が気まぐれに解除(= 復帰)される」の現象と紙一重・同源なのが kp41 なのです。
    非スタンバイ状態から復帰処理されると、 kp41 になるんです。

    kp41 の定義は,プッツンの電源断の総称、かも知れませんが、 win7 以降で多発している kp41 は不正復帰処理が原因なのです。
    文字通り電源処理中 (Kernel Power 部)のトラブルに起因するのです。

  • <<
  • 32 7
  • >>
並べ替え:
古い順
新しい順