I usually keep my Win7/64 notebook asleep rather than turn it off, although every now and again it benefits from a reboot. The downsides are that every now and again the built-in keyboard isn't working on wakening, and (more often) the built-in WiFi doesn't wake up properly (giving the strange symptom of apparently being connected to the router but no further, citing "limited access").
I have discovered that, rather than reboot to cure the WiFi problem, it is easier to go into Device Manager and disable then re-enable the WiFi device driver. Unfortunately I couldn't find a similar strategy for the keyboard (maybe the driver is hidden), but now I am habitually using a USB keyboard that problem has gone away.
I've been looking for a way to streamline the WiFi "cure", but the best I have come up with so far is to put an icon for the Device Manager easy to find on the desktop. Then the procedure is:
- Click Device Manager icon;
- Accept the warning pop-up that I can't change anything without logging in as admin;
- Drill down to the relevant network adapter;
- Double-click (or right-click and select "properties");
- Click "change settings";
- Enter admin password;
- Select "driver" tab;
- Click "disable";
- Click "OK" on warning pop-up;
- Wait for "disable" button to change to "enable", then click it;
- Close driver properties window;
- Close Device Manager window.
If I didn't have a Device Manager icon set up, there would be another couple of steps to launch it from a command line or start it from Control Panel.
I was thinking there must be a way to do all this from the command line, so then I could put it in a .BAT (or .COM) and run as admin. Searching, I have found mention of two M$ utilities: devcon.exe and pnputil.exe. Comments on the former indicate it is part of the SDK and I could pull it in from somwhere, but apparently it doesn't play nicely with 64-bit. The
M$ page for devcon says "use pnputil", which I take to mean it is superseded.
As for the latter, "pnputil" on my command line brings up a syntax help:
Code:
C:\Windows\system32>pnputil /enum-drivers
Microsoft PnP Utility
Usage:
------
pnputil.exe [-f | -i] [ -? | -a | -d | -e ] <INF name>
Examples:
pnputil.exe -a a:\usbcam\USBCAM.INF -> Add package specified by USBCAM.INF
pnputil.exe -a c:\drivers\*.inf -> Add all packages in c:\drivers\
pnputil.exe -i -a a:\usbcam\USBCAM.INF -> Add and install driver package
pnputil.exe -e -> Enumerate all 3rd party packages
pnputil.exe -d oem0.inf -> Delete package oem0.inf
pnputil.exe -f -d oem0.inf -> Force delete package oem0.inf
pnputil.exe -? -> This usage screen
...notice there is no mention of "disable", "enable", or "restart".
However, the
M$ page for pnputil says otherwise:
Code:
Note PnPUtil (PnPUtil.exe) is included in every version of Windows, starting with Windows Vista (in the %windir%\system32 directory).
pnputil [/add-driver <...> | /delete-driver <...> |
/export-driver <...> | /enum-drivers |
/disable-device <...> | /enable-device <...> |
/restart-device <...> | /remove-device <...> |
/scan-devices <...> | /enum-devices <...> |
/enum-interfaces <...> | /?]
"Legacy" commands are mentioned down the page, so although "PnPUtil is included in every version of Windows, starting with Windows Vista", it seems not all versions are equal.
So, presuming pnputil.exe is self-contained, if some kind soul with Win10 would kindly zip and upload their pnputil.exe for me to try, I would be much obliged.