Разобрался! Дело в том, что я не знал как происходит энумерация устройства. Описанная мной проблема происходила по причине того, что Хост посылает reset после чтения первых 8 байт дескриптора устройства, а потом задавал адрес и т.п..
***
Сейчас, возникла еще одна проблема))) Я не могу отправить 2 дескриптора конечных точек... Если я посылаю дескриптор одной точки все работает отлично. Конфигурация такая:
CODE
{
sizeof(USB_DESCRIPTOR_INTERFACE),
DESCRIPTOR_INTERFACE,
0,
0,
2, // показываем, что используются две точки
0xff,
0,
0,
0
},
{
sizeof(USB_DESCRIPTOR_ENDPOINT),
DESCRIPTOR_ENDPOINT,
DESCRIPTOR_EP_ADDR_OUT | 1,
DESCRIPTOR_EP_ATTR_BULK,
64,
0,
},
{
sizeof(USB_DESCRIPTOR_ENDPOINT),
DESCRIPTOR_ENDPOINT,
DESCRIPTOR_EP_ADDR_IN | 2,
DESCRIPTOR_EP_ATTR_BULK,
64,
0,
},
В чем может быть проблема?