いったい何が悪かったのか

去年の10月22日から12月7日までWindows PCの調子が悪かった。突然、ディスクアクセスしたプロセスから順に応答しなくなってしまう。こうなると再起動も効かずリセットするしかない。この現象が初めて起きたのが10月22日で、それ以降12月7日までの間に14回発生した。間隔は最短が1時間で最長が10日間。OSのバージョンはWindows 7 64bit。

毎週バックアップを取ってあるので、10月22日から1か月近くさかのぼって9月26日のバックアップをリストアしても同じ現象が発生した。それなら原因はハードウェアかと思って、SSDを一時的に古いのと交換してみたけどだめで、SATAのポートの変更やケーブルの交換もだめだった。

これはマザーボードかなあと思いつつも、12月7日にダメもとでWindowsを再インストールしてみたところ現象が起きなくなった。そろそろ1か月経つので、もう直ったといってもいいだろう。OSの再インストールで直るのなら、バックアップをさかのぼって切り分ければ、何が原因だったかわかるかもしれないけど、面倒くさいからもういいや。いったいなんだったんだろう。

Xperia Z3 Compact (SO-02G)のバッテリーを交換する

基本的には、バックパネルをはがし、FeliCaのアンテナを外し、黒いフレームを外し、バッテリーを外して交換し、黒いフレームを付けて、FeliCaのアンテナを付けて、バックパネルを張ればおしまい。

参考にしたのは以下の二つの動画。Xperia Z3 Compactを完全にばらばらにするのと組み立てるの。

今回は完全にばらばらにするわけではないので、参考になるのはごく一部だけど、これを見ないとわからないことが多すぎる。

バッテリーと工具がセットになった商品があるので、今回はそれを使った。バックパネルをはがすための治具も入っている。ただし、このバッテリーはそのままでは厚すぎるので、白い外装をはいでしまうこと。

上の動画ではバッテリーの取り外しを、マザーボードと一緒にケースから外してから行っている。これはボードとバッテリーが両面テープで非常に強く粘着しているので、よけいな負荷をボードに掛けずに外すためだ。

バッテリー交換における最大の課題は、この強力に粘着されたバッテリーをボードから引きはがすことである。そのためには、それ用にへらを用意したほうがいい。今回は以下の製品を使った。

井上工具 ジラコヘラ 白 20mm

井上工具 ジラコヘラ 白 20mm

マザーボードは取り付けたまま、バッテリーとマザーボードのすき間にこのへらをぐいぐいとねじ込んだら外すことができた。あとは新しいバッテリーを付けて元に戻すだけだ。

マウスのすべりが悪くなったので

3年間使い続けているマウスのすべりが悪くなったので、マウスソールを張り替えることにした。選んだのはパワーサポートのAS-44。パワーサポートのマウスソールは、0.35mm、0.45mm、0.65mm、0.95mmから厚さを選べる。この製品は0.45mm。

どの厚さにするかかなりまよったけど、0.45mmで特に問題はなかった。もとのマウスソールより少し厚いけど、センサーに影響するほどではないといったところ。マウスのすべりはとてもよくなった。

Cygwin Terminalのアイコンが壊れなくなった

先日、mintty 2.2.1だとCygwin Terminalのタスクバーアイコンが壊れるから、古いminttyを使った方がいいという日記を書いたけど、これはもう古い情報になった。Putty由来の脆弱性を修正したバージョン2.2.2が出ていて、これを使えばアイコンは壊れないので、すぐにアップデートすることをお勧めする。

Cygwin Terminalのタスクバーアイコンが壊れる

久しぶりにCygwin環境をアップデートしてCygwin Terminalを起動したら、タスクバーアイコンが奴だった。

アイコンキャッシュ(IconCache.db)が壊れたときに現れる奴だ。ところが、はいはいとIconCache.dbを削除してWindowsを再起動しても直らなかった。

アップデートでminttyが新しくなっていたので、これはminttyがバグってるのではないかと思って最新の2.2.1から2.1.5に戻したら直った。

こんなにわかりやすい問題なら、僕が報告する前に報告着てるだろうと思いつつ、minttyのissuesを確認したら該当するissueが先週立っていて、まだ進行中だった。

まさかminttyが腐っているとは思わず、ローカルの問題をいろいろ洗っていて、原因にたどり着くまでわりと時間が掛かった。

[2015-11-13 追記]
バージョン2.2.2がリリースされてタスクバーアイコンが壊れなくなった。2.2.1以前には脆弱性があるので、更新することをお勧めする。

リモートデスクトップ接続がクラッシュする

いつの間にかリモートデスクトップ接続がクラッシュするようになっていた。接続してアカウントとパスワードを入れた直後に死んでしまう。

障害が発生しているアプリケーション名: mstsc.exe、バージョン: 6.1.7601.18540、タイム スタンプ: 0x53c72529
障害が発生しているモジュール名: ntdll.dll、バージョン: 6.1.7601.19018、タイム スタンプ: 0x560a0083
例外コード: 0xc0000374
障害オフセット: 0x00000000000bffc2
障害が発生しているプロセス ID: 0x3030
障害が発生しているアプリケーションの開始時刻: 0x01d11157f25fb992
障害が発生しているアプリケーション パス: C:\Windows\system32\mstsc.exe
障害が発生しているモジュール パス: C:\Windows\SYSTEM32\ntdll.dll
レポート ID: 37843d4c-7d4b-11e5-b788-005056c00008

mstsc ntdll errorでググったらこんなページが見つかった。

Windows 7 mstsc.exeがクラッシュする原因〜ntdll.dllと0xC0000374とCSR Bluetoothスタック

これがどんぴしゃで、確かにCSR Bluetoothスタックをインストールしてた。

この記事に載ってるスタックトレースを見るとcredentialを取りに行って死んでるので、ローカルリソースの設定でスマートカードに触るのをやめさせたら直った。

~CBtProxyCB
'mstsc.exe' (Win32): 'C:\Program Files\Common Files\Microsoft Shared\Windows Live\WLIDCREDPROV.DLL' がアンロードされました
'mstsc.exe' (Win32): 'C:\Windows\System32\certCredProvider.dll' がアンロードされました
'mstsc.exe' (Win32): 'C:\Windows\System32\BioCredProv.dll' がアンロードされました
'mstsc.exe' (Win32): 'C:\Windows\System32\vaultcli.dll' がアンロードされました
'mstsc.exe' (Win32): 'C:\Windows\System32\winbio.dll' がアンロードされました
'mstsc.exe' (Win32): 'C:\Windows\System32\SmartcardCredentialProvider.dll' がアンロードされました
'mstsc.exe' (Win32): 'C:\Windows\System32\LMIinit.dll' がアンロードされました
Critical error detected c0000374
mstsc.exe によってブレークポイントが発生しました。
初回例外が 0x0000000076DD4102 (ntdll.dll) で発生しました (mstsc.exe 内): 0xC0000374: ヒープは壊れています。 (パラメーター: 0x0000000076E4B4B0)。
ハンドルされない例外が 0x0000000076DD4102 (ntdll.dll) で発生しました(mstsc.exe 内): 0xC0000374: ヒープは壊れています。 (パラメーター: 0x0000000076E4B4B0)。
初回例外が 0x0000000076D65A41 (ntdll.dll) で発生しました (mstsc.exe 内): 0xC0000005: 場所 0x0000000000000000 の読み取り中にアクセス違反が発生しました。
プログラム '[7776] mstsc.exe' はコード 0 (0x0) で終了しました。

スマートカードを使わないのなら、CSR Bluetoothスタックはアンインストールしなくてもいいのよ。

USB充電中の電流と電圧を測ってみた

手元にある以下のUSBデバイス、モバイルバッテリー、ACアダプタ、充電ケーブルについて、充電する際の電圧と電流を簡易測定器で調べてみた。Anker Astro M3は満充電で、各デバイスはバッテリー残量を10%以下に放電した状態で計測した。

  • USBデバイス
  • モバイルバッテリー
    • Anker Astro M3
  • ACアダプタ、充電ケーブル
    • Anker Astro M3 (Amazon.co.jp限定)付属のACアダプタと充電ケーブル
    • Miix 2 8付属のACアダプタと充電ケーブル

簡易測定器は以下の商品。僕が入手した3個体は、いずれもオス側の端子の接触が悪く、抵抗の小さなところを探りながらの計測になった。正直なところ購入はお勧めしない。計測結果は細かく変動するので平均値と思しき値を取った。

ACアダプタ、充電ケーブル

Anker Astro M3付属
  • Z3C 5.25V 1.23A
  • Miix 5.24V 1.69A
Miix付属
  • Z3C 5.28V 1.44A
  • Miix 5.22V 1.81A

いずれのACアダプタも2A対応だが、Z3Cには1.5A以上給電されていない。

Anker Astro M3 1ポート使用

1Aポート(For Android)とAnker付属ケーブル
  • Z3C 5.02V 0.91A
  • Miix 4.99V 1.14A
2Aポート(For Apple)とAnker付属ケーブル
  • Z3C 4.99V 0.91A
  • Miix 5.02V 0.44A ×

Miixを2Aポートで充電したときに500mAを超えておらず、急速充電できていない。

1AポートとMiix付属ケーブル
  • Z3C 4.91V 1.03A
  • Miix 4.93V 1.42A

1AのポートなのにMiixの場合は1.42Aも流れている。

2AポートとMiix付属ケーブル
  • Z3C 5.03V 1.13A
  • Miix 5.08V 0.44A ×

こちらのケーブルでも2AポートとMiixは相性が悪い。

全体的に、Miix付属の充電ケーブルを用いたときのほうが、Anker Astro M3付属のものよりも多く給電されている。下の写真の黒いほうが前者である。ケーブルの太さの差が測定結果にあらわれている。

Anker Astro M3 2ポート同時使用

2AポートにZ3CをAnker付属ケーブルで、1AポートにMiixMiix付属ケーブルで接続
  • Z3C 4.91V 0.71A
  • Miix 4.92V 1.33A

Anker Astro M3の合計出力は2.1Aなので合計2.04Aは妥当な数字である。1AポートのMiixが1Aを大きく超えて給電されるのは単独の場合と同じ。

2AポートにZ3CをMiix付属ケーブルで、1AポートにMiixをAnker付属ケーブルで接続
  • Z3C 4.92V 1.02A
  • Miix 4.94V 1.03A

ケーブルを交換して1AポートのMiixに細いケーブルをあてがった結果、公平に給電されるようになった。消費電力を考えると公平に給電する必要はないので、この組み合わせは有用ではない。

全体的にAnker Astro M3付属の充電ケーブルの頼りなさが目に付く結果となった。別途充電ケーブルを買ったほうがよさそうだ。