Софт собственный, не из примеров.
После подключения происходит следующее:
Получаю SETUP Request GetDescriptor(Device)
Отсылаю DeviceDescriptor
Получаю SETUP Request SetAddress
Устанавливаю, подтверждаю.
Получаю SETUP Request GetDescriptor(Device)
Отсылаю DeviceDescriptor
Получаю SETUP Request GetDescriptor(DeviceQualifier)
Отсылаю STALL, потому как устройство FullSpeed USB 2.0
Получаю SETUP Request GetDescriptor(Configuration)
Отсылаю ConfigurationDescriptor. Описывает два интерфейса - ACM и Data, с тремя конечными точками в соответствии со спецификацией CDC.
Затем серия запросов на StringDescriptor.
Отсылаю запрошенное.
Получаю SETUP Request SET_LINE_CODING с параметрами (скорость, стопбиты, четность ...).
Подверждаю.
Получаю SETUP Request SET_CONTROL_LINE_STATE.
Подверждаю.
И получаю недокументированный запрос (байты пакета):
Код
0x80 0x25 0x00 0x00 0x00 0x00 0x08 0x00
Запрос с кодом 0x25 не описан в USB спецификации, а в спецификации Communication Device Class в Table 46 сказано:
Цитата
RESERVED (future use) 24h-2Fh
Пробовал отсылать в ответ и пустой пакет и STALL, результат одинаковый.
Хост как с Linux так и с Windows молчит по этому поводу (т.е. не сообщает об ошибке).
Появляется последовательный порт, но открыть его не удается: Input/Output Error в обоих ОС.
На конечные точки (кроме нулевой) никаких пакетов не приходит.
Что я пропустил?
Где искать описание на этот запрос?
Что с этим запросом делать?