Частичный ответ:
HID-совместимое устройство должно иметь дескриптор HID, который описывает действительный формат (ы) данных на устройство и с него.
В Linux вы можете получить доступ к дескриптору HID следующим образом:
Посмотрите на новые строки в dmesg
которые появляются после подключения устройства. Это скажет вам, если ядро Linux также распознает его как устройство HID, и номер шины, а также идентификатор производителя и устройства.
Если он еще не установлен, выполните
mount -t debugfs none /sys/kernel/debug
как корень. Тогда /sys/kernel/debug/hid/<dev>/rdesc
будет содержать дескриптор HID, где <dev>
- идентификатор устройства, содержащий номер шины, идентификатор производителя и устройства и дополнительный номер.
Посмотрите на содержимое дескриптора с помощью cat '/sys/kernel/debug/hid/<dev>/rdesc'
и отредактируйте вопрос, включив в него содержимое (или поместите его в вставку и т.д., И отредактируйте вопрос с помощью ссылка на сайт).
lsusb
и lsusb -v -d xxxx:yyyy
(где xxxx:yyyy
- идентификатор производителя и устройства) также предоставят информацию, которая может помочь в определении способа связи с устройством.
редактировать
Это забавный способ использования HID USB: дескриптор HID говорит, что вы можете читать и записывать куски длиной 8 байт, с конкретной (нестандартной) целью приложения, и действительно, код драйвера blazer_usb в NUT точно это делает, имитируя последовательный USB через 8 байт. Абсолютно сумасшедший.
Вот описание, как заставить это работать под Ubuntu, по-видимому, есть несколько ошибок. Протокол связи для собственно последовательного интерфейса описан здесь.
Если вам все еще не удается заставить его работать под Linux, взгляните на usbmon
для отладки того, что не работает.
Понятия не имею, что делать для драйвера Windows, если вы не берете исходный код и не пишете его самостоятельно.