Как Для записи данных на устройство HID USB?

Следующее решение основано на правилах udev публикации на форуме для символической ссылки

У вас есть / dev / sda3 , и вы хотите создать на него символическую ссылку, чтобы синтезировать запись для отсутствующего устройства с именем / dev / sda5 :

cd /dev && ln -s sda3 sda5

Это может быть управляется во время загрузки в udev с помощью простого правила, которое соответствует блочному устройству sda3 .

Создайте файл /etc/udev/rules.d/80-local или используйте файл с таким же именем и добавьте к нему следующие строки:

# symlink existing /dev/sda3 to new sda5
SUBSYSTEM=="block", KERNEL=="sda3" SYMLINK+="sda5"

Если вам интересно, я выбрал значения SUBSYSTEM и KERNEL как подходящие совпадения, просмотрев вывод udevadm info -a -n / dev / sda3 . (Я бы предпочел сопоставить UUID или другой уникальный идентификатор, но не смог его найти.)

Теперь скажите udev перезагрузить его правила и инициировать любые новые совпадения:

udevadm control --reload-rules
udevadm trigger --attr-match=subsystem=block

и вы будет автоматически создана символическая ссылка:

ls -l /dev/sda5
lrwxrwxrwx 1 root root    4 Jan  7 17:18 /dev/sda5 -> sda3

Я не смог протестировать этот следующий шаг, но в зависимости от того, где в процессе загрузки вам нужно создать эту символическую ссылку, вы можете решить, что необходимо обновить initramfs . В моей системе Debian это делается так:

update-initramfs -u

0
25.10.2018, 18:20
1 ответ

Для HID-устройств просмотрите dmesg, найдите соответствующее hidrawустройство, выполните запись или чтение с него (cat,hexdump).

В зависимости от класса HID вы также можете получать события на /dev/event....

Однако для HID-устройств я ожидаю

 bInterfaceClass         3 Human Interface Device

, возможно, вы неправильно запрограммировали устройство. Дескриптор HID (, доступный через debugfs ), также должен быть правильным.

Также взгляните на usbmon(, доступный через Wireshark ), и libusb, если вы не можете заставить HID работать.

1
28.01.2020, 04:11

Теги

Похожие вопросы