Код Class FF / Subclass 06 в свойствах USB-устройства означает, что гаджет использует вендор-специфичный класс (Vendor Specific, 0xFF), и Windows не смогла подобрать для него стандартный драйвер — в диспетчере устройств такое устройство обычно отображается с жёлтым восклицательным знаком или как «Неизвестное USB-устройство». Это типичная ситуация для программаторов, диагностических адаптеров, токенов, 3D-принтеров и китайских гаджетов с чипами CH340, FTDI или CP210x.
Класс 0xFF зарезервирован спецификацией USB для устройств, чьи протоколы не вписываются в стандартные классы (HID, Mass Storage, CDC и другие). Subclass 06 при этом не является официально задокументированным значением — его интерпретация полностью зависит от производителя конкретного чипа. Поэтому универсального драйвера «под код FF 06» не существует: нужно определить реальное железо по идентификаторам VID/PID.
Что означают коды Class FF и Subclass 06
Каждое USB-устройство при подключении сообщает системе набор дескрипторов: Device Class, SubClass и Protocol. Операционная система по этим кодам решает, какой драйвер загрузить. Значение FFh (255 в десятичной системе) — это сигнал «класс определяет производитель», и дальше Windows ориентируется уже не на класс, а на пару VID (Vendor ID) и PID (Product ID).
Subclass 06 встречается, например, у некоторых интерфейсов отладки, программаторов микроконтроллеров и устройств на базе чипов FTDI в специфических режимах. Однако однозначной расшифровки у этого кода нет — один и тот же Subclass 06 у разных производителей может означать совершенно разные протоколы обмена.
- 🔧 Class FF — вендор-специфичный класс, стандартный драйвер не подходит;
- 🔢 Subclass 06 — субкласс, смысл которого задаёт производитель чипа;
- 🆔 VID/PID — уникальные идентификаторы, по которым реально ищется драйвер;
- 💾 Protocol — третий байт дескриптора, уточняющий протокол обмена.
Класс FF говорит лишь о том, что драйвер должен быть от производителя. Искать его нужно не по коду класса, а по VID и PID устройства.
Где посмотреть код устройства в Windows
Чтобы увидеть коды класса и идентификаторы, откройте Диспетчер устройств (команда devmgmt.msc через Win+R), найдите проблемное устройство, кликните правой кнопкой и выберите Свойства. На вкладке Сведения в выпадающем списке выберите свойство «ИД оборудования» — там будут строки вида USB\VID_1A86&PID_7523.
Дополнительно полезно посмотреть свойство «Класс устройства» и «Совместимые ИД» — иногда система подставляет туда код класса в формате USB\Class_FF&SubClass_06. Также дескрипторы можно посмотреть бесплатной утилитой USBView от Microsoft, которая показывает полную структуру дескрипторов любого подключённого устройства.
Сфотографируйте или скопируйте строку ИД оборудования целиком — по ней удобно искать драйвер в поисковике и на профильных форумах.
Типичные устройства с классом FF
Чаще всего с кодом Class FF пользователь сталкивается при подключении специализированной техники. Стандартные флешки, мыши и клавиатуры так себя не ведут — они используют документированные классы.
| Тип устройства | Типичный чип | Где искать драйвер |
|---|---|---|
| Программаторы микроконтроллеров | FTDI, собственные USB-стеки | Сайт производителя программатора |
| Диагностические автоадаптеры | FTDI, STM32 | Комплект ПО адаптера |
| 3D-принтеры и ЧПУ-контроллеры | CH340, CP210x, FTDI | Сайт производителя чипа или платы |
| Токены и ключи защиты | Собственные контроллеры | Сайт вендора ключа |
| Отладочные платы и JTAG-адаптеры | FT2232, собственные | Документация к SDK |
Обратите внимание: многие устройства на CH340 или CP210x формально должны определяться как виртуальный COM-порт (класс CDC или вендор-специфичный с драйвером), но без установленного драйвера система показывает именно «неизвестное устройство класса FF».
Пошаговая установка драйвера
Правильная стратегия — идти от идентификаторов к драйверу, а не наоборот. Установка «драйверпаков» и автоматических утилит для вендор-специфичных устройств часто заканчивается несовместимым драйвером или вовсе вредоносным ПО.
☑️ Порядок установки драйвера для Class FF
Если драйвер скачан в виде INF-файла без установщика, установите его вручную: в диспетчере устройств выберите Обновить драйвер → Найти драйверы на этом компьютере и укажите папку с распакованным драйвером. После установки устройство должно перейти в свою штатную категорию — например, в раздел Порты (COM и LPT).
pnputil /add-driver C:\Drivers\device.inf /install
Команда выше — альтернативный способ добавить драйвер в хранилище Windows через командную строку администратора. Она полезна, когда мастер обновления драйверов «не видит» подходящий INF.
⚠️ Внимание: не устанавливайте драйверы с файлообменников и «сборников драйверов» — для вендор-специфичных устройств под видом драйвера часто распространяется вредоносное ПО. Источником должен быть только сайт производителя чипа или устройства.
Если драйвер не помогает: диагностика
Иногда устройство остаётся с ошибкой даже после установки корректного драйвера. Прежде чем винить драйвер, проверьте аппаратную часть — она даёт сбои не реже программной.
- 🔌 Попробуйте другой USB-порт, желательно напрямую на материнской плате, без хабов;
- 🧵 Замените кабель — кабели «только для зарядки» без линий данных дают именно такую картину;
- 💻 Проверьте устройство на другом компьютере, чтобы отделить проблему ПК от проблемы гаджета;
- 🔄 Удалите устройство в диспетчере вместе с драйвером и подключите заново для чистой установки.
Отдельный случай — ошибка Код 43 или «сбой запроса дескриптора устройства». Она указывает, что устройство отвечает на шине некорректно: возможная причина — неисправность самого гаджета, недостаточное питание по USB или повреждённый кабель. Здесь драйвер уже ни при чём.
⚠️ Внимание: поддельные чипы FTDI в дешёвых адаптерах могут блокироваться официальными драйверами FTDI. Если адаптер перестал работать после обновления драйвера, это возможный признак контрафактного чипа — используйте версию драйвера, рекомендованную продавцом устройства, или замените адаптер.
Как узнать производителя по VID
Откройте публичную базу идентификаторов USB (например, реестр usb-ids) и введите четырёхзначный шестнадцатеричный VID из строки ИД оборудования. База покажет название компании-производителя и, часто, конкретное устройство по PID. Дальше драйвер ищется уже на сайте этой компании.
Особенности для разработчиков
Если вы разрабатываете собственное USB-устройство на микроконтроллере и видите Class FF Subclass 06 — это нормально: вы сами задали эти коды в дескрипторах. Для такого устройства потребуется либо собственный драйвер, либо привязка к WinUSB через INF-файл или дескрипторы Microsoft OS 2.0, чтобы Windows загружала WinUSB автоматически.
Для отладки на этапе прототипа удобны библиотеки libusb и libusbK: они позволяют обмениваться данными с вендор-специфичным устройством без написания полноценного драйвера ядра. Утилита Zadig помогает привязать устройство к WinUSB/libusb в пару кликов, но используйте её осознанно — она заменяет штатный драйвер устройства.
Для собственных устройств класса FF самый простой путь — привязка к WinUSB через Microsoft OS Descriptors, тогда Windows подхватит устройство без подписанного драйвера.
Часто задаваемые вопросы
Class FF Subclass 06 — это вирус?
Нет, это всего лишь коды из дескриптора USB-устройства, означающие вендор-специфичный класс. Однако вредоносное ПО иногда маскируется под драйверы для таких устройств, поэтому скачивайте драйверы только с сайтов производителей.
Можно ли найти универсальный драйвер по коду FF 06?
Нет. Subclass 06 не стандартизирован, и у разных производителей он означает разное. Драйвер подбирается только по паре VID/PID конкретного устройства.
Устройство определяется как FF 06 только на одном компьютере. В чём дело?
Возможная причина — отсутствие драйвера именно на этом ПК, проблемы с USB-портом или питанием порта. Проверьте другой порт, другой кабель и установите драйвер от производителя.
Чем посмотреть полные дескрипторы USB-устройства?
Используйте бесплатную утилиту USBView от Microsoft или аналогичные инструменты — они показывают все дескрипторы, включая класс, субкласс, протокол, VID и PID.
После обновления Windows устройство перестало работать. Что делать?
Возможно, обновление заменило драйвер. Откатите драйвер через кнопку «Откатить» в свойствах устройства или переустановите драйвер от производителя заново.