Когда в диспетчере устройств Windows неизвестное устройство показывает в свойствах строку USB\Class_ff&SubClass_00&Prot_00, система сообщает вам конкретный факт: подключённое устройство использует вендор-специфичный класс USB (код FFh), и стандартного драйвера для него в Windows нет. Это не ошибка и не признак поломки — это нормальное поведение для устройств, производитель которых не использует стандартные классы USB (HID, Mass Storage, CDC) и требует установки собственного драйвера.

Строка Class_ff SubClass_00 Prot_00 встречается при подключении самых разных устройств: диагностических адаптеров, программаторов, 3D-принтеров в некоторых режимах, промышленных контроллеров, тюнеров и кастомных плат. Ниже разберём, как читать эти коды, почему устройство не определяется автоматически и как безопасно подобрать драйвер.

Что означают коды Class, SubClass и Protocol в дескрипторе USB

Каждое USB-устройство при подключении передаёт хосту дескриптор устройства — структуру данных с идентификаторами. Три поля из этой структуры определяют, какой драйвер должна загрузить операционная система:

  • 🔹 Class (bDeviceClass) — общий класс устройства. Значение FFh (255 в десятичной) зарезервировано спецификацией USB как Vendor Specific — «определяется производителем».
  • 🔹 SubClass (bDeviceSubClass) — подкласс внутри класса. Значение 00 означает, что производитель не задал уточнение.
  • 🔹 Protocol (bDeviceProtocol) — протокол обмена. Значение 00 — протокол не стандартизирован, определяется вендором.

Для сравнения: флешка сообщает класс 08h (Mass Storage), клавиатура — 03h (HID), а виртуальный COM-порт — 02h (Communications). Для всех них в Windows есть встроенные драйверы, поэтому они работают «из коробки». Класс FFh — это сигнал: стандартного драйвера не существует в принципе, нужен драйвер от производителя конкретного устройства.

💡

Class FF — это не ошибка, а легальный код «вендор-специфичное устройство». Windows корректно его распознаёт, но драйвер должен предоставить производитель устройства.