Ситуация такова: у меня есть USB-устройство (пользовательское устройство, с которым я пытаюсь общаться) с двумя конечными точками, одна записывает данные на устройство, одна читает с устройства. Оба являются массовыми переводами. Каждая коммуникационная транзакция имеет вид (1) Записать команду на устройство (2) Прочитать ответ. Я использую libusb (версия 0.1, а не бета-версия 1.0), чтобы фактически осуществлять связь.
В Windows все хорошо. Я могу подключить устройство, запросить интерфейс и общаться счастливо. Однако в Ubuntu (стандартная установка Hardy для настольных компьютеров), хотя я могу подключиться к устройству и выполнить запись на него, все операции чтения завершаются с ошибкой «ошибка отправки URB: неверный аргумент», сообщенной из libusb (код ошибки -22).
Если я проверяю / var / log / messages, я вижу предупреждающее сообщение, зарегистрированное в то же время, что и попытка чтения: это действительно на той шине и это конечная точка 81, с которой я пытаюсь читать).
Итак ... кто-нибудь видел подобную проблему при использовании libusb, или есть идеи, как ее исправить?