Собрал схему ATMega16+PDIUSBD12D (просьба не иронизировать, просто микросхемы уже все были).
На контроллере пока только пара светодиодов, в конечном варианте будет LCD, 2-й контроллер на USART и пр.
С обычными дескрипторами (если надо, выложу), самописным драйвером и софтиной шарманка работает.
Но хочу сделать HID, чтобы не париться с драйверами под кучу разный виндов

Выдрал дескрипторы из того ObDev, подправил размер конечных точек - см. вложение.
Устройство опознаётся как HID, пишет его имя, светодиодик GoodLink (на PDIUSBD) несколько раз мигает, но потом в диспетчере устройств появляется воскл. знак - "Запуск этого устройства невозможен. (Код 10)".
Диагностическая прога USBLyzer (скрин) пишет, что размер конечной точки д. б. 8 байт для low speed устройств.
Но PDIUSBD12D FullSpeed, резюк у неё на D+, а размер конечной точки 16 байт.
Я пытался туда написать 8 - девайс вообще не опознаётся, даже дескриптор устройства не считывается.
Смотрел также сниффером USBSnoop (лог прилагаю) - видна ошибка:
DescriptorType = 00000022 (<illegal descriptor type!>)
Но не могу понять, откуда лезет этот дескриптор типом 22h

Помогите пожалуйста понять, в чём я ошибся.
Спасибо.