無線LANアダプタにビックリマークがついて接続できず

10年ほど前のノートパソコンNEC LaVie LL750/Mにて、突然インターネットへ接続できない事象が発生。
コントロールパネル>ネットワークとインターネット>ネットワーク接続
の中にWi-Fiアダプタが見えていない。イーサネットだけが見えている状態。

デバイスマネージャでみるとビックリマークが出ている。
無線LANアダプタは Intel(R) Centrino(R) Advanced-N 6205

この症状は他のパソコンでも見たことがあり、

  1. デバイスを一旦無効にし、有効に戻す
  2. ドライバを更新する
  3. デバイスを一旦削除して、もう一度検出させる

などで直ることが多かったが、今回は、
aでは直るものの、PC再起動後にまた同じ問題が発生してしまう。
bでは最新のドライバだと言われて更新がない。ローカルの別のドライバでもだめ。
cでは問題が解消しない。

この機種はWindows 8で販売され、どうも2016年ころにWindows 10用のドライバが出たようだが、ドライバを入れる前にWindows 10へアップグレードした場合こんな状態(不安定)になるらしく、そして、今はもうWindows 10対応のドライバはダウンロードできなくなってしまった。

やむを得ず、回避策として Intel(R) Centrino(R) Advanced-N 6205 を無効化してから有効化するバッチファイルを作って、Windowsログオン時に実行させることにした。

(0)準備
その前に、デバイスのON/OFFを簡単にできるという devcon.exe がPCに入っていなかったため個別にダウンロードした。
Windows Driver Kit(WDK)をインストールすれば入るらしいが、全部はいらないためdevcon.exeだけを入れることにした。

参考ページ)
https://techblog.nullstack.engineer/entry/install_devcon/

ダウンロード先)
https://download.microsoft.com/download/1/4/0/140EBDB7-F631-4191-9DC0-31C8ECB8A11F/wdk/Installers/787bee96dbd26371076b37b13c405890.cab

解凍した中の
filbad6e2cce5ebc45a401e19c613d0a28f を devcon.exe にリネームして使用する。

 

(1)デバイス無効→有効のバッチファイルを作成
ファイル名の例)Intel_Centrino_Advanced-N_6205_restart.bat

———-
:: devcon.exeのパス
@set DEVCON=”C:\Users\ユーザ名\Documents\device_restart\devcon.exe”

:: ネットワークカードの無効と有効
:: Intel(R) Centrino(R) Advanced-N 6205

%DEVCON% disable “PCI\VEN_8086&DEV_0085&SUBSYS_13118086&REV_34”
%DEVCON% enable “PCI\VEN_8086&DEV_0085&SUBSYS_13118086&REV_34”
———-

“PCI\VEN_8086&DEV_0085&SUBSYS_13118086&REV_34”
の部分はデバイスのハードウェアIDを入れる。
デバイスのプロパティの詳細タグでハードウェアIDはコピー可能。

(2)バッチファイルをpowershellで実行するラッパーのバッチファイルを作成
ファイル名例)startup.bat
———-
@echo off
powershell start-process C:\Users\ユーザ名\Documents\device_restart\Intel_Centrino_Advanced-N_6205_restart.bat -Verb runas
———-

powershellでラッパーを作ったのは、ユーザアカウント制御(UAC)のポップアップが出ることを回避するために、Administrator権限で実行しようとごにょごにょしたのだが、結局はできなかった。
Administratorのパスワードを設定してあればいけたかもしれない。

(3)Windowsログオン時に自動実行できるよう、この startup.bat スタートアップに入れておくと、ユーザアカウント制御のポップアップがでるが一応目的が達せられる。
ポップアップを避けたい場合、ユーザ アカウント制御を無効にするのは一つの手。しかし、セキュリティの低下は覚悟の上。

 

最終的には、スタートアップに入れるのをやめてつまりログオン時実行をやめて、タスクスケジューラの「システム起動時実行」へ変更した。これならユーザアカウント制御を無効にせずに済む。