Коды Class FF, Subclass FF, Protocol FF в свойствах USB-устройства означают, что Windows видит подключённый гаджет, но не может определить его тип: значение FF (в шестнадцатеричной системе — 255) зарезервировано спецификацией USB как vendor-specific, то есть класс, определяемый самим производителем, а не стандартом USB-IF. Чаще всего такая запись появляется в диспетчере устройств при подключении смартфона в режиме прошивки, диагностического адаптера, ТВ-приставки или платы разработчика без установленного драйвера.

Эта ситуация не является поломкой: устройство физически исправно и отвечает на запросы шины USB, но операционной системе неизвестно, какой программный интерфейс с ним использовать. Дальше разберём, откуда берутся эти коды, как понять, что за устройство скрывается за ними, и как подобрать корректный драйвер без риска для системы.

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

Каждое USB-устройство при подключении передаёт хосту дескриптор — структуру данных с идентификаторами производителя (VID), продукта (PID) и кодами класса. Поле bDeviceClass сообщает системе, к какой категории относится устройство: накопитель (08), HID-устройство вроде клавиатуры (03), коммуникационное устройство (02) и так далее.

Когда производитель реализует собственный протокол обмена, не укладывающийся в стандартные классы, он указывает значение FFh в полях класса, подкласса и протокола. Это полностью соответствует спецификации USB и встречается у самых разных устройств:

  • 📱 смартфоны и планшеты в режимах fastboot, EDL или диагностики;
  • 🔌 отладочные платы и программаторы на чипах FTDI, CH340, CP210x;
  • 🚗 автомобильные диагностические адаптеры OBD-II с USB-интерфейсом;
  • 📺 ТВ-приставки, тюнеры и специализированное промышленное оборудование.
💡

Class FF — это не ошибка, а штатный признак устройства с фирменным протоколом. Проблема возникает только тогда, когда под него не установлен драйвер.