2016-03-01 4 views
2

У меня есть устройство HID с полной скоростью USB с запрошенным интервалом опроса, равным 1, и когда я использую его с Kernels 3.x, 4.x Я получаю только прерывание IN, передает каждый другой кадр (каждые 2 мс). В то же время, OUT-передачи происходят каждый кадр (каждые 1 мс), как было разработано. Точное же устройство с точно таким же программным обеспечением работает как ожидалось (IN передает каждые 1 мс) на Kernel 2.6 на очень медленном (500 МГц Atom) компьютере.Интервал опроса устройства USB HID на Linux

Что-нибудь я могу сделать по этому поводу?

ответ

1

Похоже, это из-за ошибки в драйверах Linux для UHCI и некоторых контроллеров OHCI. Драйвер не обрабатывает TD, заполненные контроллером достаточно быстро, поэтому контроллер должен пропустить слот SOH. В результате передача прерываний поступает только во второй слот.

Если я вставляю карту USB 3.0 в тот же Linux, все в порядке, потому что вместо этого используется драйвер XHCI. Если я запускаю Windows на одном компьютере, все в порядке, потому что в Windows нет ошибки.

 Смежные вопросы

  • Нет связанных вопросов^_^