USB работает только после перезагрузки…

10.01.2019 0 Автор GodKnowses

В статье разбирается попытка исправить ошибку, когда USB работает только после перезагрузки Windows. При этом только что вынутая из USB флешка отказывается распознаваться: приходится перезагружать Windows и переустанавливать драйверы.

Пользователи Windows не понаслышке знакомы с проблемами, возникающими с адаптерами USB портов. Насколько возможно, проблема рассмотрена в статье блога Проблема с USB драйверами. Однако одна из них, хотя и относится по большей части к операционным системам прошлых поколений этой линейки, иногда продолжает всплывать.

Её суть заключается в том, что после перезагрузки Windows одно или несколько устройств (кстати, не только USB устройств) перенаправляются на другой порт, делая определение устройства, подключённого к USB или COM порту, невозможным. Пользователю приходится заново переустанавливать драйверы через Диспетчер устройств или перенастраивать клиентский софт. Или перетыкать устройство по портам компьютера, пока оно не будет обнаружено. В Диспетчере устройств такая проблема проявляется постоянно возрастающим числом COM и других портов (обычно они скрыты – включите опцию Вид -> Показать скрытые устройства).

USB работает только после перезагрузки: вероятные причины и симптомы

 Вряд ли у вас всегда под рукой будет находиться (пусть и недорогой) тестер USB порта/флешки, которая с лёгкостью позволяет вычленять многие проблемы с ними связанные. Наша же проблема нередко связана с тем, что подключаемое устройство либо не имеет собственного ИД (а производители, кстати, и не обязаны это делать), либо перечисление смешивается с ИД устройствами того же производителя. Система также создаёт новый COM порт заново. В результате чего вытаскиваемая из USB флешка/мышь/клавиатура перестают определяться в том же сеансе. Вобщем, проблема скользкая, но Microsoft о ней осведомлена, и потому давно предложила кое-какое, но решение. Суть его состоит в том, что пользователь может задать определённый параметр в реестре, запоминающий ИД конкретного устройства. По замыслу Microsoft это может решить вопрос с постоянной переустановкой драйверов после перезагрузки системы.

Решение я выложу в этой статье, насколько оно результативно решать вам. Для примера я воспользуюсь “беспроблемной” собственной флешкой (сымитировать проблему у меня не получилось):

Итак, устройство должно верно определяться системой и должно быть установлено. Скопируем его ИД оборудования:

USB\VID_1005&PID_B113&REV_0110

Зафиксируем буквенно-цифровые значения от VID_ / PID_ до &, слеша и прочих символов:

1005B113

Запомним получившееся сочетание. Приступаем к изменению в реестре. Отправляемся в редактор реестра к ключу:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags

Справа в указанном разделе создадим REG_DWORD параметр под именем IgnoreHWSerNumХХХ. Где XXX – это те символы, которые присутствуют в ИД устройства, которое приходится переустанавливать. В моём случае оно принимает вид:

IgnoreHWSerNum1005B113

Активируем параметр, придав ему значение 1. Если устройств несколько, для каждого из них придётся указывать свой, новый параметр. Вот этот пользователь, кстати, успешно решил проблему с COM портами созданием двоичного параметра REG_BINARY и присвоением значения 01. Обратите внимание на рукописный reg-файл для реестра.

Ошибки или если что-то пошло не так…

Если проблема усугубилась или ситуация не поправилась, проблема видится глубже. Моя личная догадка, но, если система не способна запомнить устройства по определённым контроллерам уже во время сеанса, причина может лежать в BIOS. Простейшим способом проверить это будет:

  • традиционный и правильный сброс настроек BIOS (*отключаем компьютер, *вынимаем батарейку из паза, *оставляем гнездо пустым не менее 5 минут, при этом нажимая несколько кнопку ОБЕСТОЧЕННОГО компьютера как бы вхолостую, *ставим батарейку обратно)
  • проверить напряжение на батарейке (по моим собственным наблюдениям, при напряжении не ниже 2,7 В она ещё хоть что-то “может”; если показания не вписываются с пределы измерений – батарейку лучше заменить)
  • если проверить состояние батарейки нечем, просто вынимаем и идём в магазин за новой.

USB работает только после перезагрузки: что дальше?

Проблема осталась? Где искать созданный только что параметр и откуда его удалить, вы знаете. К сожалению, в дальнейших инструментах мы с вами ограничены. Одному из пользователей я посоветовал выделить время на перепрошивку BIOS материнской платы (если я верно понял его проблему). О результатах тот не отписался, но этот вариант предлагаю и вам. Это не кардинальный, но часто действенный способ, которого боятся не стоит. Вам нужно обнаружить подходящую версию драйвера чипа, записать на носитель (проверив, насколько корректно определяется это устройство с прошивкой в самой BIOS) и провернуть операцию по перепрошивке. Она времени долго не займёт, просто следите за бесперебойным питанием компьютера.

Вобщем, кто столкнулся с проблемой, когда USB работает только после перезагрузки, и гарантийно её решил – поделитесь.

Успехов.