読者です 読者をやめる 読者になる 読者になる

ASUS Transbook T100HAのBluetoothについて

 タッチパッドの設定に引き続き、実用上で困っている部分の解決に踏み込むよ。今回はBluetoothが不安定な問題について。

 

 Bluetoothに関してもASUSの2in1は伝統的にトラブルを抱えているようにも見えるけど、実際Bluetoothの不具合はWiFiとの干渉を筆頭にどのデバイスでも起き得るから特にこの固体特有ってこともなさそう。で、結論から言えばBluetoothWiFiと干渉して不安定になっていることは間違いないんだけど、Googleさんで検索して出てくる解決策ではこれまた解決しなかったのでメモ用に書き残しておく。

 

 ただし。ここで得た解決策は常に「設定->デバイス->Bluetooth」を開いておくと言うものなのでとてつもない対処療法である。

 

 1.症状

 私の環境での話なので鵜呑みにしないでね。主症状はBluetoothマウスを接続して使っていると、十数秒に一回は途切れて10秒くらい使えなくなること。そしてずっとこれのくり返し。

 

 Bluetoothをオフ/オンしてもだめだし、マウスの電源を入れ直してもだめだし、かと言ってマウスの電池残量が無いわけでもない。タッチパッドが不安定だからマウス使おうと思ったのにこんな仕打ちないよう!

 

 ってことで原因究明に入ります。

 

 2.試したこと

 これまた調べて出てくるようなことはほぼやった。尚、WiFiで2.4GHz帯は使ってないのでその辺は最初から関係ないものとして進めてるよ。

 

1)PC再起動

2)Bluetoothアダプタの無効化/有効化

3)マウスの電源のオフ/オン

4)マウスの電池残量のチェック

5)デバイスの電源設定の見直し

6)WiFiBluetooth干渉を避ける設定の変更

7)WiFiの無効化

 

と言うわけで、(6)までは全く効果がなく。(7)を試すと嘘のように安定する。嘘であってほしかったけど嘘じゃなかった。夢じゃなかった。

 

 つまり原因は単純明快。WiFiBluetoothの干渉。まあ典型的な原因と言えばそれまでなんだな。WiFiBluetoothの干渉が起こると、必ずしもBluetoothが負けるとは限らない。ものによってはWiFiが負けてネットが途切れ途切れになることもあれば、共倒れして何もできなくなることもある。今回はBluetoothが負けた、と言うよりはマウスが負けたんだろうね。調べた限りだと普通に使えてる人もいるみたいだから、マウスを変えて相性が良ければそれで解決できると思う。

 

 3.対策

 WiFiの干渉を避ける設定が効かない以上、正直お手上げと言えばお手上げ。ただ、ひとつ気になったことは、デバイスを検索して接続した直後はしばらく安定しているのに、ある程度の時間が経過すると前述のように酷く途切れ途切れになる、と言うこと。完全には解決できなくても、何かしら対策できそうなポイントではある。

 

 たぶんデバイスの検索のときはBluetoothアダプタの発する電波の出力が高いんだと思う。一度に不特定のデバイスを見つけないといけないから、当然だけどひとつ或いは少数の決まったデバイスと通信するよりは電力が要求される。その副作用として出力が上がっているのだろう。

 

 つまりデバイスを検索しっぱなしにしてやれば、干渉の起こらない程度の出力が常に供給されるために安定するのではないか、と思って試してみた。

 

 安定した

 

 4.まとめ

 雑な対処療法だけど、裏で設定画面開いておくだけだし、消費電力もそこまでは上がらないと思うから困ったら最終手段的に試してみるといいよ。と言うことで、私の環境ではこれにて解決。

 

2017年4月7日 まるしぃ

ASUS Transbook T100HA のタッチパッドが不安定なときの設定(暫定)

 昨年9月くらいにASUS Transbook T100HA(以下、T100)を型落ち品として購入した。デザインや金属筐体の質感、使い勝手などサブ機(最近ではほぼメイン)として満足してはいるが、いくつかそれなりに致命的な不具合があり、解決に至っていない。そのうちのひとつが、切り離し可能なキーボード部分に佇むタッチパッド(タッチパネルじゃないよ)が恐ろしく不安定なこと。この機種じゃわりとメジャーなトラブルっぽいので初期不良ではなさそう。

 

 結論から言うと、COM1ポートの受信バッファを小さくすることで致命的な不安定さは起こらなく(起きようとするとエラー訂正される?)なった。ただ長期のテストはしていないので暫定としておく。

 

※長くなったので対策を箇条書きにしておく

1:COMポートのキャッシュを無効化

2:シリアル通信のフロー制御をハードウェアに変更

3:AC電源で使ってると症状が出やすいっぽい

4:SDカードを刺している場合,キャッシュを有効化

 

※2017/4/4追記:やっぱりなるときはなる。ただ、発症していないときのポインターの動きはCOMポート設定をしないときより滑らか。発症率も下がるし、発症後の復旧率も体感だけど高い。COMポート設定は関係ないかと思って元に戻すと直後に再発するので原因には遠からず近からずな模様。もう少し様子見。

 

※2017/4/6追記:追加でフロー制御をなしからハードウェアに変更、COMポート番号を1から10へ変更した。前者は通信エラーの回避、後者は他のシリアル通信と干渉している可能性を考えたもの。どちらか一方では効果が薄いが、両者を設定すると体感できる程度には改善する。あと気が付いたことがひとつ。ここで書いた設定を行ってもまだ実用に差し障るレベルで発症するのは、ほとんどがAC電源に繋いでいるとき。電源供給側の問題かPC本体の問題かは不明だけど、電源が無関係ではなさそう。※5.電源 を追記

 

※2017/5/17追記:SDカード(容量の拡張のため128GBのMicroSDを刺しっぱなしにしてる)のキャッシュを有効にしてみたところ,システム全体のパフォーマンスがやや改善すると同時に,タッチパッドが不安定になることが激減した.(飽くまでも推測だが)理由として考えられることは,スループットの遅いSDへのアクセスが停滞することによるIOの占拠がタッチパッドに影響を与えていたことが挙げられる.とは言っても,高負荷のときや何かよくわからないタイミングでなったりもするので完全ではない.ただこのくらいならデスクトップマシンでもたまになるしこれ以上は不可避なのかなあ.とりあえずここまでの設定を全て行った状態で,ようやく気に障るほどの支障は出なくなった.

 

1.症状

 主症状は、キーボード部分を接続した状態で使っていてしばらくするとマウスポインタが暴れる(指を動かしていないのに振れる)ようになること。その症状が起こるまでの時間に規則性はなく、高負荷時に起こりやすいものの、何も作業していないときに突如起こることもある。簡単な対処は、キーボード部分を物理的に再接続すること。ただ、それで直らないこともままある。

 

 そもそもT100はいわゆる2in1とか呼ばれる、基本的にはタブレットだけど、専用だったり無線接続だったりする分離できるキーボード部分が付属していて、タブレットとしてもノートPCとしても使えるよと言う製品群のうちのひとつ。Windows10はタッチ操作もそれなりに扱いやすいので、まあわりと活用してる。

 

 ただ、プログラム書いたりするのにはさすがにソフトウェアキーボードでやる気にはならないのでそう言う作業のときはノートPC状態で使ってる。そのスタイルだと、自ずとタッチ操作ではなくマウスやタッチパッドを使いたくなる(少なくとも私は)。でもって場所があればBluetoothマウスでも繋げば良いんだけど、こいつも問題のひとつで接続がとても不安定。まあ、これはまた別の機会に対策したいと思う。

 

 と言うわけで、タッチパッドを安心して使うべく対策するよ。

 

2.試してみたこと

 だいたい一般的に言われることは試したよ。当たり前だよ。いくら調べてももうやったよ!ってことしかヒットしなくておこだったからね。それで解決しないから困ってるんだよ!!!

 

 落ち着いてまとめると、

 

1)PCの再起動

2)デバイスの電源設定の見直し

3)ドライバ再インストール及び更新

4)BIOSUEFI)リセット

 

くらいのことはした。ちなみにどれやっても最初の一瞬は直るからぬか喜びn回はしたからね。

 

 ただ少なくとも言えることは、最初は問題ないが徐々に何かが蓄積されて異常が顕在化しているような挙動だってこと。その何かが分かれば良かったんだけど、それは特定できていない。

 

3.対策

 まあ要するに何らかのエラーが溜まっていくなら、その通信部分に手を加えてやれば良いんじゃないかと思ってデバイスマネジャーを見てたら、特に何も接続していないのにCOM1が認識されてることに気が付いた。

 

 いや、メーカー純正なのにCOMポート使うのか...?とは思ったけど、キーボードとタッチパッドは別々に認識されてるのに、それが一体化したデバイスは認識されていないので可能性はありそうだと思って開いてみた。シリアル通信部分の設定は特に変わったところはない。

 

 で、ここからが大事。プロパティのポート設定から詳細設定に入ると、バッファが送受信ともに最大値に設定されている。確かにパフォーマンス優先で考えたら正解なのかもしれないけど、それにしてもちょっと大きすぎる気がした。ので、受信を半分くらいにしてみた。

 

 なんということでしょう!あの寒さで震える動きのように不安定だったポインタが滑らかに動き始めたではありませんか!

 

 匠もびっくりだね。ただ、やっぱりちょっとすると再発してくる。もうたまに通信切れるのくらい覚悟で良いやって思って、思い切って受信バッファを最小に、送信バッファを規定の半分弱くらいにしてみた。

 

 しかーし。今度は直らない。おかしい。帰納法で考えたらおかしい。これはパラドックスか。と言うところで大事なことに気が付く。バイスを再接続していない。

 

 と言うことで、再接続したあとは今までとは比べ物にならないくらいに安定しましたとさ。最初にバッファ小さくしたときも再接続忘れたからもうちょっと値大きくても良いかもね。

 

解決?

 

4.まとめ

 とりあえず今は問題なく使えてるけど、たまーに高負荷のときに動きが途切れるときはある。でもエラーがちゃんと訂正されるせいか負荷が下がると復帰する。あとたまに完全に操作できなくなることがあるけどかなり稀だし、問題になるほどでもなさそう。

 

 まあその辺が気になるようなら受信バッファをちょっと大きくしてみると良いよ。限界値は知らないからがんばって探してね。

 

 これと似たような症状の人がサポートに連絡したら「修理で直ります」ってことで無償修理の対象になったらしいけど、返ってきたら雑に開けた痕跡と不具合の直らないままの本体だったらしい(修理の詳細はマザーボードの交換だったと言う)。まあほんとか知らないけど。とは言え、もし仮に今回のこの対策で直ったのだとしたら、それはハードウェアの問題ではなくソフトウェアの問題なので直るはずがない。今のところこの問題を解決したと言う情報は見当たらないので、ここにまとめておく。

 

5.電源(2017/4/6追記)

 前節までの設定に加えて、COMポートの制御フローをハードウェアに変更した。これでやや安定感が増したものの、やっぱり再発するときはする。もしかしたら他の通信と混信しているのかもと思い、試しにCOMポート番号を1から10(空いている番号で使われてなさそうなのを選ぶ)に変更したらこちらも多少マシになった...いやこれは誤差範囲かもしれない。

 

 とにかく、ここまでやると当初と比べればかなり安定していて、まあ実用には差し支えないかなーと思っていた。ところが、以前ほどではないにせよ実害のあるレベルで再発することがあり、しかも再接続や再起動さえしても直らないと言う事態に直面することがあった(恐らく以前からあったのだろうが、元々が酷くて気が付かなかったと思われる)。

で、しばらくはがっかり回数がn+1回になったなーってがっかりしてたんだけど、よくよく観察してみるとそれはAC電源に接続して使っているときに限定されていることに気が付いた。

 

 軽くマイコンなんか弄ったことのある人なら分かると思うけど、複数ラインの電源を切り替えられるように回路組んで、動作中に切り替えるとマイコンの動作が不安定になったりするよね。電源ラインの切り替えって実際けっこう難しくて、昨今のデバイスが容易に切り替えられることのほうが驚きに値するわけだ。ここに原因が潜んでいても不思議ではない。

 

 切り替えの瞬間が問題なのか、AC電源自体が問題なのかによって原因は大きく変わってくるはずだけど、そこまでの切り分けはまだ出来ていない。ただ、少なくともここまでの設定をした上で、バッテリーで使っている限りはほぼ症状を抑え込めていることは確か。まあもう少し追及してみるけど、T100はバッテリー持ちが面白いくらい良いしこう言う付き合い方も合ってるのかもね。(ちなみにCOMポートの設定をしないでバッテリーで使っても症状が出るので単にそれだけの理由ではない模様)

 

2017/03/29 まるしぃ

Windows10 11月アップデート KB3202790 が正常にインストールできない問題について

 初めての記事にしてはいきなりのトラブル系と言うあれ。まあ気にしない。結論から述べると、MediaCreationToolを使うやや強引な方法で解決できた。

 

 1.概要

 タイトルの通り、Windows10におけるKB3202790のアップデートが正常に行えない。具体的には、更新プログラムのダウンロード、インストール後に再起動を行うと、「更新プログラムのインストールを完了できませんでした。」と通知センターに表示される。これを延々と繰り返す。ただし、全てのマシンではなく、いろいろ手を加えている自作PCで発生しているのでこのマシン特有の問題かもしれない。ひとまず環境を壊さない形で修復したい。エラーコードは行方不明になったので聞かないで(確かデバイスエラーを示すエラーコードだった)。

 

 2.とりあえず試したこと

 処置はシステムへの浸潤が少ない順に行った。ただ1~4は順不同。4は眠りに落ちる直前の思い付きでやったから中途半端な位置にあるだけ。

  1. sfc /scannow
  2. dism /online /cleanup-image /restorehealth
  3. chkdsk /f
  4. 電源を抜いて放置
  5. WindowsUpdateの初期化(後述)

 まあ定番の処置だと思う。1は異常なし、2も異常なし、3でビットマップテーブルが壊れていると言われたから修復するも効果なし。何れもセーフモードでも試した。4は電気的に何か問題があるかもしれないと思って電荷抜きの意味でやったものの効果は無し。(4はグラフィックボードあたりが不安定なときにやると安定することがあるから無意味なわけではない)

 

 5はふたつの方法がある。ひとつは「コントロールパネル->セキュリティとメンテナンス->トラブルシューティング->WindowsUpdateで問題を解決する」から呼び出せる診断ツールを使う方法、もうひとつはその診断ツールの実行内容をコマンドプロンプトから叩く方法。コマンドは以下の内容を.batファイルにして管理者として実行すると適用できる(※WindowsUpdateのデータベース諸々が初期化されるので不用意に実行しないこと)

net stop bits
net stop wuauserv
net stop appidsvc
net stop cryptsvc
Del "%ALLUSERSPROFILE%\Application Data\Microsoft\Network\Downloader\qmgr*.dat"
Ren %systemroot%\SoftwareDistribution SoftwareDistribution.bak
Ren %systemroot%\system32\catroot2 catroot2.bak
sc.exe sdset bits D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
sc.exe sdset wuauserv D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;AU)(A;;CCLCSWRPWPDTLOCRRC;;;PU)
cd /d %windir%\system32
regsvr32.exe atl.dll
regsvr32.exe urlmon.dll
regsvr32.exe mshtml.dll
regsvr32.exe shdocvw.dll
regsvr32.exe browseui.dll
regsvr32.exe jscript.dll
regsvr32.exe vbscript.dll
regsvr32.exe scrrun.dll
regsvr32.exe msxml.dll
regsvr32.exe msxml3.dll
regsvr32.exe msxml6.dll
regsvr32.exe actxprxy.dll
regsvr32.exe softpub.dll
regsvr32.exe wintrust.dll
regsvr32.exe dssenh.dll
regsvr32.exe rsaenh.dll
regsvr32.exe gpkcsp.dll
regsvr32.exe sccbase.dll
regsvr32.exe slbcsp.dll
regsvr32.exe cryptdlg.dll
regsvr32.exe oleaut32.dll
regsvr32.exe ole32.dll
regsvr32.exe shell32.dll
regsvr32.exe initpki.dll
regsvr32.exe wuapi.dll
regsvr32.exe wuaueng.dll
regsvr32.exe wuaueng1.dll
regsvr32.exe wucltui.dll
regsvr32.exe wups.dll
regsvr32.exe wups2.dll
regsvr32.exe wuweb.dll
regsvr32.exe qmgr.dll
regsvr32.exe qmgrprxy.dll
regsvr32.exe wucltux.dll
regsvr32.exe muweb.dll
regsvr32.exe wuwebv.dll
netsh winsock reset
netsh winhttp reset proxy
net start bits
net start wuauserv
net start appidsvc
net start cryptsvc 

  結果、診断ツールを使う方法もコマンドを直接叩く方法も効果が無かった。もしこの方法を試すなら、コマンド実行後に一度再起動することをお忘れなく。

 

 3.やや強引な手段に出る

 仕方ないのでWindowsUpdateの初期化よりもさらに強引な方法を採ってみることにした。

  1. 過去の更新プログラムのアンインストール
  2. PCのリフレッシュ機能を使う
  3. MediaCreationToolを使う
  4. リカバリ

 どれも比較的に高リスクと言うか初期化される部分がほぼ必ずあるのでシステム全体のバックアップは必須。

 

 1は最悪の場合過去の更新プログラムの再インストールさえ出来なくなる可能性があるので後回し。2は解決出来たとしても復元してシステムの状態が元に戻ることで再発の恐れがあるし根源的な解決にはならないので却下。4は最後の手段。よって消去法で3を試してみることにした。この中では一番非破壊的だし。

 

 Microsoftの公式サイトにあるMediaCreationToolをダウンロードして実行すると、特に設定する部分もなく勝手に処理が進んでインストールイメージが作られる。最後に"インストール"をクリックすると、現在のユーザー設定やアプリケーション、データなどを維持したまま最新の状態のWindows10のインストールが開始される。情報によるといくつか設定が初期化される部分があるらしいけど、その辺は曖昧。

 

 4.結果

 Windows10へのアップグレード時よろしく画面が切り替わって処理が進む。結構心臓に悪い。しばらくすると再起動され、640*480くらいの解像度で更新プログラムを適用していると言う旨の画面が表示され、非常にゆっくりと進捗が進む。3回目の再起動で解像度がフルスクリーンになり、その後は放置していたので再起動した回数は不明だが、全ての処理が終わるまで1時間程度だった。思ったほどはかからなかった感じ。

 

 結果、見事KB3202790がインストールされた状態になった。やったー。

 

 MediaCreationToolはWindows10へのアップグレードの際にもお世話になるものだが、実のところ更新プログラムを適用する機能も公式に有しているようで、今回も最後に「更新プログラムのインストールが完了しました。」だったかな、そんな感じの表示があったので間違った使い方ではないのかもしれない。(OSのインストールが完了しましたとかが出てくると思ってた)

 

 結局失われたものは高速スタートアップの設定だけだった。普段は無効にしているのだが、これが有効に戻っていた。そのほかは以前のまま。通知センターのTwitterの通知さえ残っていた。ちなみに、プログラムと機能から更新プログラムを確認したところ、以前のものがいくつかが削除されていた。と言うより、再構成された感じなのかな。更新プログラムの構成が原因だったのか、ただ単に必要なのだけが適用されただけなのか。

 

 と言うわけで、無事に解決しました。めでたしめでたし。大元の原因が不明なままだけど。

 5.おわりに

 こう言う処置がどれだけシステムの安定性に影響を及ぼすのかは謎。だから理想的にはMicrosoft側からいずれ提供されるであろう修正パッチを待つのが吉。まあそれもインストールできなかったらだめだけど。今回の現象は報告が無くはないみたいだけどかなり少ないし、確立した解決策も特にないようなのでわりと困った部類だった。

 

 MediaCreationToolは本来Windowsのアップグレード用のツールで、今回はその過程で自動的に更新プログラムが適用されることを利用しようと考えた(最終的に元のOSは最新版が適用されたもので上書きされるはずなのでWindowsUpdateを妨げる要因も消えてなくなるだろう)。と思ったら、意外にも正規のやり方っぽかったし、これは今後も発生し得るWindowsUpdateのトラブルに対して有効な手段かもしれないので覚えておくことにする。

 

 まあ今回は幸運にもこの程度で解決できましたってことで。もしここに書いたことを試すなら自己責任お願いします。