Problème du pilote USB après l’installation du SP1 de Windows 7

Après application du Service Pack 1 de Windows 7 sous forme d’exécutable, certains utilisateurs ont vu leurs ports USB 2.0 rétrogradés à l’âge de pierre en USB 1.1 (la version 2 date de l’an 2000). Ce qui implique des taux de transferts fortement réduits et le joli message : « Cet appareil peut fonctionner plus rapidement, ce périphérique USB peut être plus rapide si vous le connectez à un port USB 2.0 à haut débit. » à chaque fois qu’on branche un périphérique USB 2.0 (sur un port pourtant compatible USB 2.0!). Voici comment résoudre ce problème.

Après avoir appliqué le SP1 de Windows Seven par les fichiers exécutables (windows6.1-KB976932-X64.exe ou windows6.1-KB976932-X86.exe), les ports USB 2.0 de votre ordinateur se transforment en vieux USB 1.1.

Ce problème majeur concerne au moins tous ceux qui ont un contrôleur USB nVidia (c’est le cas de toutes les cartes mères à base de chipset nForce) et qui ont supprimé les fichiers de sauvegarde dédiés à la désinstallation du SP1 (via la commande « DISM /Online /Cleanup-Image /spsuperseded ») pour économiser de la place sur leur disque dur.
Pour les autres qui ont supprimé ces fichiers de sauvegarde, en fonction de leur matériel et de leur configuration, ils ont soit le même problème, soit, moins grave, conservé l’ancienne version du pilote USB 2.0 ou encore pire, des ports USB inactifs.

En fait cette opération de suppression des fichiers de sauvegarde nettoie tous les correctifs qui ont été remplacés par le SP1 dans les répertoires WinSxS et DriverStore et qui ne sont que des copies non utilisées. Sauf que l’installeur du SP1 ne met pas à jour les pilotes actifs dans le répertoire System32\Drivers.

Deux solutions pour résoudre ce problème


Méthode 1

  • Supprimer le contrôleur USB via le Gestionnaire des périphériques, celui-ci sera réinstallé au démarrage du système avec les pilotes stockés dans WinSxS ou DriverStore.

Cette astuce est très simple à appliquer mais l’inconvénient de cette méthode est que les ports USB seront considérés comme nouveaux. Ainsi, tous les périphériques qui étaient connus du système auparavant seront réinstallés et eux aussi considérés comme nouveaux (ce qui peut poser problème avec certains logiciels qui reconnaîtront plus les périphériques USB). Ca ne devrait donc poser problème qu’à peu de gens.


Méthode 2

  • Télécharger pendmove et le copier dans Windows\System32 (il faut les droits Administrateur local pour écrire dans ce logiciel, il est donc recommandé de désactiver les copieurs tels que SuperCopier ou TeraCopy pour effectuer cette manipulation). Pour information, pendmove est l’équivalent compatible 64 bits de l’utilitaire MoveFile de la suite Sysinternals.
  • Créer et exécuter le batch suivant avec les privilèges Administrateur local.
@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

  • Redémarrer l’ordinateur.
  • En cas de « problème de signature », il suffit de redémarrer une seconde fois l’ordinateur pour que les fichiers soient correctement remplacés.

Pour ne pas avoir le problème

Pour ne pas être concerné par ce souci de reconnaissance des ports USB 2.0, il suffit de procéder à la mise à jour du Service Pack 1 de Windows Seven via Windows Update, ou de l’installer par l’exécutable autonome mais sans supprimer les fichiers d’installation.

Note : le problème peut également apparaitre sur Windows Server 2008 R2, étant donné que les deux systèmes d’exploitation partagent le même Service Pack.

Article entièrement rédigé par MatC, auteur d’un blog sur l’actualité moto et sports mécaniques à deux rouessource