Device Descriptor Request Failed

После покупки нового компьютера и кардридера Ginzzu GR-166UB столкнулся с такой проблемой, что если компьютер долго стоял выключенным – при включении кардридер не работал. При чем, его светодиод загорался на этапе инициализации BIOS, а вот как только начинал грузиться Windows – гас, и система его не видела. Если заглянуть в Device Manager, то было видно устройство с ошибкой – иногда оно называлось USB Mass Storage, иногда USB Mass Storage, выдающее ошибку Device Descriptor Request Failed:
Device Manager

Причем, если его взять и отключить через меню, а потом снова включить – кардридер тут же определялся, загорался светодиод и все начинало работать. Создается впечатление, что девайс каким-то образом не успевает поснуться до его опроса системой. Я перепробовал кучу способов, предложенных в интернетах: удалял и снова ставил все USB-дрова, отключал fast boot, отключал засыпание USB в настройках электропитания, обновлял BIOS материнки – ничего не помогало. Девайс работал, если комп просто перезагрузить, или включить после недолгого отключения – но на следующее утро он опять не “просыпался”. Тогда придумал свой способ.

Качаем маленькую (138 kB) утилитку DevManView, распаковываем ее куда-нибудь на диске, на моем примере – C:\PortableProgs\DevManView\

Создаем новый таск в планировщике задач, который будет загружаться при логине пользователя в Windows, и с помощью этой утилитки и ее команды /disable_enable делаем отключение и включение глючного устройства. Обязательно указываем запускать с высшими привилегиями, иначе UAC постоянно будет спрашивать разрешения:
General Tab

Указываем триггер – запускать при логине любого пользователя. Делаем задержку в 3 минуты – у меня почему-то выдавало ошибку, если пытаться запустить сразу при логине, или даже спустя минуту. 3 минуты – норм:Trigger Tab

Ну и теперь собственно акшн – запуск программы с нужным параметром. Но для этого надо узнать имя и путь глючащего устройства. В диспетчере устройств просто кликаем дважды по нашему устройству с ошибкой, смотрим его Device instance path и копируем:
Unknown USB Device (Device Descriptor Request Failed) Properties

Т.е. в моем случае получилась вот такая команда, если работать с консоли:

"C:\PortableProgs\DevManView\DevManView.exe" /disable_enable "USB\VID_0000&PID_0002\5&3653F569&0&17"

Вставляем ее в таск – теперь при загрузке системы девайс автоматом быстренько будет переопределяться сам:
Action Tab