полное удаление устройства в Windows 10 - PullRequest
0 голосов
/ 07 ноября 2018

Я занимаюсь разработкой USB-аудиоустройства на базе чипа STM32F429 с использованием HAL и CubeMX. Это устройство предназначено для использования в качестве USB-звуковой карты без специальных функций, поэтому оно использует стандартный аудиодрайвер Windows USB. Сгенерированный кубом код работает нормально, проблема в том, что когда я изменяю настройки дескриптора устройства (например, поддерживаемую частоту звука и т. Д.), Windows распознает устройство, но возвращает ошибку в диспетчере устройств:

Device not migrated
Device configured(usb.inf)
Device not started(usbccgp) 

В первом утверждении также говорится:

Device USB\VID_08DA&PID_82A7\00000002345A was not migrated due to partial or ambiguous match.

Когда я возвращаю дескриптор устройства в исходное состояние, когда он был подключен к компьютеру в первый раз, все работает просто отлично. Я полагаю, что проблема заключается в том, что Windows видит изменения в дескрипторе устройства для уже подтвержденного устройства и считает его неисправным.

Вопрос: как удалить всю информацию об установке устройства, чтобы система могла заново начать процесс настройки? Опция «Удаление устройства» в диспетчере устройств не работает - я все еще вижу историю всех событий после переподключения устройства.

1 Ответ

0 голосов
/ 08 ноября 2018

Я считаю, что проблема в том, что Windows видит изменения в дескрипторе устройства для уже подтвержденного устройства и считает его неисправным.

Ожидаемое поведение: когда ваши дескрипторы меняются, вы должны использовать другой PID (idProduct в дескрипторе устройства).

Windows использует тот же драйвер (кэшируется в реестре), когда видит в дескрипторе устройства одинаковые значения idVendor, idProduct и bcdDevice. Вам нужно будет изменить как минимум значение bcdDevice в вашем случае.

...