February 28, 2011

Windows 7 SP1 USB Driver bug

Looks like the SP1 doesn't update the USB drivers properly


Run this from command prompt

  cd %SystemRoot%\System32\drivers
  dir usbehci.sys usbport.sys winusb.sys

And if any of the files are dated July 2009 instead of November 2010, then you are affected.

quickfix:
1. get http://code.kliu.org/misc/pendmove/ and put it in the path.
2. run batch file

@echo off
echo Reminder: This must be run from an elevated command prompt!
pause

if ["%PROCESSOR_ARCHITECTURE%"] == ["x86"]   goto x86-32
if ["%PROCESSOR_ARCHITECTURE%"] == ["AMD64"] goto x86-64

echo Invalid PROCESSOR_ARCHITECTURE!
goto end

:x86-32
set SourceRoot=%SystemRoot%\winsxs\x86_usbport.inf_31bf3856ad364e35_6.1.7601.17514_none_bfc9c95e61cfba61
set SourceRoot2=%SystemRoot%\winsxs\x86_winusb.inf_31bf3856ad364e35_6.1.7601.17514_none_f9fc4e7173e3735c
goto start

:x86-64
set SourceRoot=%SystemRoot%\winsxs\amd64_usbport.inf_31bf3856ad364e35_6.1.7601.17514_none_1be864e21a2d2b97
set SourceRoot2=%SystemRoot%\winsxs\amd64_winusb.inf_31bf3856ad364e35_6.1.7601.17514_none_561ae9f52c40e492
goto start

:start
pushd %SystemRoot%\System32\drivers

copy %SourceRoot%\usbehci.sys usbehci.sys.new
pendmove usbehci.sys.new usbehci.sys

copy %SourceRoot%\usbport.sys usbport.sys.new
pendmove usbport.sys.new usbport.sys

if exist winusb.sys (
    copy %SourceRoot2%\winusb.sys winusb.sys.new
    pendmove winusb.sys.new winusb.sys
)

popd
echo Now you need to reboot.

:end
pause


See full thread at http://forums.mydigitallife.info/threads/24666-The-Windows-7-SP1-USB-Driver-Bug-(what-it-is-and-how-to-fix-it)


EDIT
Looks like hotfix KB2615763-v2 eliminates the need for this garbage. See forum post dated 19 Oct 2011, 12:35 AM