Инструмент Linux для отправки сообщения SET_CONFIGURATION на устройство, подключенное к шине USB - PullRequest
0 голосов
/ 06 сентября 2018

Я разработал драйвер ядра для устройства USB. Такое устройство имеет несколько контактов, которые могут обеспечивать функциональность как последовательного порта CDC ACM, так и кнопок ввода. Поэтому для реализации этого мне пришлось использовать два разных дескриптора конфигурации USB.

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

Я прочитал о сообщении SET_CONFIGURATION в документации по USB, но не нашел ни одного инструмента Linux для отправки такого рода стандартных сообщений USB из пользовательского пространства на шину USB.

Знает ли кто-нибудь из вас (с большим опытом работы в этой теме) какой-либо инструмент Linux для пользовательского пространства для отправки сообщения SET_CONFIGURATION на устройство, подключенное к шине USB?

Заранее спасибо! :)

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

Этот репозиторий github решает мою проблему:

https://github.com/avtolstoy/usbtool
0 голосов
/ 06 сентября 2018

Функция libusb_set_configuration() в LibUSB теоретически может сделать это, но в этом нет необходимости.

Можно просто поместить HID (для кнопки) и CDC (последовательный порт) в конфигурацию one , используя «дескриптор ассоциации интерфейса» ( IAD ).

...