Problem:
Podczas instalowania sterowników urządzenia USB instalacja została nagle przerwana lub zainstalowano niewłaściwe sterowniki dla urządzenia USB. W sytuacji pierwszej system nie rozpoznaje urządzenia USB, a w drugiej nie mamy możliwości wymuszenia ponownej instalacji właściwych sterowników dla już zainstalowanego urządzenia USB w systemie operacyjnym windows.
Pierwsza sytuacja zdarzyła się, gdy podłączyłem dysk zewnętrzny na porcie USB, system rozpoczął instalacje sterowników dla tego urządzenia i nagle instalacja została przerwana (przez nagłe wyciągnięcie przewodu z portu USB lub zasilania). Po tej operacji każdorazowe podłączenie dysku zewnętrznego kończyło się komunikatem “Nie rozpoznano urządzenia USB”.
W drugiej sytuacji eksperymentowałem ze sterownikami drukarki podłączonej z komputerem przez port USB. Gdy okazało się, że zainstalowane sterowniki nie spełniają moich oczekiwań w żaden sposób nie mogłem wymusić ponownej instalacji właściwych sterowników dla tej drukarki.
Przyczyna:
System operacyjny windows po pierwszej instalacji sterowników dla urządzenia USB nadaje mu identyfikator pozwalający przypisanie konkretnemu urządzeniu właściwe sterowniki. Informacje te zapisywane są w rejestrze systemowym oraz w pliku INFCACHE.1 znajdującym się w katalogu odpowiednim dla:
- Windows 7 - C:\Windows\System32\DriverStore.
- Visty i Windows XP - C:\Windows\inf.
Jeśli plik INFCACHE.1 zawiera błędne wpisy to system nie rozpozna podłączonego urządzenia na porcie USB.
Rozwiązanie:
Należy usunąć zapisane w systemie informacje o sterownikach urządzeń USB przez:
- dodanie nowej zmiennej systemowej devmgr_show_nonpresent_devices pozwalającej na wyświetlenie urządzeń zdublowanych na liście kontrolerów uniwersalnej magistrali szeregowej w menadżerze urządzeń;
- fizyczne odłączenie od komputera wszystkich urządzeń USB i usunięcie wszystkich pozycji z listy Kontrolerów uniwersalnej magistrali szeregowej w Menadżerze urządzeń;
- usunięcie z systemu pliku INFCACHE.1
Aby to wykonać należy postępować wg niżej opisanej procedury:
- Dodajemy nową zmienną systemową otwierając okno właściwości komputera (Komputer – prawy klawisz myszy – Właściwości). Wybieramy Zaawansowane ustawienia systemu
We właściwościach systemu na zakładce Zaawansowane wybieramy przycisk zmienne środowiskowe
i dla Zmiennych systemowych wybieramy Nowa
wprowadzamy nazwę nowej zmiennej: devmgr_show_nonpresent_devices oraz wartość: 1
- Odłączamy wszystkie fizycznie podłączone do komputera urządzenia USB i uruchamiamy konsolę menadżera urządzeń devmgmt.msc w kontekście administratora (w okienku Wyszukaj wpisujemy devmgmt.msc i na znalezionej pozycji – prawy klawisz myszy - Uruchom jako administrator).
W oknie Menadżera urządzeń w menu Widok zaznaczamy Pokaż ukryte urządzenia.
Następnie z listy Kontrolery uniwersalnej magistrali szeregowej usuwamy wszystkie pozycje przez zaznaczanie każdej prawym klawiszem myszy i wybranie z menu Odinstaluj:
Czynność tą powtarzamy dla każdej pozycji tak aby na koniec lista Kontrolerów uniwersalnej magistrali szeregowej była pusta.
- Odnajdujemy plik INFCACHE.1 w odpowiednim katalogu:
- Windows 7 - C:\Windows\System32\DriverStore.
- Visty i Windows XP - C:\Windows\inf
Zmieniamy uprawnienia tego pliku przez zaznaczenie go prawym klawiszem myszy – Właściwości - zakładka Zabezpieczenia - przycisk Edytuj
Dla grupy Użytkownicy nadajemy uprawnienia “Pełna kontrola” jak na rysunku
Teraz plik INFCACHE.1 kopiujemy np. na pulpit tak na wszelki wypadek, a następnie usuwamy go z katalogu C:\Windows\System32\DriverStore (C:\Windows\inf)
- Następnie uruchamiamy ponownie komputer.
Uwaga ! nie wolno podłączać urządzeń USB przed restartem komputera.
- Po restarcie można podłączyć urządzenia USB. Każde z podłączanych urządzeń będzie miało na nowo instalowane sterowniki.
Źródło:
Ciekawy wpis
OdpowiedzUsuńNieszablonowy opis problemu
OdpowiedzUsuń