Добился нормальной работы HID устройства с одним репортом. Все нормально читается.
Добавил вторую конечную точку interrupt out. Все нормально.
Добавляю второй дескриптор репорта. Полная копия первого, только направление out. Присваиваю индивидуальные номера.
Все. Работать перестает. Т.е. сразу после енумерации хост шлет Clear_Future и отключает первую конечную точку. В оборудовании появляется два HID устройства (по-идее так и должно быть). При этом не одно из них не отвечает на запросы типа HidD_Get*String и тому подобные.
Убираю второй дескриптор репорта - тоже не работает.
Убираю из первого дескриптора report_id - все опять начинает работать.
Где грабли?