Когда в свойствах неизвестного USB-устройства в Диспетчере устройств Windows вы видите строку Class FF / SubClass 00 / Prot FF, это означает, что подключённое устройство объявляет себя как vendor-specific — устройство с интерфейсом, определяемым производителем. Операционная система не может подобрать для него стандартный классовый драйвер, потому что его просто не существует: вендор использует собственный протокол обмена данными.
Так объявляют себя многие программаторы, отладочные платы, мобильные телефоны в сервисных режимах, адаптеры, тестовое оборудование и различная электроника на базе микроконтроллеров. Ниже разберём, что означают эти коды, почему устройство не работает и как найти нужный драйвер без риска установить что-то лишнее.
Что означают коды Class FF, SubClass 00, Prot FF
Каждое USB-устройство при подключении передаёт хосту дескрипторы — служебные структуры данных, описывающие его тип. Поля bDeviceClass, bDeviceSubClass и bDeviceProtocol сообщают системе, к какому стандартному классу относится устройство: накопитель, HID-устройство, аудио, сетевая карта и так далее.
Значение 0xFF в поле класса зарезервировано спецификацией USB для vendor-specific class. Это сигнал: «стандартного драйвера для меня нет, обратитесь к производителю». Поля SubClass 00 и Protocol FF в этом случае несут минимальную информацию — разработчик устройства не стал детализировать подкласс, а протокол снова пометил как фирменный.
- 🔧 Class FF — класс, определяемый производителем (vendor-specific), стандартный драйвер отсутствует
- 📋 SubClass 00 — подкласс не задан, производитель не детализировал категорию
- 🔐 Prot FF — протокол обмена данными фирменный, известен только вендору
- 🆔 Реальная идентификация устройства выполняется по паре VID_xxxx&PID_xxxx — кодам производителя и продукта
Коды FF/00/FF — не ошибка, а штатное объявление устройством того, что ему нужен фирменный драйвер. Искать драйвер нужно по VID и PID, а не по этим кодам.