Запись вида hid device up 0001 u 0002 появляется в системных журналах и отчётах об ошибках, когда операционная система обрабатывает событие HID-устройства, но не может корректно сопоставить его с драйвером или приложением. Чаще всего она встречается в выводе dmesg, журналах Windows или логах отладки при подключении клавиатур, мышей, геймпадов и нестандартных контроллеров. Сама по себе строка — не код ошибки, а служебная запись, однако её появление на фоне неработающего устройства указывает на проблему сопоставления Usage Page и Usage ID.

В этой статье разберём, что означают числа в записи, как устроен стек HID, почему устройство «видно» системе, но не работает, и какие проверки можно безопасно выполнить на Linux и Windows. Отдельно рассмотрим ситуации с самодельными устройствами на микроконтроллерах — там подобная запись появляется особенно часто из-за ошибок в дескрипторах.

Что означают поля up 0001 u 0002

HID (Human Interface Device) описывает функциональность устройства через иерархию «страниц использования» и конкретных «использований». В записи up 0001 u 0002 фрагмент up расшифровывается как Usage Page, а u — как Usage. Числа заданы в шестнадцатеричном виде.

Страница 0x0001 в спецификации USB HID — это Generic Desktop Controls, то есть стандартные указательные устройства: мыши, клавиатуры, джойстики. Usage 0x0002 на этой странице соответствует классическому указателю — Mouse. Таким образом, запись чаще всего означает: система обнаружила HID-устройство, которое заявляет себя как мышь или указатель общего назначения.

Похожие пары, которые можно встретить рядом в логах:

  • 🖱️ up 0001 u 0002 — мышь или указатель (Generic Desktop / Mouse);
  • ⌨️ up 0001 u 0006 — клавиатура (Generic Desktop / Keyboard);
  • 🎮 up 0001 u 0004 или u 0005 — джойстик или геймпад;
  • 🔧 up FFxx u xxxx — vendor-defined страница, устройство с фирменным протоколом.
💡

Запись up 0001 u 0002 — это не ошибка, а идентификатор: система распознала HID-устройство как указатель (мышь) на странице Generic Desktop. Проблема начинается, когда устройство идентифицировано, но ввод с него не доходит до приложений.