Как стать автором
Обновить

Комментарии 4

Первым делом напомню, что протокол HID (Human Interface Device) не предназначен для обмена большими массивами данных. Весь обмен строится на двух понятиях: событие и состояние. Событие это разовая посылка, возникающая в ответ на внешнее или внутреннее воздействие. <...> Состояние же это какая-то характеристика, которая не меняется просто так. Ну, скажем, температура. Или настройка уровня громкости. То есть что-то, посредством чего хост управляет поведением устройства. Необходимость в этом возникает редко, поэтому и взаимодействие самое примитивное — через ep0.

Интересно, какие проблемы могут возникнуть при попытке более или менее интенсивного обмена посредством HID? Ведь USB HID нынче применяется для всего подряд, в том числе для управления всевозможными процессами, например, большинство лабораторного и медицинского оборудования, подключаемого к хосту посредством USB, являются именно HID устройствами. Например, у меня пара автоматических биохимических анализаторов, являющихся HID устройствами, при том, что исходно они работали по RS-232 и при переходе на USB внутрь поставили кастомный COM-USB HID адаптер. Оборудование весьма глючное, производитель во избежание возникновения проблем не рекомендует подключать к хосту иные USB устройства, кроме мыши и клавиатуры.
Думаю, именно то, что ни ep0, ни interrupt точки не предназначены для интенсивного обмена. По стандарту хост не будет выделять им слишком большую полосу. Через fearure (которыми обычно реализуется custom hid) еще не получится передавать пакеты переменной длины или поток. Только заранее предопределенные.
Впрочем, у USB_HID для медицинского применения есть специальная страница Medical Instrument Page (0x40). Но где найти софт, умеющий с этим работать без понятия.
А так, я тоже когда-то делал переходник с хитрого RS232 (научный вольтметр) на тоже custom-hid. Но там скорость обмена не требовалась.
Опечатка в команде просмотра дескриптора:
cat /sys/kernel/debug/hid//rdesc
Спасибо, исправил. Но об опечатках принято писать в личку, а не в комментариях. Здесь это создает визуальный шум и не несет пользы.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.