数日ごとに使えなくなるBluetooth、Windows 10にこれからも働いてもらうために……:山市良のうぃんどうず日記(123)(2/2 ページ)
筆者の手元にあるノートPCの1台は、購入してから5年以上がたちますが、最新のWindows 10が動いていますし、ハードウェアが致命的に壊れるまではこのまま使い続けるつもりです。しかし、難点が1つ。Bluetoothデバイスがたびたび使用不能になることです。問題を解消する方法はあるのですが、数日たつと再現するのです。さて、どうしたものでしょう。
Bluetoothをリセットするためのサンプルバッチ改良版
試行錯誤の末に、できたのが以下の改良版「resetbt.cmd」です(リスト2)。
@ECHO OFF REM Qualcomm Atheros AR3011 Bluetooth 3.0の問題をチェック C:\demo\devcon.exe status "@USB\VID_0CF3&PID_3002\6&3B0CF529&0&4" |findstr "problem" IF %ERRORLEVEL% == 0 GOTO RESETBT C:\demo\devcon.exe status "@USB\VID_0CF3&PID_3002\6&3B0CF529&0&4" |findstr "stopped" IF %ERRORLEVEL% == 0 GOTO RESETBT REM その他の任意のBluetooth関連ドライバが実行中であることをチェック C:\demo\devcon.exe status "@BTHENUM\*" |findstr "running" IF %ERRORLEVEL% == 0 GOTO END :RESETBT ECHO Bluetoothデバイスの問題を発見! SET /P YESNO="Do you want to reset this device ? (y/n): " IF "%YESNO%"=="n" GOTO END ECHO 問題のデバイスのアンインストール(再起動が必要な場合あり)... C:\demo\devcon.exe -r remove "@USB\VID_0CF3&PID_3002\6&3B0CF529&0&4" IF %ERRORLEVEL%==0 GOTO NEXT ECHO コンピュータの再起動が必要です。 PAUSE shutdown /r /t 0 GOTO END :NEXT ECHO ハードウェア変更の再スキャン... C:\demo\devcon.exe rescan ECHO デバイスのステータスを更新(15秒間待ってから)... TIMEOUT /T 15 /NOBREAK C:\demo\devcon.exe status "@USB\VID_0CF3&PID_3002\6&3B0CF529&0&4" :END
改良版では、最初のBluetoothデバイスで問題がある場合(The device has the following problem...またはDriver is stopped)、そのデバイスをアンインストールして、再スキャンします。デバイスが正常に動作している(Driver is running)にもかかわらず、関連する他のデバイス(インスタンス名「BTHENUM\」から始まるデバイス)のドライバが1つも動作していない場合も、最初のデバイスをアンインストールします。
また、デバイスのアンインストール時に再起動が要求される場合(devcon removeの「-r」オプションは再起動が必要な場合に「0」以外のエラーコードを返します)、バッチを一時停止してユーザーに示します。
それでは改良版を試してみましょう。問題のBluetoothデバイスに[!]マークが付いている場合、問題を検出してデバイスをリセット(アンインストール)するかどうかをユーザーに問い合わせます(画面5)。「y」と入力すると、デバイスをアンインストールし、再スキャンして、デバイスが検出されるまでしばらく(15秒)待ち、その後、デバイスのステータスを再確認します(画面6)。
Bluetoothデバイスに[!]マークが付いておらず、他の関連デバイスが認識されていない場合は、デバイスをアンインストール後、コンピュータの再起動を知らせるためにバッチを一時停止します(画面7)。何かキーを押すと、再起動が始まり、起動が完了すると、Bluetoothデバイスが全て正常な状態に戻ります。
リスト2のバッチは、筆者のノートPCで動くように作ってあります。他のPCでそのまま使えるものではありません。また、問題を根本的に解決するものではなく、ごまかしながら使い続けるために、面倒な操作をバッチ化しただけのものです。
筆者の場合は、しばらく使っていたところ、デバイスのインスタンスIDが変わってしまい、バッチを修正する必要がありました。しかしながら、デバイスの制御にPowerShellコマンドレットやdevcon.exeが利用可能であることと、これらの使い方のヒントにはなると思います。同じような問題に悩んでいる方の手助けになれば幸いです。
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 特集「Windows Server 2008/2008 R2 サポート終了対策ポータル」
- 年の初めに再確認、2018年にサポートが終了するMicrosoft製品は?
Microsoftは同社の製品およびサービスについて、明確なサポートポリシー(ただし、途中で変更あり)に基づき、更新プログラムを含むサポートを提供しています。2018年は主に10年前にリリースされた製品がサポート終了を迎えます。どのような製品があるのか、年の初めに再確認し、使用していないかどうかを調べておきましょう。 - 再考、Windows OSのライフサイクル――安心して2020年を迎えるために
Windowsのサポートライフサイクル期限が近づくたびに、サポート終了の影響やアップグレードの必要性が話題になります。特に2014年4月にWindows XPのサポートが終了してからがそうです。その理由は、Windows PCやインターネットの普及、Microsoftのサポートポリシーの明確化(や変更)、新たなセキュリティ脅威の登場など、さまざまです。2017年4月にWindows Vistaのサポートが終了しました。次は、Windows 7の番です。 - Windows Server 2012 R2で行こう!
Windows Server 2003のサポート終了日「2015年7月」がいよいよ迫ってきた。現在Windows Server 2003を利用している企業は、新しいOSへの移行を本格的に検討する必要があるだろう。本稿では、Windows Server 2003から最新のWindows Server 2012 R2へ移行する理由やメリットについて取り上げる。 - サポート切れのサーバーOSを使い続けるリスクは経営課題と考えるべき
OSのサポートが終了すると、セキュリティ面で大きな問題を抱えることになる。では、サポート終了後もWindows Server 2003を使い続けることによって、企業はどのようなリスクを負うことになるのだろうか。IPAの渡辺貴仁氏に話を聞いた。